/src/keystone/llvm/lib/Target/X86/X86GenRegisterInfo.inc
Line | Count | Source |
1 | | /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ |
2 | | |* *| |
3 | | |* Target Register Enum Values *| |
4 | | |* *| |
5 | | |* Automatically generated file, do not edit! *| |
6 | | |* *| |
7 | | \*===----------------------------------------------------------------------===*/ |
8 | | |
9 | | |
10 | | #ifdef GET_REGINFO_ENUM |
11 | | #undef GET_REGINFO_ENUM |
12 | | namespace llvm_ks { |
13 | | |
14 | | class MCRegisterClass; |
15 | | extern const MCRegisterClass X86MCRegisterClasses[]; |
16 | | |
17 | | namespace X86 { |
18 | | enum { |
19 | | NoRegister, |
20 | | AH = 1, |
21 | | AL = 2, |
22 | | AX = 3, |
23 | | BH = 4, |
24 | | BL = 5, |
25 | | BP = 6, |
26 | | BPL = 7, |
27 | | BX = 8, |
28 | | CH = 9, |
29 | | CL = 10, |
30 | | CS = 11, |
31 | | CX = 12, |
32 | | DH = 13, |
33 | | DI = 14, |
34 | | DIL = 15, |
35 | | DL = 16, |
36 | | DS = 17, |
37 | | DX = 18, |
38 | | EAX = 19, |
39 | | EBP = 20, |
40 | | EBX = 21, |
41 | | ECX = 22, |
42 | | EDI = 23, |
43 | | EDX = 24, |
44 | | EFLAGS = 25, |
45 | | EIP = 26, |
46 | | EIZ = 27, |
47 | | ES = 28, |
48 | | ESI = 29, |
49 | | ESP = 30, |
50 | | FPSW = 31, |
51 | | FS = 32, |
52 | | GS = 33, |
53 | | IP = 34, |
54 | | RAX = 35, |
55 | | RBP = 36, |
56 | | RBX = 37, |
57 | | RCX = 38, |
58 | | RDI = 39, |
59 | | RDX = 40, |
60 | | RIP = 41, |
61 | | RIZ = 42, |
62 | | RSI = 43, |
63 | | RSP = 44, |
64 | | SI = 45, |
65 | | SIL = 46, |
66 | | SP = 47, |
67 | | SPL = 48, |
68 | | SS = 49, |
69 | | BND0 = 50, |
70 | | BND1 = 51, |
71 | | BND2 = 52, |
72 | | BND3 = 53, |
73 | | CR0 = 54, |
74 | | CR1 = 55, |
75 | | CR2 = 56, |
76 | | CR3 = 57, |
77 | | CR4 = 58, |
78 | | CR5 = 59, |
79 | | CR6 = 60, |
80 | | CR7 = 61, |
81 | | CR8 = 62, |
82 | | CR9 = 63, |
83 | | CR10 = 64, |
84 | | CR11 = 65, |
85 | | CR12 = 66, |
86 | | CR13 = 67, |
87 | | CR14 = 68, |
88 | | CR15 = 69, |
89 | | DR0 = 70, |
90 | | DR1 = 71, |
91 | | DR2 = 72, |
92 | | DR3 = 73, |
93 | | DR4 = 74, |
94 | | DR5 = 75, |
95 | | DR6 = 76, |
96 | | DR7 = 77, |
97 | | DR8 = 78, |
98 | | DR9 = 79, |
99 | | DR10 = 80, |
100 | | DR11 = 81, |
101 | | DR12 = 82, |
102 | | DR13 = 83, |
103 | | DR14 = 84, |
104 | | DR15 = 85, |
105 | | FP0 = 86, |
106 | | FP1 = 87, |
107 | | FP2 = 88, |
108 | | FP3 = 89, |
109 | | FP4 = 90, |
110 | | FP5 = 91, |
111 | | FP6 = 92, |
112 | | FP7 = 93, |
113 | | K0 = 94, |
114 | | K1 = 95, |
115 | | K2 = 96, |
116 | | K3 = 97, |
117 | | K4 = 98, |
118 | | K5 = 99, |
119 | | K6 = 100, |
120 | | K7 = 101, |
121 | | MM0 = 102, |
122 | | MM1 = 103, |
123 | | MM2 = 104, |
124 | | MM3 = 105, |
125 | | MM4 = 106, |
126 | | MM5 = 107, |
127 | | MM6 = 108, |
128 | | MM7 = 109, |
129 | | R8 = 110, |
130 | | R9 = 111, |
131 | | R10 = 112, |
132 | | R11 = 113, |
133 | | R12 = 114, |
134 | | R13 = 115, |
135 | | R14 = 116, |
136 | | R15 = 117, |
137 | | ST0 = 118, |
138 | | ST1 = 119, |
139 | | ST2 = 120, |
140 | | ST3 = 121, |
141 | | ST4 = 122, |
142 | | ST5 = 123, |
143 | | ST6 = 124, |
144 | | ST7 = 125, |
145 | | XMM0 = 126, |
146 | | XMM1 = 127, |
147 | | XMM2 = 128, |
148 | | XMM3 = 129, |
149 | | XMM4 = 130, |
150 | | XMM5 = 131, |
151 | | XMM6 = 132, |
152 | | XMM7 = 133, |
153 | | XMM8 = 134, |
154 | | XMM9 = 135, |
155 | | XMM10 = 136, |
156 | | XMM11 = 137, |
157 | | XMM12 = 138, |
158 | | XMM13 = 139, |
159 | | XMM14 = 140, |
160 | | XMM15 = 141, |
161 | | XMM16 = 142, |
162 | | XMM17 = 143, |
163 | | XMM18 = 144, |
164 | | XMM19 = 145, |
165 | | XMM20 = 146, |
166 | | XMM21 = 147, |
167 | | XMM22 = 148, |
168 | | XMM23 = 149, |
169 | | XMM24 = 150, |
170 | | XMM25 = 151, |
171 | | XMM26 = 152, |
172 | | XMM27 = 153, |
173 | | XMM28 = 154, |
174 | | XMM29 = 155, |
175 | | XMM30 = 156, |
176 | | XMM31 = 157, |
177 | | YMM0 = 158, |
178 | | YMM1 = 159, |
179 | | YMM2 = 160, |
180 | | YMM3 = 161, |
181 | | YMM4 = 162, |
182 | | YMM5 = 163, |
183 | | YMM6 = 164, |
184 | | YMM7 = 165, |
185 | | YMM8 = 166, |
186 | | YMM9 = 167, |
187 | | YMM10 = 168, |
188 | | YMM11 = 169, |
189 | | YMM12 = 170, |
190 | | YMM13 = 171, |
191 | | YMM14 = 172, |
192 | | YMM15 = 173, |
193 | | YMM16 = 174, |
194 | | YMM17 = 175, |
195 | | YMM18 = 176, |
196 | | YMM19 = 177, |
197 | | YMM20 = 178, |
198 | | YMM21 = 179, |
199 | | YMM22 = 180, |
200 | | YMM23 = 181, |
201 | | YMM24 = 182, |
202 | | YMM25 = 183, |
203 | | YMM26 = 184, |
204 | | YMM27 = 185, |
205 | | YMM28 = 186, |
206 | | YMM29 = 187, |
207 | | YMM30 = 188, |
208 | | YMM31 = 189, |
209 | | ZMM0 = 190, |
210 | | ZMM1 = 191, |
211 | | ZMM2 = 192, |
212 | | ZMM3 = 193, |
213 | | ZMM4 = 194, |
214 | | ZMM5 = 195, |
215 | | ZMM6 = 196, |
216 | | ZMM7 = 197, |
217 | | ZMM8 = 198, |
218 | | ZMM9 = 199, |
219 | | ZMM10 = 200, |
220 | | ZMM11 = 201, |
221 | | ZMM12 = 202, |
222 | | ZMM13 = 203, |
223 | | ZMM14 = 204, |
224 | | ZMM15 = 205, |
225 | | ZMM16 = 206, |
226 | | ZMM17 = 207, |
227 | | ZMM18 = 208, |
228 | | ZMM19 = 209, |
229 | | ZMM20 = 210, |
230 | | ZMM21 = 211, |
231 | | ZMM22 = 212, |
232 | | ZMM23 = 213, |
233 | | ZMM24 = 214, |
234 | | ZMM25 = 215, |
235 | | ZMM26 = 216, |
236 | | ZMM27 = 217, |
237 | | ZMM28 = 218, |
238 | | ZMM29 = 219, |
239 | | ZMM30 = 220, |
240 | | ZMM31 = 221, |
241 | | R8B = 222, |
242 | | R9B = 223, |
243 | | R10B = 224, |
244 | | R11B = 225, |
245 | | R12B = 226, |
246 | | R13B = 227, |
247 | | R14B = 228, |
248 | | R15B = 229, |
249 | | R8D = 230, |
250 | | R9D = 231, |
251 | | R10D = 232, |
252 | | R11D = 233, |
253 | | R12D = 234, |
254 | | R13D = 235, |
255 | | R14D = 236, |
256 | | R15D = 237, |
257 | | R8W = 238, |
258 | | R9W = 239, |
259 | | R10W = 240, |
260 | | R11W = 241, |
261 | | R12W = 242, |
262 | | R13W = 243, |
263 | | R14W = 244, |
264 | | R15W = 245, |
265 | | NUM_TARGET_REGS // 246 |
266 | | }; |
267 | | } |
268 | | |
269 | | // Register classes |
270 | | namespace X86 { |
271 | | enum { |
272 | | GR8RegClassID = 0, |
273 | | GR8_NOREXRegClassID = 1, |
274 | | VK1RegClassID = 2, |
275 | | VK2RegClassID = 3, |
276 | | VK4RegClassID = 4, |
277 | | VK8RegClassID = 5, |
278 | | VK1WMRegClassID = 6, |
279 | | VK2WMRegClassID = 7, |
280 | | VK4WMRegClassID = 8, |
281 | | VK8WMRegClassID = 9, |
282 | | GR8_ABCD_HRegClassID = 10, |
283 | | GR8_ABCD_LRegClassID = 11, |
284 | | GR16RegClassID = 12, |
285 | | GR16_NOREXRegClassID = 13, |
286 | | VK16RegClassID = 14, |
287 | | VK16WMRegClassID = 15, |
288 | | SEGMENT_REGRegClassID = 16, |
289 | | GR16_ABCDRegClassID = 17, |
290 | | FPCCRRegClassID = 18, |
291 | | FR32XRegClassID = 19, |
292 | | FR32RegClassID = 20, |
293 | | GR32RegClassID = 21, |
294 | | GR32_NOAXRegClassID = 22, |
295 | | GR32_NOSPRegClassID = 23, |
296 | | GR32_NOAX_and_GR32_NOSPRegClassID = 24, |
297 | | DEBUG_REGRegClassID = 25, |
298 | | GR32_NOREXRegClassID = 26, |
299 | | VK32RegClassID = 27, |
300 | | GR32_NOAX_and_GR32_NOREXRegClassID = 28, |
301 | | GR32_NOREX_NOSPRegClassID = 29, |
302 | | RFP32RegClassID = 30, |
303 | | VK32WMRegClassID = 31, |
304 | | GR32_NOAX_and_GR32_NOREX_NOSPRegClassID = 32, |
305 | | GR32_ABCDRegClassID = 33, |
306 | | GR32_ABCD_and_GR32_NOAXRegClassID = 34, |
307 | | GR32_TCRegClassID = 35, |
308 | | GR32_ADRegClassID = 36, |
309 | | GR32_NOAX_and_GR32_TCRegClassID = 37, |
310 | | CCRRegClassID = 38, |
311 | | GR32_AD_and_GR32_NOAXRegClassID = 39, |
312 | | RFP64RegClassID = 40, |
313 | | FR64XRegClassID = 41, |
314 | | GR64RegClassID = 42, |
315 | | CONTROL_REGRegClassID = 43, |
316 | | FR64RegClassID = 44, |
317 | | GR64_with_sub_8bitRegClassID = 45, |
318 | | GR64_NOSPRegClassID = 46, |
319 | | GR64_with_sub_32bit_in_GR32_NOAXRegClassID = 47, |
320 | | GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOSPRegClassID = 48, |
321 | | GR64_NOREXRegClassID = 49, |
322 | | GR64_TCRegClassID = 50, |
323 | | GR64_NOSP_and_GR64_TCRegClassID = 51, |
324 | | GR64_TCW64RegClassID = 52, |
325 | | GR64_with_sub_16bit_in_GR16_NOREXRegClassID = 53, |
326 | | VK64RegClassID = 54, |
327 | | VR64RegClassID = 55, |
328 | | GR64_NOREX_NOSPRegClassID = 56, |
329 | | GR64_NOSP_and_GR64_TCW64RegClassID = 57, |
330 | | GR64_TC_and_GR64_TCW64RegClassID = 58, |
331 | | GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAXRegClassID = 59, |
332 | | GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREXRegClassID = 60, |
333 | | VK64WMRegClassID = 61, |
334 | | GR64_NOREX_and_GR64_TCRegClassID = 62, |
335 | | GR64_TCW64_and_GR64_with_sub_32bit_in_GR32_NOAXRegClassID = 63, |
336 | | GR64_TC_and_GR64_NOSP_and_GR64_TCW64RegClassID = 64, |
337 | | GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX_NOSPRegClassID = 65, |
338 | | GR64_NOREX_NOSP_and_GR64_TCRegClassID = 66, |
339 | | GR64_TCW64_and_GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAXRegClassID = 67, |
340 | | GR64_ABCDRegClassID = 68, |
341 | | GR64_NOREX_and_GR64_TCW64RegClassID = 69, |
342 | | GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREXRegClassID = 70, |
343 | | GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_NOAXRegClassID = 71, |
344 | | GR64_with_sub_32bit_in_GR32_TCRegClassID = 72, |
345 | | GR64_with_sub_32bit_in_GR32_ADRegClassID = 73, |
346 | | GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_TCRegClassID = 74, |
347 | | GR64_with_sub_32bit_in_GR32_AD_and_GR32_NOAXRegClassID = 75, |
348 | | RSTRegClassID = 76, |
349 | | RFP80RegClassID = 77, |
350 | | VR128XRegClassID = 78, |
351 | | FR128RegClassID = 79, |
352 | | VR128RegClassID = 80, |
353 | | BNDRRegClassID = 81, |
354 | | VR256XRegClassID = 82, |
355 | | VR256RegClassID = 83, |
356 | | VR512RegClassID = 84, |
357 | | VR512_with_sub_xmm_in_FR128RegClassID = 85, |
358 | | |
359 | | }; |
360 | | } |
361 | | |
362 | | } // End llvm namespace |
363 | | #endif // GET_REGINFO_ENUM |
364 | | |
365 | | /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ |
366 | | |* *| |
367 | | |* MC Register Information *| |
368 | | |* *| |
369 | | |* Automatically generated file, do not edit! *| |
370 | | |* *| |
371 | | \*===----------------------------------------------------------------------===*/ |
372 | | |
373 | | |
374 | | #ifdef GET_REGINFO_MC_DESC |
375 | | #undef GET_REGINFO_MC_DESC |
376 | | namespace llvm_ks { |
377 | | |
378 | | extern const MCPhysReg X86RegDiffLists[] = { |
379 | | /* 0 */ 0, 1, 0, |
380 | | /* 3 */ 2, 1, 0, |
381 | | /* 6 */ 5, 1, 0, |
382 | | /* 9 */ 65522, 16, 1, 0, |
383 | | /* 13 */ 65522, 17, 1, 0, |
384 | | /* 17 */ 65427, 1, 0, |
385 | | /* 20 */ 65475, 1, 0, |
386 | | /* 23 */ 65520, 65522, 1, 0, |
387 | | /* 27 */ 65520, 65527, 1, 0, |
388 | | /* 31 */ 8, 2, 0, |
389 | | /* 34 */ 4, 0, |
390 | | /* 36 */ 65521, 8, 0, |
391 | | /* 39 */ 9, 0, |
392 | | /* 41 */ 13, 0, |
393 | | /* 43 */ 65535, 65519, 14, 0, |
394 | | /* 47 */ 65535, 65520, 14, 0, |
395 | | /* 51 */ 65528, 15, 0, |
396 | | /* 54 */ 2, 6, 16, 0, |
397 | | /* 58 */ 5, 6, 16, 0, |
398 | | /* 62 */ 65535, 9, 16, 0, |
399 | | /* 66 */ 2, 10, 16, 0, |
400 | | /* 70 */ 3, 10, 16, 0, |
401 | | /* 74 */ 3, 13, 16, 0, |
402 | | /* 78 */ 4, 13, 16, 0, |
403 | | /* 82 */ 65535, 14, 16, 0, |
404 | | /* 86 */ 1, 16, 16, 0, |
405 | | /* 90 */ 2, 16, 16, 0, |
406 | | /* 94 */ 17, 0, |
407 | | /* 96 */ 32, 32, 0, |
408 | | /* 99 */ 65221, 0, |
409 | | /* 101 */ 65381, 0, |
410 | | /* 103 */ 65389, 0, |
411 | | /* 105 */ 65397, 0, |
412 | | /* 107 */ 16, 65528, 65416, 0, |
413 | | /* 111 */ 65445, 0, |
414 | | /* 113 */ 65477, 0, |
415 | | /* 115 */ 65504, 65504, 0, |
416 | | /* 118 */ 65509, 0, |
417 | | /* 120 */ 120, 8, 65520, 0, |
418 | | /* 124 */ 65523, 0, |
419 | | /* 126 */ 65530, 0, |
420 | | /* 128 */ 65531, 0, |
421 | | /* 130 */ 65532, 0, |
422 | | /* 132 */ 65520, 65530, 65534, 65533, 0, |
423 | | /* 137 */ 65534, 0, |
424 | | /* 139 */ 65520, 65523, 65533, 65535, 0, |
425 | | /* 144 */ 65520, 65526, 65534, 65535, 0, |
426 | | /* 149 */ 65520, 65520, 65535, 65535, 0, |
427 | | }; |
428 | | |
429 | | extern const unsigned X86LaneMaskLists[] = { |
430 | | /* 0 */ 0x00000000, ~0u, |
431 | | /* 2 */ 0x00000002, 0x00000001, ~0u, |
432 | | /* 5 */ 0x00000003, ~0u, |
433 | | /* 7 */ 0x00000004, ~0u, |
434 | | }; |
435 | | |
436 | | extern const uint16_t X86SubRegIdxLists[] = { |
437 | | /* 0 */ 4, 3, 1, 0, |
438 | | /* 4 */ 4, 3, 1, 2, 0, |
439 | | /* 9 */ 4, 3, 0, |
440 | | /* 12 */ 6, 5, 0, |
441 | | }; |
442 | | |
443 | | extern const MCRegisterInfo::SubRegCoveredBits X86SubRegIdxRanges[] = { |
444 | | { 65535, 65535 }, |
445 | | { 0, 8 }, // sub_8bit |
446 | | { 8, 8 }, // sub_8bit_hi |
447 | | { 0, 16 }, // sub_16bit |
448 | | { 0, 32 }, // sub_32bit |
449 | | { 0, 128 }, // sub_xmm |
450 | | { 0, 256 }, // sub_ymm |
451 | | }; |
452 | | |
453 | | extern const char X86RegStrings[] = { |
454 | | /* 0 */ 'X', 'M', 'M', '1', '0', 0, |
455 | | /* 6 */ 'Y', 'M', 'M', '1', '0', 0, |
456 | | /* 12 */ 'Z', 'M', 'M', '1', '0', 0, |
457 | | /* 18 */ 'C', 'R', '1', '0', 0, |
458 | | /* 23 */ 'D', 'R', '1', '0', 0, |
459 | | /* 28 */ 'X', 'M', 'M', '2', '0', 0, |
460 | | /* 34 */ 'Y', 'M', 'M', '2', '0', 0, |
461 | | /* 40 */ 'Z', 'M', 'M', '2', '0', 0, |
462 | | /* 46 */ 'X', 'M', 'M', '3', '0', 0, |
463 | | /* 52 */ 'Y', 'M', 'M', '3', '0', 0, |
464 | | /* 58 */ 'Z', 'M', 'M', '3', '0', 0, |
465 | | /* 64 */ 'B', 'N', 'D', '0', 0, |
466 | | /* 69 */ 'K', '0', 0, |
467 | | /* 72 */ 'X', 'M', 'M', '0', 0, |
468 | | /* 77 */ 'Y', 'M', 'M', '0', 0, |
469 | | /* 82 */ 'Z', 'M', 'M', '0', 0, |
470 | | /* 87 */ 'F', 'P', '0', 0, |
471 | | /* 91 */ 'C', 'R', '0', 0, |
472 | | /* 95 */ 'D', 'R', '0', 0, |
473 | | /* 99 */ 'S', 'T', '0', 0, |
474 | | /* 103 */ 'X', 'M', 'M', '1', '1', 0, |
475 | | /* 109 */ 'Y', 'M', 'M', '1', '1', 0, |
476 | | /* 115 */ 'Z', 'M', 'M', '1', '1', 0, |
477 | | /* 121 */ 'C', 'R', '1', '1', 0, |
478 | | /* 126 */ 'D', 'R', '1', '1', 0, |
479 | | /* 131 */ 'X', 'M', 'M', '2', '1', 0, |
480 | | /* 137 */ 'Y', 'M', 'M', '2', '1', 0, |
481 | | /* 143 */ 'Z', 'M', 'M', '2', '1', 0, |
482 | | /* 149 */ 'X', 'M', 'M', '3', '1', 0, |
483 | | /* 155 */ 'Y', 'M', 'M', '3', '1', 0, |
484 | | /* 161 */ 'Z', 'M', 'M', '3', '1', 0, |
485 | | /* 167 */ 'B', 'N', 'D', '1', 0, |
486 | | /* 172 */ 'K', '1', 0, |
487 | | /* 175 */ 'X', 'M', 'M', '1', 0, |
488 | | /* 180 */ 'Y', 'M', 'M', '1', 0, |
489 | | /* 185 */ 'Z', 'M', 'M', '1', 0, |
490 | | /* 190 */ 'F', 'P', '1', 0, |
491 | | /* 194 */ 'C', 'R', '1', 0, |
492 | | /* 198 */ 'D', 'R', '1', 0, |
493 | | /* 202 */ 'S', 'T', '1', 0, |
494 | | /* 206 */ 'X', 'M', 'M', '1', '2', 0, |
495 | | /* 212 */ 'Y', 'M', 'M', '1', '2', 0, |
496 | | /* 218 */ 'Z', 'M', 'M', '1', '2', 0, |
497 | | /* 224 */ 'C', 'R', '1', '2', 0, |
498 | | /* 229 */ 'D', 'R', '1', '2', 0, |
499 | | /* 234 */ 'X', 'M', 'M', '2', '2', 0, |
500 | | /* 240 */ 'Y', 'M', 'M', '2', '2', 0, |
501 | | /* 246 */ 'Z', 'M', 'M', '2', '2', 0, |
502 | | /* 252 */ 'B', 'N', 'D', '2', 0, |
503 | | /* 257 */ 'K', '2', 0, |
504 | | /* 260 */ 'X', 'M', 'M', '2', 0, |
505 | | /* 265 */ 'Y', 'M', 'M', '2', 0, |
506 | | /* 270 */ 'Z', 'M', 'M', '2', 0, |
507 | | /* 275 */ 'F', 'P', '2', 0, |
508 | | /* 279 */ 'C', 'R', '2', 0, |
509 | | /* 283 */ 'D', 'R', '2', 0, |
510 | | /* 287 */ 'S', 'T', '2', 0, |
511 | | /* 291 */ 'X', 'M', 'M', '1', '3', 0, |
512 | | /* 297 */ 'Y', 'M', 'M', '1', '3', 0, |
513 | | /* 303 */ 'Z', 'M', 'M', '1', '3', 0, |
514 | | /* 309 */ 'C', 'R', '1', '3', 0, |
515 | | /* 314 */ 'D', 'R', '1', '3', 0, |
516 | | /* 319 */ 'X', 'M', 'M', '2', '3', 0, |
517 | | /* 325 */ 'Y', 'M', 'M', '2', '3', 0, |
518 | | /* 331 */ 'Z', 'M', 'M', '2', '3', 0, |
519 | | /* 337 */ 'B', 'N', 'D', '3', 0, |
520 | | /* 342 */ 'K', '3', 0, |
521 | | /* 345 */ 'X', 'M', 'M', '3', 0, |
522 | | /* 350 */ 'Y', 'M', 'M', '3', 0, |
523 | | /* 355 */ 'Z', 'M', 'M', '3', 0, |
524 | | /* 360 */ 'F', 'P', '3', 0, |
525 | | /* 364 */ 'C', 'R', '3', 0, |
526 | | /* 368 */ 'D', 'R', '3', 0, |
527 | | /* 372 */ 'S', 'T', '3', 0, |
528 | | /* 376 */ 'X', 'M', 'M', '1', '4', 0, |
529 | | /* 382 */ 'Y', 'M', 'M', '1', '4', 0, |
530 | | /* 388 */ 'Z', 'M', 'M', '1', '4', 0, |
531 | | /* 394 */ 'C', 'R', '1', '4', 0, |
532 | | /* 399 */ 'D', 'R', '1', '4', 0, |
533 | | /* 404 */ 'X', 'M', 'M', '2', '4', 0, |
534 | | /* 410 */ 'Y', 'M', 'M', '2', '4', 0, |
535 | | /* 416 */ 'Z', 'M', 'M', '2', '4', 0, |
536 | | /* 422 */ 'K', '4', 0, |
537 | | /* 425 */ 'X', 'M', 'M', '4', 0, |
538 | | /* 430 */ 'Y', 'M', 'M', '4', 0, |
539 | | /* 435 */ 'Z', 'M', 'M', '4', 0, |
540 | | /* 440 */ 'F', 'P', '4', 0, |
541 | | /* 444 */ 'C', 'R', '4', 0, |
542 | | /* 448 */ 'D', 'R', '4', 0, |
543 | | /* 452 */ 'S', 'T', '4', 0, |
544 | | /* 456 */ 'X', 'M', 'M', '1', '5', 0, |
545 | | /* 462 */ 'Y', 'M', 'M', '1', '5', 0, |
546 | | /* 468 */ 'Z', 'M', 'M', '1', '5', 0, |
547 | | /* 474 */ 'C', 'R', '1', '5', 0, |
548 | | /* 479 */ 'D', 'R', '1', '5', 0, |
549 | | /* 484 */ 'X', 'M', 'M', '2', '5', 0, |
550 | | /* 490 */ 'Y', 'M', 'M', '2', '5', 0, |
551 | | /* 496 */ 'Z', 'M', 'M', '2', '5', 0, |
552 | | /* 502 */ 'K', '5', 0, |
553 | | /* 505 */ 'X', 'M', 'M', '5', 0, |
554 | | /* 510 */ 'Y', 'M', 'M', '5', 0, |
555 | | /* 515 */ 'Z', 'M', 'M', '5', 0, |
556 | | /* 520 */ 'F', 'P', '5', 0, |
557 | | /* 524 */ 'C', 'R', '5', 0, |
558 | | /* 528 */ 'D', 'R', '5', 0, |
559 | | /* 532 */ 'S', 'T', '5', 0, |
560 | | /* 536 */ 'X', 'M', 'M', '1', '6', 0, |
561 | | /* 542 */ 'Y', 'M', 'M', '1', '6', 0, |
562 | | /* 548 */ 'Z', 'M', 'M', '1', '6', 0, |
563 | | /* 554 */ 'X', 'M', 'M', '2', '6', 0, |
564 | | /* 560 */ 'Y', 'M', 'M', '2', '6', 0, |
565 | | /* 566 */ 'Z', 'M', 'M', '2', '6', 0, |
566 | | /* 572 */ 'K', '6', 0, |
567 | | /* 575 */ 'X', 'M', 'M', '6', 0, |
568 | | /* 580 */ 'Y', 'M', 'M', '6', 0, |
569 | | /* 585 */ 'Z', 'M', 'M', '6', 0, |
570 | | /* 590 */ 'F', 'P', '6', 0, |
571 | | /* 594 */ 'C', 'R', '6', 0, |
572 | | /* 598 */ 'D', 'R', '6', 0, |
573 | | /* 602 */ 'S', 'T', '6', 0, |
574 | | /* 606 */ 'X', 'M', 'M', '1', '7', 0, |
575 | | /* 612 */ 'Y', 'M', 'M', '1', '7', 0, |
576 | | /* 618 */ 'Z', 'M', 'M', '1', '7', 0, |
577 | | /* 624 */ 'X', 'M', 'M', '2', '7', 0, |
578 | | /* 630 */ 'Y', 'M', 'M', '2', '7', 0, |
579 | | /* 636 */ 'Z', 'M', 'M', '2', '7', 0, |
580 | | /* 642 */ 'K', '7', 0, |
581 | | /* 645 */ 'X', 'M', 'M', '7', 0, |
582 | | /* 650 */ 'Y', 'M', 'M', '7', 0, |
583 | | /* 655 */ 'Z', 'M', 'M', '7', 0, |
584 | | /* 660 */ 'F', 'P', '7', 0, |
585 | | /* 664 */ 'C', 'R', '7', 0, |
586 | | /* 668 */ 'D', 'R', '7', 0, |
587 | | /* 672 */ 'S', 'T', '7', 0, |
588 | | /* 676 */ 'X', 'M', 'M', '1', '8', 0, |
589 | | /* 682 */ 'Y', 'M', 'M', '1', '8', 0, |
590 | | /* 688 */ 'Z', 'M', 'M', '1', '8', 0, |
591 | | /* 694 */ 'X', 'M', 'M', '2', '8', 0, |
592 | | /* 700 */ 'Y', 'M', 'M', '2', '8', 0, |
593 | | /* 706 */ 'Z', 'M', 'M', '2', '8', 0, |
594 | | /* 712 */ 'X', 'M', 'M', '8', 0, |
595 | | /* 717 */ 'Y', 'M', 'M', '8', 0, |
596 | | /* 722 */ 'Z', 'M', 'M', '8', 0, |
597 | | /* 727 */ 'C', 'R', '8', 0, |
598 | | /* 731 */ 'D', 'R', '8', 0, |
599 | | /* 735 */ 'X', 'M', 'M', '1', '9', 0, |
600 | | /* 741 */ 'Y', 'M', 'M', '1', '9', 0, |
601 | | /* 747 */ 'Z', 'M', 'M', '1', '9', 0, |
602 | | /* 753 */ 'X', 'M', 'M', '2', '9', 0, |
603 | | /* 759 */ 'Y', 'M', 'M', '2', '9', 0, |
604 | | /* 765 */ 'Z', 'M', 'M', '2', '9', 0, |
605 | | /* 771 */ 'X', 'M', 'M', '9', 0, |
606 | | /* 776 */ 'Y', 'M', 'M', '9', 0, |
607 | | /* 781 */ 'Z', 'M', 'M', '9', 0, |
608 | | /* 786 */ 'C', 'R', '9', 0, |
609 | | /* 790 */ 'D', 'R', '9', 0, |
610 | | /* 794 */ 'R', '1', '0', 'B', 0, |
611 | | /* 799 */ 'R', '1', '1', 'B', 0, |
612 | | /* 804 */ 'R', '1', '2', 'B', 0, |
613 | | /* 809 */ 'R', '1', '3', 'B', 0, |
614 | | /* 814 */ 'R', '1', '4', 'B', 0, |
615 | | /* 819 */ 'R', '1', '5', 'B', 0, |
616 | | /* 824 */ 'R', '8', 'B', 0, |
617 | | /* 828 */ 'R', '9', 'B', 0, |
618 | | /* 832 */ 'R', '1', '0', 'D', 0, |
619 | | /* 837 */ 'R', '1', '1', 'D', 0, |
620 | | /* 842 */ 'R', '1', '2', 'D', 0, |
621 | | /* 847 */ 'R', '1', '3', 'D', 0, |
622 | | /* 852 */ 'R', '1', '4', 'D', 0, |
623 | | /* 857 */ 'R', '1', '5', 'D', 0, |
624 | | /* 862 */ 'R', '8', 'D', 0, |
625 | | /* 866 */ 'R', '9', 'D', 0, |
626 | | /* 870 */ 'A', 'H', 0, |
627 | | /* 873 */ 'B', 'H', 0, |
628 | | /* 876 */ 'C', 'H', 0, |
629 | | /* 879 */ 'D', 'H', 0, |
630 | | /* 882 */ 'E', 'D', 'I', 0, |
631 | | /* 886 */ 'R', 'D', 'I', 0, |
632 | | /* 890 */ 'E', 'S', 'I', 0, |
633 | | /* 894 */ 'R', 'S', 'I', 0, |
634 | | /* 898 */ 'A', 'L', 0, |
635 | | /* 901 */ 'B', 'L', 0, |
636 | | /* 904 */ 'C', 'L', 0, |
637 | | /* 907 */ 'D', 'L', 0, |
638 | | /* 910 */ 'D', 'I', 'L', 0, |
639 | | /* 914 */ 'S', 'I', 'L', 0, |
640 | | /* 918 */ 'B', 'P', 'L', 0, |
641 | | /* 922 */ 'S', 'P', 'L', 0, |
642 | | /* 926 */ 'E', 'B', 'P', 0, |
643 | | /* 930 */ 'R', 'B', 'P', 0, |
644 | | /* 934 */ 'E', 'I', 'P', 0, |
645 | | /* 938 */ 'R', 'I', 'P', 0, |
646 | | /* 942 */ 'E', 'S', 'P', 0, |
647 | | /* 946 */ 'R', 'S', 'P', 0, |
648 | | /* 950 */ 'C', 'S', 0, |
649 | | /* 953 */ 'D', 'S', 0, |
650 | | /* 956 */ 'E', 'S', 0, |
651 | | /* 959 */ 'F', 'S', 0, |
652 | | /* 962 */ 'E', 'F', 'L', 'A', 'G', 'S', 0, |
653 | | /* 969 */ 'S', 'S', 0, |
654 | | /* 972 */ 'R', '1', '0', 'W', 0, |
655 | | /* 977 */ 'R', '1', '1', 'W', 0, |
656 | | /* 982 */ 'R', '1', '2', 'W', 0, |
657 | | /* 987 */ 'R', '1', '3', 'W', 0, |
658 | | /* 992 */ 'R', '1', '4', 'W', 0, |
659 | | /* 997 */ 'R', '1', '5', 'W', 0, |
660 | | /* 1002 */ 'R', '8', 'W', 0, |
661 | | /* 1006 */ 'R', '9', 'W', 0, |
662 | | /* 1010 */ 'F', 'P', 'S', 'W', 0, |
663 | | /* 1015 */ 'E', 'A', 'X', 0, |
664 | | /* 1019 */ 'R', 'A', 'X', 0, |
665 | | /* 1023 */ 'E', 'B', 'X', 0, |
666 | | /* 1027 */ 'R', 'B', 'X', 0, |
667 | | /* 1031 */ 'E', 'C', 'X', 0, |
668 | | /* 1035 */ 'R', 'C', 'X', 0, |
669 | | /* 1039 */ 'E', 'D', 'X', 0, |
670 | | /* 1043 */ 'R', 'D', 'X', 0, |
671 | | /* 1047 */ 'E', 'I', 'Z', 0, |
672 | | /* 1051 */ 'R', 'I', 'Z', 0, |
673 | | }; |
674 | | |
675 | | extern const MCRegisterDesc X86RegDesc[] = { // Descriptors |
676 | | { 5, 0, 0, 0, 0, 0 }, |
677 | | { 870, 2, 90, 3, 2273, 0 }, |
678 | | { 898, 2, 86, 3, 2273, 0 }, |
679 | | { 1016, 151, 87, 6, 0, 2 }, |
680 | | { 873, 2, 78, 3, 2193, 0 }, |
681 | | { 901, 2, 74, 3, 2193, 0 }, |
682 | | { 927, 1, 83, 2, 544, 3 }, |
683 | | { 918, 2, 82, 3, 544, 0 }, |
684 | | { 1024, 141, 75, 6, 48, 2 }, |
685 | | { 876, 2, 70, 3, 2081, 0 }, |
686 | | { 904, 2, 66, 3, 2081, 0 }, |
687 | | { 950, 2, 2, 3, 2081, 0 }, |
688 | | { 1032, 146, 67, 6, 96, 2 }, |
689 | | { 879, 2, 58, 3, 2049, 0 }, |
690 | | { 883, 1, 63, 2, 624, 3 }, |
691 | | { 910, 2, 62, 3, 624, 0 }, |
692 | | { 907, 2, 54, 3, 2017, 0 }, |
693 | | { 953, 2, 2, 3, 2017, 0 }, |
694 | | { 1040, 134, 55, 6, 496, 2 }, |
695 | | { 1015, 150, 56, 5, 0, 2 }, |
696 | | { 926, 24, 56, 1, 544, 3 }, |
697 | | { 1023, 140, 56, 5, 323, 2 }, |
698 | | { 1031, 145, 56, 5, 323, 2 }, |
699 | | { 882, 28, 56, 1, 624, 3 }, |
700 | | { 1039, 133, 56, 5, 496, 2 }, |
701 | | { 962, 2, 2, 3, 1985, 0 }, |
702 | | { 934, 37, 52, 10, 1985, 5 }, |
703 | | { 1047, 2, 2, 3, 1985, 0 }, |
704 | | { 956, 2, 2, 3, 1985, 0 }, |
705 | | { 890, 10, 45, 1, 1985, 3 }, |
706 | | { 942, 14, 45, 1, 1985, 3 }, |
707 | | { 1010, 2, 2, 3, 1985, 0 }, |
708 | | { 959, 2, 2, 3, 1985, 0 }, |
709 | | { 966, 2, 2, 3, 1985, 0 }, |
710 | | { 935, 2, 51, 3, 656, 0 }, |
711 | | { 1019, 149, 2, 4, 0, 2 }, |
712 | | { 930, 23, 2, 0, 544, 3 }, |
713 | | { 1027, 139, 2, 4, 275, 2 }, |
714 | | { 1035, 144, 2, 4, 275, 2 }, |
715 | | { 886, 27, 2, 0, 624, 3 }, |
716 | | { 1043, 132, 2, 4, 496, 2 }, |
717 | | { 938, 36, 2, 9, 1592, 5 }, |
718 | | { 1051, 2, 2, 3, 1592, 0 }, |
719 | | { 894, 9, 2, 0, 1889, 3 }, |
720 | | { 946, 13, 2, 0, 1889, 3 }, |
721 | | { 891, 1, 48, 2, 896, 3 }, |
722 | | { 914, 2, 47, 3, 896, 0 }, |
723 | | { 943, 1, 44, 2, 1504, 3 }, |
724 | | { 922, 2, 43, 3, 1504, 0 }, |
725 | | { 969, 2, 2, 3, 1889, 0 }, |
726 | | { 64, 2, 2, 3, 1889, 0 }, |
727 | | { 167, 2, 2, 3, 1889, 0 }, |
728 | | { 252, 2, 2, 3, 1889, 0 }, |
729 | | { 337, 2, 2, 3, 1889, 0 }, |
730 | | { 91, 2, 2, 3, 1889, 0 }, |
731 | | { 194, 2, 2, 3, 1889, 0 }, |
732 | | { 279, 2, 2, 3, 1889, 0 }, |
733 | | { 364, 2, 2, 3, 1889, 0 }, |
734 | | { 444, 2, 2, 3, 1889, 0 }, |
735 | | { 524, 2, 2, 3, 1889, 0 }, |
736 | | { 594, 2, 2, 3, 1889, 0 }, |
737 | | { 664, 2, 2, 3, 1889, 0 }, |
738 | | { 727, 2, 2, 3, 1889, 0 }, |
739 | | { 786, 2, 2, 3, 1889, 0 }, |
740 | | { 18, 2, 2, 3, 1889, 0 }, |
741 | | { 121, 2, 2, 3, 1889, 0 }, |
742 | | { 224, 2, 2, 3, 1889, 0 }, |
743 | | { 309, 2, 2, 3, 1889, 0 }, |
744 | | { 394, 2, 2, 3, 1889, 0 }, |
745 | | { 474, 2, 2, 3, 1889, 0 }, |
746 | | { 95, 2, 2, 3, 1889, 0 }, |
747 | | { 198, 2, 2, 3, 1889, 0 }, |
748 | | { 283, 2, 2, 3, 1889, 0 }, |
749 | | { 368, 2, 2, 3, 1889, 0 }, |
750 | | { 448, 2, 2, 3, 1889, 0 }, |
751 | | { 528, 2, 2, 3, 1889, 0 }, |
752 | | { 598, 2, 2, 3, 1889, 0 }, |
753 | | { 668, 2, 2, 3, 1889, 0 }, |
754 | | { 731, 2, 2, 3, 1889, 0 }, |
755 | | { 790, 2, 2, 3, 1889, 0 }, |
756 | | { 23, 2, 2, 3, 1889, 0 }, |
757 | | { 126, 2, 2, 3, 1889, 0 }, |
758 | | { 229, 2, 2, 3, 1889, 0 }, |
759 | | { 314, 2, 2, 3, 1889, 0 }, |
760 | | { 399, 2, 2, 3, 1889, 0 }, |
761 | | { 479, 2, 2, 3, 1889, 0 }, |
762 | | { 87, 2, 2, 3, 1889, 0 }, |
763 | | { 190, 2, 2, 3, 1889, 0 }, |
764 | | { 275, 2, 2, 3, 1889, 0 }, |
765 | | { 360, 2, 2, 3, 1889, 0 }, |
766 | | { 440, 2, 2, 3, 1889, 0 }, |
767 | | { 520, 2, 2, 3, 1889, 0 }, |
768 | | { 590, 2, 2, 3, 1889, 0 }, |
769 | | { 660, 2, 2, 3, 1889, 0 }, |
770 | | { 69, 2, 2, 3, 1889, 0 }, |
771 | | { 172, 2, 2, 3, 1889, 0 }, |
772 | | { 257, 2, 2, 3, 1889, 0 }, |
773 | | { 342, 2, 2, 3, 1889, 0 }, |
774 | | { 422, 2, 2, 3, 1889, 0 }, |
775 | | { 502, 2, 2, 3, 1889, 0 }, |
776 | | { 572, 2, 2, 3, 1889, 0 }, |
777 | | { 642, 2, 2, 3, 1889, 0 }, |
778 | | { 73, 2, 2, 3, 1889, 0 }, |
779 | | { 176, 2, 2, 3, 1889, 0 }, |
780 | | { 261, 2, 2, 3, 1889, 0 }, |
781 | | { 346, 2, 2, 3, 1889, 0 }, |
782 | | { 426, 2, 2, 3, 1889, 0 }, |
783 | | { 506, 2, 2, 3, 1889, 0 }, |
784 | | { 576, 2, 2, 3, 1889, 0 }, |
785 | | { 646, 2, 2, 3, 1889, 0 }, |
786 | | { 728, 120, 2, 0, 1889, 3 }, |
787 | | { 787, 120, 2, 0, 1889, 3 }, |
788 | | { 19, 120, 2, 0, 1889, 3 }, |
789 | | { 122, 120, 2, 0, 1889, 3 }, |
790 | | { 225, 120, 2, 0, 1889, 3 }, |
791 | | { 310, 120, 2, 0, 1889, 3 }, |
792 | | { 395, 120, 2, 0, 1889, 3 }, |
793 | | { 475, 120, 2, 0, 1889, 3 }, |
794 | | { 99, 2, 2, 3, 1889, 0 }, |
795 | | { 202, 2, 2, 3, 1889, 0 }, |
796 | | { 287, 2, 2, 3, 1889, 0 }, |
797 | | { 372, 2, 2, 3, 1889, 0 }, |
798 | | { 452, 2, 2, 3, 1889, 0 }, |
799 | | { 532, 2, 2, 3, 1889, 0 }, |
800 | | { 602, 2, 2, 3, 1889, 0 }, |
801 | | { 672, 2, 2, 3, 1889, 0 }, |
802 | | { 72, 2, 96, 3, 1889, 0 }, |
803 | | { 175, 2, 96, 3, 1889, 0 }, |
804 | | { 260, 2, 96, 3, 1889, 0 }, |
805 | | { 345, 2, 96, 3, 1889, 0 }, |
806 | | { 425, 2, 96, 3, 1889, 0 }, |
807 | | { 505, 2, 96, 3, 1889, 0 }, |
808 | | { 575, 2, 96, 3, 1889, 0 }, |
809 | | { 645, 2, 96, 3, 1889, 0 }, |
810 | | { 712, 2, 96, 3, 1889, 0 }, |
811 | | { 771, 2, 96, 3, 1889, 0 }, |
812 | | { 0, 2, 96, 3, 1889, 0 }, |
813 | | { 103, 2, 96, 3, 1889, 0 }, |
814 | | { 206, 2, 96, 3, 1889, 0 }, |
815 | | { 291, 2, 96, 3, 1889, 0 }, |
816 | | { 376, 2, 96, 3, 1889, 0 }, |
817 | | { 456, 2, 96, 3, 1889, 0 }, |
818 | | { 536, 2, 96, 3, 1889, 0 }, |
819 | | { 606, 2, 96, 3, 1889, 0 }, |
820 | | { 676, 2, 96, 3, 1889, 0 }, |
821 | | { 735, 2, 96, 3, 1889, 0 }, |
822 | | { 28, 2, 96, 3, 1889, 0 }, |
823 | | { 131, 2, 96, 3, 1889, 0 }, |
824 | | { 234, 2, 96, 3, 1889, 0 }, |
825 | | { 319, 2, 96, 3, 1889, 0 }, |
826 | | { 404, 2, 96, 3, 1889, 0 }, |
827 | | { 484, 2, 96, 3, 1889, 0 }, |
828 | | { 554, 2, 96, 3, 1889, 0 }, |
829 | | { 624, 2, 96, 3, 1889, 0 }, |
830 | | { 694, 2, 96, 3, 1889, 0 }, |
831 | | { 753, 2, 96, 3, 1889, 0 }, |
832 | | { 46, 2, 96, 3, 1889, 0 }, |
833 | | { 149, 2, 96, 3, 1889, 0 }, |
834 | | { 77, 116, 97, 13, 1809, 7 }, |
835 | | { 180, 116, 97, 13, 1809, 7 }, |
836 | | { 265, 116, 97, 13, 1809, 7 }, |
837 | | { 350, 116, 97, 13, 1809, 7 }, |
838 | | { 430, 116, 97, 13, 1809, 7 }, |
839 | | { 510, 116, 97, 13, 1809, 7 }, |
840 | | { 580, 116, 97, 13, 1809, 7 }, |
841 | | { 650, 116, 97, 13, 1809, 7 }, |
842 | | { 717, 116, 97, 13, 1809, 7 }, |
843 | | { 776, 116, 97, 13, 1809, 7 }, |
844 | | { 6, 116, 97, 13, 1809, 7 }, |
845 | | { 109, 116, 97, 13, 1809, 7 }, |
846 | | { 212, 116, 97, 13, 1809, 7 }, |
847 | | { 297, 116, 97, 13, 1809, 7 }, |
848 | | { 382, 116, 97, 13, 1809, 7 }, |
849 | | { 462, 116, 97, 13, 1809, 7 }, |
850 | | { 542, 116, 97, 13, 1809, 7 }, |
851 | | { 612, 116, 97, 13, 1809, 7 }, |
852 | | { 682, 116, 97, 13, 1809, 7 }, |
853 | | { 741, 116, 97, 13, 1809, 7 }, |
854 | | { 34, 116, 97, 13, 1809, 7 }, |
855 | | { 137, 116, 97, 13, 1809, 7 }, |
856 | | { 240, 116, 97, 13, 1809, 7 }, |
857 | | { 325, 116, 97, 13, 1809, 7 }, |
858 | | { 410, 116, 97, 13, 1809, 7 }, |
859 | | { 490, 116, 97, 13, 1809, 7 }, |
860 | | { 560, 116, 97, 13, 1809, 7 }, |
861 | | { 630, 116, 97, 13, 1809, 7 }, |
862 | | { 700, 116, 97, 13, 1809, 7 }, |
863 | | { 759, 116, 97, 13, 1809, 7 }, |
864 | | { 52, 116, 97, 13, 1809, 7 }, |
865 | | { 155, 116, 97, 13, 1809, 7 }, |
866 | | { 82, 115, 2, 12, 1777, 7 }, |
867 | | { 185, 115, 2, 12, 1777, 7 }, |
868 | | { 270, 115, 2, 12, 1777, 7 }, |
869 | | { 355, 115, 2, 12, 1777, 7 }, |
870 | | { 435, 115, 2, 12, 1777, 7 }, |
871 | | { 515, 115, 2, 12, 1777, 7 }, |
872 | | { 585, 115, 2, 12, 1777, 7 }, |
873 | | { 655, 115, 2, 12, 1777, 7 }, |
874 | | { 722, 115, 2, 12, 1777, 7 }, |
875 | | { 781, 115, 2, 12, 1777, 7 }, |
876 | | { 12, 115, 2, 12, 1777, 7 }, |
877 | | { 115, 115, 2, 12, 1777, 7 }, |
878 | | { 218, 115, 2, 12, 1777, 7 }, |
879 | | { 303, 115, 2, 12, 1777, 7 }, |
880 | | { 388, 115, 2, 12, 1777, 7 }, |
881 | | { 468, 115, 2, 12, 1777, 7 }, |
882 | | { 548, 115, 2, 12, 1777, 7 }, |
883 | | { 618, 115, 2, 12, 1777, 7 }, |
884 | | { 688, 115, 2, 12, 1777, 7 }, |
885 | | { 747, 115, 2, 12, 1777, 7 }, |
886 | | { 40, 115, 2, 12, 1777, 7 }, |
887 | | { 143, 115, 2, 12, 1777, 7 }, |
888 | | { 246, 115, 2, 12, 1777, 7 }, |
889 | | { 331, 115, 2, 12, 1777, 7 }, |
890 | | { 416, 115, 2, 12, 1777, 7 }, |
891 | | { 496, 115, 2, 12, 1777, 7 }, |
892 | | { 566, 115, 2, 12, 1777, 7 }, |
893 | | { 636, 115, 2, 12, 1777, 7 }, |
894 | | { 706, 115, 2, 12, 1777, 7 }, |
895 | | { 765, 115, 2, 12, 1777, 7 }, |
896 | | { 58, 115, 2, 12, 1777, 7 }, |
897 | | { 161, 115, 2, 12, 1777, 7 }, |
898 | | { 824, 2, 107, 3, 1681, 0 }, |
899 | | { 828, 2, 107, 3, 1681, 0 }, |
900 | | { 794, 2, 107, 3, 1681, 0 }, |
901 | | { 799, 2, 107, 3, 1681, 0 }, |
902 | | { 804, 2, 107, 3, 1681, 0 }, |
903 | | { 809, 2, 107, 3, 1681, 0 }, |
904 | | { 814, 2, 107, 3, 1681, 0 }, |
905 | | { 819, 2, 107, 3, 1681, 0 }, |
906 | | { 862, 121, 109, 1, 1649, 3 }, |
907 | | { 866, 121, 109, 1, 1649, 3 }, |
908 | | { 832, 121, 109, 1, 1649, 3 }, |
909 | | { 837, 121, 109, 1, 1649, 3 }, |
910 | | { 842, 121, 109, 1, 1649, 3 }, |
911 | | { 847, 121, 109, 1, 1649, 3 }, |
912 | | { 852, 121, 109, 1, 1649, 3 }, |
913 | | { 857, 121, 109, 1, 1649, 3 }, |
914 | | { 1002, 122, 108, 2, 1617, 3 }, |
915 | | { 1006, 122, 108, 2, 1617, 3 }, |
916 | | { 972, 122, 108, 2, 1617, 3 }, |
917 | | { 977, 122, 108, 2, 1617, 3 }, |
918 | | { 982, 122, 108, 2, 1617, 3 }, |
919 | | { 987, 122, 108, 2, 1617, 3 }, |
920 | | { 992, 122, 108, 2, 1617, 3 }, |
921 | | { 997, 122, 108, 2, 1617, 3 }, |
922 | | }; |
923 | | |
924 | | extern const MCPhysReg X86RegUnitRoots[][2] = { |
925 | | { X86::AH }, |
926 | | { X86::AL }, |
927 | | { X86::BH }, |
928 | | { X86::BL }, |
929 | | { X86::BPL }, |
930 | | { X86::CH }, |
931 | | { X86::CL }, |
932 | | { X86::CS }, |
933 | | { X86::DH }, |
934 | | { X86::DIL }, |
935 | | { X86::DL }, |
936 | | { X86::DS }, |
937 | | { X86::EFLAGS }, |
938 | | { X86::IP }, |
939 | | { X86::EIZ }, |
940 | | { X86::ES }, |
941 | | { X86::SIL }, |
942 | | { X86::SPL }, |
943 | | { X86::FPSW }, |
944 | | { X86::FS }, |
945 | | { X86::GS }, |
946 | | { X86::RIZ }, |
947 | | { X86::SS }, |
948 | | { X86::BND0 }, |
949 | | { X86::BND1 }, |
950 | | { X86::BND2 }, |
951 | | { X86::BND3 }, |
952 | | { X86::CR0 }, |
953 | | { X86::CR1 }, |
954 | | { X86::CR2 }, |
955 | | { X86::CR3 }, |
956 | | { X86::CR4 }, |
957 | | { X86::CR5 }, |
958 | | { X86::CR6 }, |
959 | | { X86::CR7 }, |
960 | | { X86::CR8 }, |
961 | | { X86::CR9 }, |
962 | | { X86::CR10 }, |
963 | | { X86::CR11 }, |
964 | | { X86::CR12 }, |
965 | | { X86::CR13 }, |
966 | | { X86::CR14 }, |
967 | | { X86::CR15 }, |
968 | | { X86::DR0 }, |
969 | | { X86::DR1 }, |
970 | | { X86::DR2 }, |
971 | | { X86::DR3 }, |
972 | | { X86::DR4 }, |
973 | | { X86::DR5 }, |
974 | | { X86::DR6 }, |
975 | | { X86::DR7 }, |
976 | | { X86::DR8 }, |
977 | | { X86::DR9 }, |
978 | | { X86::DR10 }, |
979 | | { X86::DR11 }, |
980 | | { X86::DR12 }, |
981 | | { X86::DR13 }, |
982 | | { X86::DR14 }, |
983 | | { X86::DR15 }, |
984 | | { X86::FP0 }, |
985 | | { X86::FP1 }, |
986 | | { X86::FP2 }, |
987 | | { X86::FP3 }, |
988 | | { X86::FP4 }, |
989 | | { X86::FP5 }, |
990 | | { X86::FP6 }, |
991 | | { X86::FP7 }, |
992 | | { X86::K0 }, |
993 | | { X86::K1 }, |
994 | | { X86::K2 }, |
995 | | { X86::K3 }, |
996 | | { X86::K4 }, |
997 | | { X86::K5 }, |
998 | | { X86::K6 }, |
999 | | { X86::K7 }, |
1000 | | { X86::MM0 }, |
1001 | | { X86::MM1 }, |
1002 | | { X86::MM2 }, |
1003 | | { X86::MM3 }, |
1004 | | { X86::MM4 }, |
1005 | | { X86::MM5 }, |
1006 | | { X86::MM6 }, |
1007 | | { X86::MM7 }, |
1008 | | { X86::R8B }, |
1009 | | { X86::R9B }, |
1010 | | { X86::R10B }, |
1011 | | { X86::R11B }, |
1012 | | { X86::R12B }, |
1013 | | { X86::R13B }, |
1014 | | { X86::R14B }, |
1015 | | { X86::R15B }, |
1016 | | { X86::ST0 }, |
1017 | | { X86::ST1 }, |
1018 | | { X86::ST2 }, |
1019 | | { X86::ST3 }, |
1020 | | { X86::ST4 }, |
1021 | | { X86::ST5 }, |
1022 | | { X86::ST6 }, |
1023 | | { X86::ST7 }, |
1024 | | { X86::XMM0 }, |
1025 | | { X86::XMM1 }, |
1026 | | { X86::XMM2 }, |
1027 | | { X86::XMM3 }, |
1028 | | { X86::XMM4 }, |
1029 | | { X86::XMM5 }, |
1030 | | { X86::XMM6 }, |
1031 | | { X86::XMM7 }, |
1032 | | { X86::XMM8 }, |
1033 | | { X86::XMM9 }, |
1034 | | { X86::XMM10 }, |
1035 | | { X86::XMM11 }, |
1036 | | { X86::XMM12 }, |
1037 | | { X86::XMM13 }, |
1038 | | { X86::XMM14 }, |
1039 | | { X86::XMM15 }, |
1040 | | { X86::XMM16 }, |
1041 | | { X86::XMM17 }, |
1042 | | { X86::XMM18 }, |
1043 | | { X86::XMM19 }, |
1044 | | { X86::XMM20 }, |
1045 | | { X86::XMM21 }, |
1046 | | { X86::XMM22 }, |
1047 | | { X86::XMM23 }, |
1048 | | { X86::XMM24 }, |
1049 | | { X86::XMM25 }, |
1050 | | { X86::XMM26 }, |
1051 | | { X86::XMM27 }, |
1052 | | { X86::XMM28 }, |
1053 | | { X86::XMM29 }, |
1054 | | { X86::XMM30 }, |
1055 | | { X86::XMM31 }, |
1056 | | }; |
1057 | | |
1058 | | namespace { // Register classes... |
1059 | | // GR8 Register Class... |
1060 | | const MCPhysReg GR8[] = { |
1061 | | 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, |
1062 | | }; |
1063 | | |
1064 | | // GR8 Bit set. |
1065 | | const uint8_t GR8Bits[] = { |
1066 | | 0xb6, 0xa6, 0x01, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, |
1067 | | }; |
1068 | | |
1069 | | // GR8_NOREX Register Class... |
1070 | | const MCPhysReg GR8_NOREX[] = { |
1071 | | X86::AL, X86::CL, X86::DL, X86::AH, X86::CH, X86::DH, X86::BL, X86::BH, |
1072 | | }; |
1073 | | |
1074 | | // GR8_NOREX Bit set. |
1075 | | const uint8_t GR8_NOREXBits[] = { |
1076 | | 0x36, 0x26, 0x01, |
1077 | | }; |
1078 | | |
1079 | | // VK1 Register Class... |
1080 | | const MCPhysReg VK1[] = { |
1081 | | X86::K0, X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, |
1082 | | }; |
1083 | | |
1084 | | // VK1 Bit set. |
1085 | | const uint8_t VK1Bits[] = { |
1086 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, |
1087 | | }; |
1088 | | |
1089 | | // VK2 Register Class... |
1090 | | const MCPhysReg VK2[] = { |
1091 | | X86::K0, X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, |
1092 | | }; |
1093 | | |
1094 | | // VK2 Bit set. |
1095 | | const uint8_t VK2Bits[] = { |
1096 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, |
1097 | | }; |
1098 | | |
1099 | | // VK4 Register Class... |
1100 | | const MCPhysReg VK4[] = { |
1101 | | X86::K0, X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, |
1102 | | }; |
1103 | | |
1104 | | // VK4 Bit set. |
1105 | | const uint8_t VK4Bits[] = { |
1106 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, |
1107 | | }; |
1108 | | |
1109 | | // VK8 Register Class... |
1110 | | const MCPhysReg VK8[] = { |
1111 | | X86::K0, X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, |
1112 | | }; |
1113 | | |
1114 | | // VK8 Bit set. |
1115 | | const uint8_t VK8Bits[] = { |
1116 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, |
1117 | | }; |
1118 | | |
1119 | | // VK1WM Register Class... |
1120 | | const MCPhysReg VK1WM[] = { |
1121 | | X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, |
1122 | | }; |
1123 | | |
1124 | | // VK1WM Bit set. |
1125 | | const uint8_t VK1WMBits[] = { |
1126 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, |
1127 | | }; |
1128 | | |
1129 | | // VK2WM Register Class... |
1130 | | const MCPhysReg VK2WM[] = { |
1131 | | X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, |
1132 | | }; |
1133 | | |
1134 | | // VK2WM Bit set. |
1135 | | const uint8_t VK2WMBits[] = { |
1136 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, |
1137 | | }; |
1138 | | |
1139 | | // VK4WM Register Class... |
1140 | | const MCPhysReg VK4WM[] = { |
1141 | | X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, |
1142 | | }; |
1143 | | |
1144 | | // VK4WM Bit set. |
1145 | | const uint8_t VK4WMBits[] = { |
1146 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, |
1147 | | }; |
1148 | | |
1149 | | // VK8WM Register Class... |
1150 | | const MCPhysReg VK8WM[] = { |
1151 | | X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, |
1152 | | }; |
1153 | | |
1154 | | // VK8WM Bit set. |
1155 | | const uint8_t VK8WMBits[] = { |
1156 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, |
1157 | | }; |
1158 | | |
1159 | | // GR8_ABCD_H Register Class... |
1160 | | const MCPhysReg GR8_ABCD_H[] = { |
1161 | | X86::AH, X86::CH, X86::DH, X86::BH, |
1162 | | }; |
1163 | | |
1164 | | // GR8_ABCD_H Bit set. |
1165 | | const uint8_t GR8_ABCD_HBits[] = { |
1166 | | 0x12, 0x22, |
1167 | | }; |
1168 | | |
1169 | | // GR8_ABCD_L Register Class... |
1170 | | const MCPhysReg GR8_ABCD_L[] = { |
1171 | | X86::AL, X86::CL, X86::DL, X86::BL, |
1172 | | }; |
1173 | | |
1174 | | // GR8_ABCD_L Bit set. |
1175 | | const uint8_t GR8_ABCD_LBits[] = { |
1176 | | 0x24, 0x04, 0x01, |
1177 | | }; |
1178 | | |
1179 | | // GR16 Register Class... |
1180 | | const MCPhysReg GR16[] = { |
1181 | | 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, |
1182 | | }; |
1183 | | |
1184 | | // GR16 Bit set. |
1185 | | const uint8_t GR16Bits[] = { |
1186 | | 0x48, 0x51, 0x04, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, |
1187 | | }; |
1188 | | |
1189 | | // GR16_NOREX Register Class... |
1190 | | const MCPhysReg GR16_NOREX[] = { |
1191 | | X86::AX, X86::CX, X86::DX, X86::SI, X86::DI, X86::BX, X86::BP, X86::SP, |
1192 | | }; |
1193 | | |
1194 | | // GR16_NOREX Bit set. |
1195 | | const uint8_t GR16_NOREXBits[] = { |
1196 | | 0x48, 0x51, 0x04, 0x00, 0x00, 0xa0, |
1197 | | }; |
1198 | | |
1199 | | // VK16 Register Class... |
1200 | | const MCPhysReg VK16[] = { |
1201 | | X86::K0, X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, |
1202 | | }; |
1203 | | |
1204 | | // VK16 Bit set. |
1205 | | const uint8_t VK16Bits[] = { |
1206 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, |
1207 | | }; |
1208 | | |
1209 | | // VK16WM Register Class... |
1210 | | const MCPhysReg VK16WM[] = { |
1211 | | X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, |
1212 | | }; |
1213 | | |
1214 | | // VK16WM Bit set. |
1215 | | const uint8_t VK16WMBits[] = { |
1216 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, |
1217 | | }; |
1218 | | |
1219 | | // SEGMENT_REG Register Class... |
1220 | | const MCPhysReg SEGMENT_REG[] = { |
1221 | | X86::CS, X86::DS, X86::SS, X86::ES, X86::FS, X86::GS, |
1222 | | }; |
1223 | | |
1224 | | // SEGMENT_REG Bit set. |
1225 | | const uint8_t SEGMENT_REGBits[] = { |
1226 | | 0x00, 0x08, 0x02, 0x10, 0x03, 0x00, 0x02, |
1227 | | }; |
1228 | | |
1229 | | // GR16_ABCD Register Class... |
1230 | | const MCPhysReg GR16_ABCD[] = { |
1231 | | X86::AX, X86::CX, X86::DX, X86::BX, |
1232 | | }; |
1233 | | |
1234 | | // GR16_ABCD Bit set. |
1235 | | const uint8_t GR16_ABCDBits[] = { |
1236 | | 0x08, 0x11, 0x04, |
1237 | | }; |
1238 | | |
1239 | | // FPCCR Register Class... |
1240 | | const MCPhysReg FPCCR[] = { |
1241 | | X86::FPSW, |
1242 | | }; |
1243 | | |
1244 | | // FPCCR Bit set. |
1245 | | const uint8_t FPCCRBits[] = { |
1246 | | 0x00, 0x00, 0x00, 0x80, |
1247 | | }; |
1248 | | |
1249 | | // FR32X Register Class... |
1250 | | const MCPhysReg FR32X[] = { |
1251 | | 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, |
1252 | | }; |
1253 | | |
1254 | | // FR32X Bit set. |
1255 | | const uint8_t FR32XBits[] = { |
1256 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x3f, |
1257 | | }; |
1258 | | |
1259 | | // FR32 Register Class... |
1260 | | const MCPhysReg FR32[] = { |
1261 | | 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, |
1262 | | }; |
1263 | | |
1264 | | // FR32 Bit set. |
1265 | | const uint8_t FR32Bits[] = { |
1266 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x3f, |
1267 | | }; |
1268 | | |
1269 | | // GR32 Register Class... |
1270 | | const MCPhysReg GR32[] = { |
1271 | | 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, |
1272 | | }; |
1273 | | |
1274 | | // GR32 Bit set. |
1275 | | const uint8_t GR32Bits[] = { |
1276 | | 0x00, 0x00, 0xf8, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, |
1277 | | }; |
1278 | | |
1279 | | // GR32_NOAX Register Class... |
1280 | | const MCPhysReg GR32_NOAX[] = { |
1281 | | 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, |
1282 | | }; |
1283 | | |
1284 | | // GR32_NOAX Bit set. |
1285 | | const uint8_t GR32_NOAXBits[] = { |
1286 | | 0x00, 0x00, 0xf0, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, |
1287 | | }; |
1288 | | |
1289 | | // GR32_NOSP Register Class... |
1290 | | const MCPhysReg GR32_NOSP[] = { |
1291 | | 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, |
1292 | | }; |
1293 | | |
1294 | | // GR32_NOSP Bit set. |
1295 | | const uint8_t GR32_NOSPBits[] = { |
1296 | | 0x00, 0x00, 0xf8, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, |
1297 | | }; |
1298 | | |
1299 | | // GR32_NOAX_and_GR32_NOSP Register Class... |
1300 | | const MCPhysReg GR32_NOAX_and_GR32_NOSP[] = { |
1301 | | 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, |
1302 | | }; |
1303 | | |
1304 | | // GR32_NOAX_and_GR32_NOSP Bit set. |
1305 | | const uint8_t GR32_NOAX_and_GR32_NOSPBits[] = { |
1306 | | 0x00, 0x00, 0xf0, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, |
1307 | | }; |
1308 | | |
1309 | | // DEBUG_REG Register Class... |
1310 | | const MCPhysReg DEBUG_REG[] = { |
1311 | | X86::DR0, X86::DR1, X86::DR2, X86::DR3, X86::DR4, X86::DR5, X86::DR6, X86::DR7, |
1312 | | }; |
1313 | | |
1314 | | // DEBUG_REG Bit set. |
1315 | | const uint8_t DEBUG_REGBits[] = { |
1316 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, |
1317 | | }; |
1318 | | |
1319 | | // GR32_NOREX Register Class... |
1320 | | const MCPhysReg GR32_NOREX[] = { |
1321 | | X86::EAX, X86::ECX, X86::EDX, X86::ESI, X86::EDI, X86::EBX, X86::EBP, X86::ESP, |
1322 | | }; |
1323 | | |
1324 | | // GR32_NOREX Bit set. |
1325 | | const uint8_t GR32_NOREXBits[] = { |
1326 | | 0x00, 0x00, 0xf8, 0x61, |
1327 | | }; |
1328 | | |
1329 | | // VK32 Register Class... |
1330 | | const MCPhysReg VK32[] = { |
1331 | | X86::K0, X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, |
1332 | | }; |
1333 | | |
1334 | | // VK32 Bit set. |
1335 | | const uint8_t VK32Bits[] = { |
1336 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, |
1337 | | }; |
1338 | | |
1339 | | // GR32_NOAX_and_GR32_NOREX Register Class... |
1340 | | const MCPhysReg GR32_NOAX_and_GR32_NOREX[] = { |
1341 | | X86::ECX, X86::EDX, X86::ESI, X86::EDI, X86::EBX, X86::EBP, X86::ESP, |
1342 | | }; |
1343 | | |
1344 | | // GR32_NOAX_and_GR32_NOREX Bit set. |
1345 | | const uint8_t GR32_NOAX_and_GR32_NOREXBits[] = { |
1346 | | 0x00, 0x00, 0xf0, 0x61, |
1347 | | }; |
1348 | | |
1349 | | // GR32_NOREX_NOSP Register Class... |
1350 | | const MCPhysReg GR32_NOREX_NOSP[] = { |
1351 | | X86::EAX, X86::ECX, X86::EDX, X86::ESI, X86::EDI, X86::EBX, X86::EBP, |
1352 | | }; |
1353 | | |
1354 | | // GR32_NOREX_NOSP Bit set. |
1355 | | const uint8_t GR32_NOREX_NOSPBits[] = { |
1356 | | 0x00, 0x00, 0xf8, 0x21, |
1357 | | }; |
1358 | | |
1359 | | // RFP32 Register Class... |
1360 | | const MCPhysReg RFP32[] = { |
1361 | | X86::FP0, X86::FP1, X86::FP2, X86::FP3, X86::FP4, X86::FP5, X86::FP6, |
1362 | | }; |
1363 | | |
1364 | | // RFP32 Bit set. |
1365 | | const uint8_t RFP32Bits[] = { |
1366 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x1f, |
1367 | | }; |
1368 | | |
1369 | | // VK32WM Register Class... |
1370 | | const MCPhysReg VK32WM[] = { |
1371 | | X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, |
1372 | | }; |
1373 | | |
1374 | | // VK32WM Bit set. |
1375 | | const uint8_t VK32WMBits[] = { |
1376 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, |
1377 | | }; |
1378 | | |
1379 | | // GR32_NOAX_and_GR32_NOREX_NOSP Register Class... |
1380 | | const MCPhysReg GR32_NOAX_and_GR32_NOREX_NOSP[] = { |
1381 | | X86::ECX, X86::EDX, X86::ESI, X86::EDI, X86::EBX, X86::EBP, |
1382 | | }; |
1383 | | |
1384 | | // GR32_NOAX_and_GR32_NOREX_NOSP Bit set. |
1385 | | const uint8_t GR32_NOAX_and_GR32_NOREX_NOSPBits[] = { |
1386 | | 0x00, 0x00, 0xf0, 0x21, |
1387 | | }; |
1388 | | |
1389 | | // GR32_ABCD Register Class... |
1390 | | const MCPhysReg GR32_ABCD[] = { |
1391 | | X86::EAX, X86::ECX, X86::EDX, X86::EBX, |
1392 | | }; |
1393 | | |
1394 | | // GR32_ABCD Bit set. |
1395 | | const uint8_t GR32_ABCDBits[] = { |
1396 | | 0x00, 0x00, 0x68, 0x01, |
1397 | | }; |
1398 | | |
1399 | | // GR32_ABCD_and_GR32_NOAX Register Class... |
1400 | | const MCPhysReg GR32_ABCD_and_GR32_NOAX[] = { |
1401 | | X86::ECX, X86::EDX, X86::EBX, |
1402 | | }; |
1403 | | |
1404 | | // GR32_ABCD_and_GR32_NOAX Bit set. |
1405 | | const uint8_t GR32_ABCD_and_GR32_NOAXBits[] = { |
1406 | | 0x00, 0x00, 0x60, 0x01, |
1407 | | }; |
1408 | | |
1409 | | // GR32_TC Register Class... |
1410 | | const MCPhysReg GR32_TC[] = { |
1411 | | X86::EAX, X86::ECX, X86::EDX, |
1412 | | }; |
1413 | | |
1414 | | // GR32_TC Bit set. |
1415 | | const uint8_t GR32_TCBits[] = { |
1416 | | 0x00, 0x00, 0x48, 0x01, |
1417 | | }; |
1418 | | |
1419 | | // GR32_AD Register Class... |
1420 | | const MCPhysReg GR32_AD[] = { |
1421 | | X86::EAX, X86::EDX, |
1422 | | }; |
1423 | | |
1424 | | // GR32_AD Bit set. |
1425 | | const uint8_t GR32_ADBits[] = { |
1426 | | 0x00, 0x00, 0x08, 0x01, |
1427 | | }; |
1428 | | |
1429 | | // GR32_NOAX_and_GR32_TC Register Class... |
1430 | | const MCPhysReg GR32_NOAX_and_GR32_TC[] = { |
1431 | | X86::ECX, X86::EDX, |
1432 | | }; |
1433 | | |
1434 | | // GR32_NOAX_and_GR32_TC Bit set. |
1435 | | const uint8_t GR32_NOAX_and_GR32_TCBits[] = { |
1436 | | 0x00, 0x00, 0x40, 0x01, |
1437 | | }; |
1438 | | |
1439 | | // CCR Register Class... |
1440 | | const MCPhysReg CCR[] = { |
1441 | | X86::EFLAGS, |
1442 | | }; |
1443 | | |
1444 | | // CCR Bit set. |
1445 | | const uint8_t CCRBits[] = { |
1446 | | 0x00, 0x00, 0x00, 0x02, |
1447 | | }; |
1448 | | |
1449 | | // GR32_AD_and_GR32_NOAX Register Class... |
1450 | | const MCPhysReg GR32_AD_and_GR32_NOAX[] = { |
1451 | | X86::EDX, |
1452 | | }; |
1453 | | |
1454 | | // GR32_AD_and_GR32_NOAX Bit set. |
1455 | | const uint8_t GR32_AD_and_GR32_NOAXBits[] = { |
1456 | | 0x00, 0x00, 0x00, 0x01, |
1457 | | }; |
1458 | | |
1459 | | // RFP64 Register Class... |
1460 | | const MCPhysReg RFP64[] = { |
1461 | | X86::FP0, X86::FP1, X86::FP2, X86::FP3, X86::FP4, X86::FP5, X86::FP6, |
1462 | | }; |
1463 | | |
1464 | | // RFP64 Bit set. |
1465 | | const uint8_t RFP64Bits[] = { |
1466 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x1f, |
1467 | | }; |
1468 | | |
1469 | | // FR64X Register Class... |
1470 | | const MCPhysReg FR64X[] = { |
1471 | | 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, |
1472 | | }; |
1473 | | |
1474 | | // FR64X Bit set. |
1475 | | const uint8_t FR64XBits[] = { |
1476 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x3f, |
1477 | | }; |
1478 | | |
1479 | | // GR64 Register Class... |
1480 | | const MCPhysReg GR64[] = { |
1481 | | 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, |
1482 | | }; |
1483 | | |
1484 | | // GR64 Bit set. |
1485 | | const uint8_t GR64Bits[] = { |
1486 | | 0x00, 0x00, 0x00, 0x00, 0xf8, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, |
1487 | | }; |
1488 | | |
1489 | | // CONTROL_REG Register Class... |
1490 | | const MCPhysReg CONTROL_REG[] = { |
1491 | | 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, |
1492 | | }; |
1493 | | |
1494 | | // CONTROL_REG Bit set. |
1495 | | const uint8_t CONTROL_REGBits[] = { |
1496 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x3f, |
1497 | | }; |
1498 | | |
1499 | | // FR64 Register Class... |
1500 | | const MCPhysReg FR64[] = { |
1501 | | 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, |
1502 | | }; |
1503 | | |
1504 | | // FR64 Bit set. |
1505 | | const uint8_t FR64Bits[] = { |
1506 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x3f, |
1507 | | }; |
1508 | | |
1509 | | // GR64_with_sub_8bit Register Class... |
1510 | | const MCPhysReg GR64_with_sub_8bit[] = { |
1511 | | 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, |
1512 | | }; |
1513 | | |
1514 | | // GR64_with_sub_8bit Bit set. |
1515 | | const uint8_t GR64_with_sub_8bitBits[] = { |
1516 | | 0x00, 0x00, 0x00, 0x00, 0xf8, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, |
1517 | | }; |
1518 | | |
1519 | | // GR64_NOSP Register Class... |
1520 | | const MCPhysReg GR64_NOSP[] = { |
1521 | | 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, |
1522 | | }; |
1523 | | |
1524 | | // GR64_NOSP Bit set. |
1525 | | const uint8_t GR64_NOSPBits[] = { |
1526 | | 0x00, 0x00, 0x00, 0x00, 0xf8, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, |
1527 | | }; |
1528 | | |
1529 | | // GR64_with_sub_32bit_in_GR32_NOAX Register Class... |
1530 | | const MCPhysReg GR64_with_sub_32bit_in_GR32_NOAX[] = { |
1531 | | 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, |
1532 | | }; |
1533 | | |
1534 | | // GR64_with_sub_32bit_in_GR32_NOAX Bit set. |
1535 | | const uint8_t GR64_with_sub_32bit_in_GR32_NOAXBits[] = { |
1536 | | 0x00, 0x00, 0x00, 0x00, 0xf0, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, |
1537 | | }; |
1538 | | |
1539 | | // GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOSP Register Class... |
1540 | | const MCPhysReg GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOSP[] = { |
1541 | | 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, |
1542 | | }; |
1543 | | |
1544 | | // GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOSP Bit set. |
1545 | | const uint8_t GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOSPBits[] = { |
1546 | | 0x00, 0x00, 0x00, 0x00, 0xf0, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, |
1547 | | }; |
1548 | | |
1549 | | // GR64_NOREX Register Class... |
1550 | | const MCPhysReg GR64_NOREX[] = { |
1551 | | X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::RBX, X86::RBP, X86::RSP, X86::RIP, |
1552 | | }; |
1553 | | |
1554 | | // GR64_NOREX Bit set. |
1555 | | const uint8_t GR64_NOREXBits[] = { |
1556 | | 0x00, 0x00, 0x00, 0x00, 0xf8, 0x1b, |
1557 | | }; |
1558 | | |
1559 | | // GR64_TC Register Class... |
1560 | | const MCPhysReg GR64_TC[] = { |
1561 | | X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::R8, X86::R9, X86::R11, X86::RIP, |
1562 | | }; |
1563 | | |
1564 | | // GR64_TC Bit set. |
1565 | | const uint8_t GR64_TCBits[] = { |
1566 | | 0x00, 0x00, 0x00, 0x00, 0xc8, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x02, |
1567 | | }; |
1568 | | |
1569 | | // GR64_NOSP_and_GR64_TC Register Class... |
1570 | | const MCPhysReg GR64_NOSP_and_GR64_TC[] = { |
1571 | | X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::R8, X86::R9, X86::R11, |
1572 | | }; |
1573 | | |
1574 | | // GR64_NOSP_and_GR64_TC Bit set. |
1575 | | const uint8_t GR64_NOSP_and_GR64_TCBits[] = { |
1576 | | 0x00, 0x00, 0x00, 0x00, 0xc8, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x02, |
1577 | | }; |
1578 | | |
1579 | | // GR64_TCW64 Register Class... |
1580 | | const MCPhysReg GR64_TCW64[] = { |
1581 | | X86::RAX, X86::RCX, X86::RDX, X86::R8, X86::R9, X86::R10, X86::R11, X86::RIP, |
1582 | | }; |
1583 | | |
1584 | | // GR64_TCW64 Bit set. |
1585 | | const uint8_t GR64_TCW64Bits[] = { |
1586 | | 0x00, 0x00, 0x00, 0x00, 0x48, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, |
1587 | | }; |
1588 | | |
1589 | | // GR64_with_sub_16bit_in_GR16_NOREX Register Class... |
1590 | | const MCPhysReg GR64_with_sub_16bit_in_GR16_NOREX[] = { |
1591 | | X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::RBX, X86::RBP, X86::RSP, |
1592 | | }; |
1593 | | |
1594 | | // GR64_with_sub_16bit_in_GR16_NOREX Bit set. |
1595 | | const uint8_t GR64_with_sub_16bit_in_GR16_NOREXBits[] = { |
1596 | | 0x00, 0x00, 0x00, 0x00, 0xf8, 0x19, |
1597 | | }; |
1598 | | |
1599 | | // VK64 Register Class... |
1600 | | const MCPhysReg VK64[] = { |
1601 | | X86::K0, X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, |
1602 | | }; |
1603 | | |
1604 | | // VK64 Bit set. |
1605 | | const uint8_t VK64Bits[] = { |
1606 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, |
1607 | | }; |
1608 | | |
1609 | | // VR64 Register Class... |
1610 | | const MCPhysReg VR64[] = { |
1611 | | X86::MM0, X86::MM1, X86::MM2, X86::MM3, X86::MM4, X86::MM5, X86::MM6, X86::MM7, |
1612 | | }; |
1613 | | |
1614 | | // VR64 Bit set. |
1615 | | const uint8_t VR64Bits[] = { |
1616 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, |
1617 | | }; |
1618 | | |
1619 | | // GR64_NOREX_NOSP Register Class... |
1620 | | const MCPhysReg GR64_NOREX_NOSP[] = { |
1621 | | X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::RBX, X86::RBP, |
1622 | | }; |
1623 | | |
1624 | | // GR64_NOREX_NOSP Bit set. |
1625 | | const uint8_t GR64_NOREX_NOSPBits[] = { |
1626 | | 0x00, 0x00, 0x00, 0x00, 0xf8, 0x09, |
1627 | | }; |
1628 | | |
1629 | | // GR64_NOSP_and_GR64_TCW64 Register Class... |
1630 | | const MCPhysReg GR64_NOSP_and_GR64_TCW64[] = { |
1631 | | X86::RAX, X86::RCX, X86::RDX, X86::R8, X86::R9, X86::R10, X86::R11, |
1632 | | }; |
1633 | | |
1634 | | // GR64_NOSP_and_GR64_TCW64 Bit set. |
1635 | | const uint8_t GR64_NOSP_and_GR64_TCW64Bits[] = { |
1636 | | 0x00, 0x00, 0x00, 0x00, 0x48, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, |
1637 | | }; |
1638 | | |
1639 | | // GR64_TC_and_GR64_TCW64 Register Class... |
1640 | | const MCPhysReg GR64_TC_and_GR64_TCW64[] = { |
1641 | | X86::RAX, X86::RCX, X86::RDX, X86::R8, X86::R9, X86::R11, X86::RIP, |
1642 | | }; |
1643 | | |
1644 | | // GR64_TC_and_GR64_TCW64 Bit set. |
1645 | | const uint8_t GR64_TC_and_GR64_TCW64Bits[] = { |
1646 | | 0x00, 0x00, 0x00, 0x00, 0x48, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x02, |
1647 | | }; |
1648 | | |
1649 | | // GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAX Register Class... |
1650 | | const MCPhysReg GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAX[] = { |
1651 | | X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::R8, X86::R9, X86::R11, |
1652 | | }; |
1653 | | |
1654 | | // GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAX Bit set. |
1655 | | const uint8_t GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAXBits[] = { |
1656 | | 0x00, 0x00, 0x00, 0x00, 0xc0, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x02, |
1657 | | }; |
1658 | | |
1659 | | // GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX Register Class... |
1660 | | const MCPhysReg GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX[] = { |
1661 | | X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::RBX, X86::RBP, X86::RSP, |
1662 | | }; |
1663 | | |
1664 | | // GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX Bit set. |
1665 | | const uint8_t GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREXBits[] = { |
1666 | | 0x00, 0x00, 0x00, 0x00, 0xf0, 0x19, |
1667 | | }; |
1668 | | |
1669 | | // VK64WM Register Class... |
1670 | | const MCPhysReg VK64WM[] = { |
1671 | | X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, |
1672 | | }; |
1673 | | |
1674 | | // VK64WM Bit set. |
1675 | | const uint8_t VK64WMBits[] = { |
1676 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, |
1677 | | }; |
1678 | | |
1679 | | // GR64_NOREX_and_GR64_TC Register Class... |
1680 | | const MCPhysReg GR64_NOREX_and_GR64_TC[] = { |
1681 | | X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::RIP, |
1682 | | }; |
1683 | | |
1684 | | // GR64_NOREX_and_GR64_TC Bit set. |
1685 | | const uint8_t GR64_NOREX_and_GR64_TCBits[] = { |
1686 | | 0x00, 0x00, 0x00, 0x00, 0xc8, 0x0b, |
1687 | | }; |
1688 | | |
1689 | | // GR64_TCW64_and_GR64_with_sub_32bit_in_GR32_NOAX Register Class... |
1690 | | const MCPhysReg GR64_TCW64_and_GR64_with_sub_32bit_in_GR32_NOAX[] = { |
1691 | | X86::RCX, X86::RDX, X86::R8, X86::R9, X86::R10, X86::R11, |
1692 | | }; |
1693 | | |
1694 | | // GR64_TCW64_and_GR64_with_sub_32bit_in_GR32_NOAX Bit set. |
1695 | | const uint8_t GR64_TCW64_and_GR64_with_sub_32bit_in_GR32_NOAXBits[] = { |
1696 | | 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, |
1697 | | }; |
1698 | | |
1699 | | // GR64_TC_and_GR64_NOSP_and_GR64_TCW64 Register Class... |
1700 | | const MCPhysReg GR64_TC_and_GR64_NOSP_and_GR64_TCW64[] = { |
1701 | | X86::RAX, X86::RCX, X86::RDX, X86::R8, X86::R9, X86::R11, |
1702 | | }; |
1703 | | |
1704 | | // GR64_TC_and_GR64_NOSP_and_GR64_TCW64 Bit set. |
1705 | | const uint8_t GR64_TC_and_GR64_NOSP_and_GR64_TCW64Bits[] = { |
1706 | | 0x00, 0x00, 0x00, 0x00, 0x48, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x02, |
1707 | | }; |
1708 | | |
1709 | | // GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX_NOSP Register Class... |
1710 | | const MCPhysReg GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX_NOSP[] = { |
1711 | | X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::RBX, X86::RBP, |
1712 | | }; |
1713 | | |
1714 | | // GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX_NOSP Bit set. |
1715 | | const uint8_t GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX_NOSPBits[] = { |
1716 | | 0x00, 0x00, 0x00, 0x00, 0xf0, 0x09, |
1717 | | }; |
1718 | | |
1719 | | // GR64_NOREX_NOSP_and_GR64_TC Register Class... |
1720 | | const MCPhysReg GR64_NOREX_NOSP_and_GR64_TC[] = { |
1721 | | X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, |
1722 | | }; |
1723 | | |
1724 | | // GR64_NOREX_NOSP_and_GR64_TC Bit set. |
1725 | | const uint8_t GR64_NOREX_NOSP_and_GR64_TCBits[] = { |
1726 | | 0x00, 0x00, 0x00, 0x00, 0xc8, 0x09, |
1727 | | }; |
1728 | | |
1729 | | // GR64_TCW64_and_GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAX Register Class... |
1730 | | const MCPhysReg GR64_TCW64_and_GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAX[] = { |
1731 | | X86::RCX, X86::RDX, X86::R8, X86::R9, X86::R11, |
1732 | | }; |
1733 | | |
1734 | | // GR64_TCW64_and_GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAX Bit set. |
1735 | | const uint8_t GR64_TCW64_and_GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAXBits[] = { |
1736 | | 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x02, |
1737 | | }; |
1738 | | |
1739 | | // GR64_ABCD Register Class... |
1740 | | const MCPhysReg GR64_ABCD[] = { |
1741 | | X86::RAX, X86::RCX, X86::RDX, X86::RBX, |
1742 | | }; |
1743 | | |
1744 | | // GR64_ABCD Bit set. |
1745 | | const uint8_t GR64_ABCDBits[] = { |
1746 | | 0x00, 0x00, 0x00, 0x00, 0x68, 0x01, |
1747 | | }; |
1748 | | |
1749 | | // GR64_NOREX_and_GR64_TCW64 Register Class... |
1750 | | const MCPhysReg GR64_NOREX_and_GR64_TCW64[] = { |
1751 | | X86::RAX, X86::RCX, X86::RDX, X86::RIP, |
1752 | | }; |
1753 | | |
1754 | | // GR64_NOREX_and_GR64_TCW64 Bit set. |
1755 | | const uint8_t GR64_NOREX_and_GR64_TCW64Bits[] = { |
1756 | | 0x00, 0x00, 0x00, 0x00, 0x48, 0x03, |
1757 | | }; |
1758 | | |
1759 | | // GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX Register Class... |
1760 | | const MCPhysReg GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX[] = { |
1761 | | X86::RCX, X86::RDX, X86::RSI, X86::RDI, |
1762 | | }; |
1763 | | |
1764 | | // GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX Bit set. |
1765 | | const uint8_t GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREXBits[] = { |
1766 | | 0x00, 0x00, 0x00, 0x00, 0xc0, 0x09, |
1767 | | }; |
1768 | | |
1769 | | // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_NOAX Register Class... |
1770 | | const MCPhysReg GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_NOAX[] = { |
1771 | | X86::RCX, X86::RDX, X86::RBX, |
1772 | | }; |
1773 | | |
1774 | | // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_NOAX Bit set. |
1775 | | const uint8_t GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_NOAXBits[] = { |
1776 | | 0x00, 0x00, 0x00, 0x00, 0x60, 0x01, |
1777 | | }; |
1778 | | |
1779 | | // GR64_with_sub_32bit_in_GR32_TC Register Class... |
1780 | | const MCPhysReg GR64_with_sub_32bit_in_GR32_TC[] = { |
1781 | | X86::RAX, X86::RCX, X86::RDX, |
1782 | | }; |
1783 | | |
1784 | | // GR64_with_sub_32bit_in_GR32_TC Bit set. |
1785 | | const uint8_t GR64_with_sub_32bit_in_GR32_TCBits[] = { |
1786 | | 0x00, 0x00, 0x00, 0x00, 0x48, 0x01, |
1787 | | }; |
1788 | | |
1789 | | // GR64_with_sub_32bit_in_GR32_AD Register Class... |
1790 | | const MCPhysReg GR64_with_sub_32bit_in_GR32_AD[] = { |
1791 | | X86::RAX, X86::RDX, |
1792 | | }; |
1793 | | |
1794 | | // GR64_with_sub_32bit_in_GR32_AD Bit set. |
1795 | | const uint8_t GR64_with_sub_32bit_in_GR32_ADBits[] = { |
1796 | | 0x00, 0x00, 0x00, 0x00, 0x08, 0x01, |
1797 | | }; |
1798 | | |
1799 | | // GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_TC Register Class... |
1800 | | const MCPhysReg GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_TC[] = { |
1801 | | X86::RCX, X86::RDX, |
1802 | | }; |
1803 | | |
1804 | | // GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_TC Bit set. |
1805 | | const uint8_t GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_TCBits[] = { |
1806 | | 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, |
1807 | | }; |
1808 | | |
1809 | | // GR64_with_sub_32bit_in_GR32_AD_and_GR32_NOAX Register Class... |
1810 | | const MCPhysReg GR64_with_sub_32bit_in_GR32_AD_and_GR32_NOAX[] = { |
1811 | | X86::RDX, |
1812 | | }; |
1813 | | |
1814 | | // GR64_with_sub_32bit_in_GR32_AD_and_GR32_NOAX Bit set. |
1815 | | const uint8_t GR64_with_sub_32bit_in_GR32_AD_and_GR32_NOAXBits[] = { |
1816 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, |
1817 | | }; |
1818 | | |
1819 | | // RST Register Class... |
1820 | | const MCPhysReg RST[] = { |
1821 | | X86::ST0, X86::ST1, X86::ST2, X86::ST3, X86::ST4, X86::ST5, X86::ST6, X86::ST7, |
1822 | | }; |
1823 | | |
1824 | | // RST Bit set. |
1825 | | const uint8_t RSTBits[] = { |
1826 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, |
1827 | | }; |
1828 | | |
1829 | | // RFP80 Register Class... |
1830 | | const MCPhysReg RFP80[] = { |
1831 | | X86::FP0, X86::FP1, X86::FP2, X86::FP3, X86::FP4, X86::FP5, X86::FP6, |
1832 | | }; |
1833 | | |
1834 | | // RFP80 Bit set. |
1835 | | const uint8_t RFP80Bits[] = { |
1836 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x1f, |
1837 | | }; |
1838 | | |
1839 | | // VR128X Register Class... |
1840 | | const MCPhysReg VR128X[] = { |
1841 | | 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, |
1842 | | }; |
1843 | | |
1844 | | // VR128X Bit set. |
1845 | | const uint8_t VR128XBits[] = { |
1846 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x3f, |
1847 | | }; |
1848 | | |
1849 | | // FR128 Register Class... |
1850 | | const MCPhysReg FR128[] = { |
1851 | | 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, |
1852 | | }; |
1853 | | |
1854 | | // FR128 Bit set. |
1855 | | const uint8_t FR128Bits[] = { |
1856 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x3f, |
1857 | | }; |
1858 | | |
1859 | | // VR128 Register Class... |
1860 | | const MCPhysReg VR128[] = { |
1861 | | 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, |
1862 | | }; |
1863 | | |
1864 | | // VR128 Bit set. |
1865 | | const uint8_t VR128Bits[] = { |
1866 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x3f, |
1867 | | }; |
1868 | | |
1869 | | // BNDR Register Class... |
1870 | | const MCPhysReg BNDR[] = { |
1871 | | X86::BND0, X86::BND1, X86::BND2, X86::BND3, |
1872 | | }; |
1873 | | |
1874 | | // BNDR Bit set. |
1875 | | const uint8_t BNDRBits[] = { |
1876 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, |
1877 | | }; |
1878 | | |
1879 | | // VR256X Register Class... |
1880 | | const MCPhysReg VR256X[] = { |
1881 | | 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, |
1882 | | }; |
1883 | | |
1884 | | // VR256X Bit set. |
1885 | | const uint8_t VR256XBits[] = { |
1886 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x3f, |
1887 | | }; |
1888 | | |
1889 | | // VR256 Register Class... |
1890 | | const MCPhysReg VR256[] = { |
1891 | | 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, |
1892 | | }; |
1893 | | |
1894 | | // VR256 Bit set. |
1895 | | const uint8_t VR256Bits[] = { |
1896 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x3f, |
1897 | | }; |
1898 | | |
1899 | | // VR512 Register Class... |
1900 | | const MCPhysReg VR512[] = { |
1901 | | 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, |
1902 | | }; |
1903 | | |
1904 | | // VR512 Bit set. |
1905 | | const uint8_t VR512Bits[] = { |
1906 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x3f, |
1907 | | }; |
1908 | | |
1909 | | // VR512_with_sub_xmm_in_FR128 Register Class... |
1910 | | const MCPhysReg VR512_with_sub_xmm_in_FR128[] = { |
1911 | | 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, |
1912 | | }; |
1913 | | |
1914 | | // VR512_with_sub_xmm_in_FR128 Bit set. |
1915 | | const uint8_t VR512_with_sub_xmm_in_FR128Bits[] = { |
1916 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x3f, |
1917 | | }; |
1918 | | |
1919 | | } |
1920 | | |
1921 | | extern const char X86RegClassStrings[] = { |
1922 | | /* 0 */ 'R', 'F', 'P', '8', '0', 0, |
1923 | | /* 6 */ 'V', 'K', '1', 0, |
1924 | | /* 10 */ 'V', 'R', '5', '1', '2', 0, |
1925 | | /* 16 */ 'V', 'K', '3', '2', 0, |
1926 | | /* 21 */ 'R', 'F', 'P', '3', '2', 0, |
1927 | | /* 27 */ 'F', 'R', '3', '2', 0, |
1928 | | /* 32 */ 'G', 'R', '3', '2', 0, |
1929 | | /* 37 */ 'V', 'K', '2', 0, |
1930 | | /* 41 */ 'V', 'K', '6', '4', 0, |
1931 | | /* 46 */ 'R', 'F', 'P', '6', '4', 0, |
1932 | | /* 52 */ 'F', 'R', '6', '4', 0, |
1933 | | /* 57 */ 'G', 'R', '6', '4', 0, |
1934 | | /* 62 */ 'V', 'R', '6', '4', 0, |
1935 | | /* 67 */ 'G', 'R', '6', '4', '_', 'T', 'C', '_', 'a', 'n', 'd', '_', 'G', 'R', '6', '4', '_', 'T', 'C', 'W', '6', '4', 0, |
1936 | | /* 90 */ 'G', 'R', '6', '4', '_', 'T', 'C', '_', 'a', 'n', 'd', '_', 'G', 'R', '6', '4', '_', 'N', 'O', 'S', 'P', '_', 'a', 'n', 'd', '_', 'G', 'R', '6', '4', '_', 'T', 'C', 'W', '6', '4', 0, |
1937 | | /* 127 */ 'G', 'R', '6', '4', '_', 'N', 'O', 'R', 'E', 'X', '_', 'a', 'n', 'd', '_', 'G', 'R', '6', '4', '_', 'T', 'C', 'W', '6', '4', 0, |
1938 | | /* 153 */ 'V', 'K', '4', 0, |
1939 | | /* 157 */ 'V', 'K', '1', '6', 0, |
1940 | | /* 162 */ 'G', 'R', '1', '6', 0, |
1941 | | /* 167 */ 'V', 'R', '2', '5', '6', 0, |
1942 | | /* 173 */ 'V', 'R', '5', '1', '2', '_', 'w', 'i', 't', 'h', '_', 's', 'u', 'b', '_', 'x', 'm', 'm', '_', 'i', 'n', '_', 'F', 'R', '1', '2', '8', 0, |
1943 | | /* 201 */ 'V', 'R', '1', '2', '8', 0, |
1944 | | /* 207 */ 'V', 'K', '8', 0, |
1945 | | /* 211 */ 'G', 'R', '8', 0, |
1946 | | /* 215 */ 'G', 'R', '6', '4', '_', 'w', 'i', 't', 'h', '_', 's', 'u', 'b', '_', '3', '2', 'b', 'i', 't', '_', 'i', 'n', '_', 'G', 'R', '3', '2', '_', 'N', 'O', 'A', 'X', '_', 'a', 'n', 'd', '_', 'G', 'R', '3', '2', '_', 'T', 'C', 0, |
1947 | | /* 260 */ 'G', 'R', '6', '4', '_', 'w', 'i', 't', 'h', '_', 's', 'u', 'b', '_', '3', '2', 'b', 'i', 't', '_', 'i', 'n', '_', 'G', 'R', '3', '2', '_', 'T', 'C', 0, |
1948 | | /* 291 */ 'G', 'R', '6', '4', '_', 'N', 'O', 'S', 'P', '_', 'a', 'n', 'd', '_', 'G', 'R', '6', '4', '_', 'T', 'C', 0, |
1949 | | /* 313 */ 'G', 'R', '6', '4', '_', 'N', 'O', 'R', 'E', 'X', '_', 'N', 'O', 'S', 'P', '_', 'a', 'n', 'd', '_', 'G', 'R', '6', '4', '_', 'T', 'C', 0, |
1950 | | /* 341 */ 'G', 'R', '6', '4', '_', 'N', 'O', 'R', 'E', 'X', '_', 'a', 'n', 'd', '_', 'G', 'R', '6', '4', '_', 'T', 'C', 0, |
1951 | | /* 364 */ 'G', 'R', '6', '4', '_', 'w', 'i', 't', 'h', '_', 's', 'u', 'b', '_', '3', '2', 'b', 'i', 't', '_', 'i', 'n', '_', 'G', 'R', '3', '2', '_', 'A', 'D', 0, |
1952 | | /* 395 */ 'G', 'R', '3', '2', '_', 'A', 'B', 'C', 'D', 0, |
1953 | | /* 405 */ 'G', 'R', '6', '4', '_', 'A', 'B', 'C', 'D', 0, |
1954 | | /* 415 */ 'G', 'R', '1', '6', '_', 'A', 'B', 'C', 'D', 0, |
1955 | | /* 425 */ 'D', 'E', 'B', 'U', 'G', '_', 'R', 'E', 'G', 0, |
1956 | | /* 435 */ 'C', 'O', 'N', 'T', 'R', 'O', 'L', '_', 'R', 'E', 'G', 0, |
1957 | | /* 447 */ 'S', 'E', 'G', 'M', 'E', 'N', 'T', '_', 'R', 'E', 'G', 0, |
1958 | | /* 459 */ 'G', 'R', '8', '_', 'A', 'B', 'C', 'D', '_', 'H', 0, |
1959 | | /* 470 */ 'G', 'R', '8', '_', 'A', 'B', 'C', 'D', '_', 'L', 0, |
1960 | | /* 481 */ 'V', 'K', '1', 'W', 'M', 0, |
1961 | | /* 487 */ 'V', 'K', '3', '2', 'W', 'M', 0, |
1962 | | /* 494 */ 'V', 'K', '2', 'W', 'M', 0, |
1963 | | /* 500 */ 'V', 'K', '6', '4', 'W', 'M', 0, |
1964 | | /* 507 */ 'V', 'K', '4', 'W', 'M', 0, |
1965 | | /* 513 */ 'V', 'K', '1', '6', 'W', 'M', 0, |
1966 | | /* 520 */ 'V', 'K', '8', 'W', 'M', 0, |
1967 | | /* 526 */ 'G', 'R', '6', '4', '_', 'w', 'i', 't', 'h', '_', 's', 'u', 'b', '_', '3', '2', 'b', 'i', 't', '_', 'i', 'n', '_', 'G', 'R', '3', '2', '_', 'N', 'O', 'A', 'X', '_', 'a', 'n', 'd', '_', 'G', 'R', '3', '2', '_', 'N', 'O', 'S', 'P', 0, |
1968 | | /* 573 */ 'G', 'R', '6', '4', '_', 'N', 'O', 'S', 'P', 0, |
1969 | | /* 583 */ 'G', 'R', '6', '4', '_', 'w', 'i', 't', 'h', '_', 's', 'u', 'b', '_', '3', '2', 'b', 'i', 't', '_', 'i', 'n', '_', 'G', 'R', '3', '2', '_', 'N', 'O', 'A', 'X', '_', 'a', 'n', 'd', '_', 'G', 'R', '3', '2', '_', 'N', 'O', 'R', 'E', 'X', '_', 'N', 'O', 'S', 'P', 0, |
1970 | | /* 636 */ 'G', 'R', '6', '4', '_', 'N', 'O', 'R', 'E', 'X', '_', 'N', 'O', 'S', 'P', 0, |
1971 | | /* 652 */ 'F', 'P', 'C', 'C', 'R', 0, |
1972 | | /* 658 */ 'B', 'N', 'D', 'R', 0, |
1973 | | /* 663 */ 'R', 'S', 'T', 0, |
1974 | | /* 667 */ 'F', 'R', '3', '2', 'X', 0, |
1975 | | /* 673 */ 'F', 'R', '6', '4', 'X', 0, |
1976 | | /* 679 */ 'V', 'R', '2', '5', '6', 'X', 0, |
1977 | | /* 686 */ 'V', 'R', '1', '2', '8', 'X', 0, |
1978 | | /* 693 */ 'G', 'R', '6', '4', '_', 'w', 'i', 't', 'h', '_', 's', 'u', 'b', '_', '3', '2', 'b', 'i', 't', '_', 'i', 'n', '_', 'G', 'R', '3', '2', '_', 'A', 'D', '_', 'a', 'n', 'd', '_', 'G', 'R', '3', '2', '_', 'N', 'O', 'A', 'X', 0, |
1979 | | /* 738 */ 'G', 'R', '6', '4', '_', 'w', 'i', 't', 'h', '_', 's', 'u', 'b', '_', '3', '2', 'b', 'i', 't', '_', 'i', 'n', '_', 'G', 'R', '3', '2', '_', 'A', 'B', 'C', 'D', '_', 'a', 'n', 'd', '_', 'G', 'R', '3', '2', '_', 'N', 'O', 'A', 'X', 0, |
1980 | | /* 785 */ 'G', 'R', '6', '4', '_', 'T', 'C', 'W', '6', '4', '_', 'a', 'n', 'd', '_', 'G', 'R', '6', '4', '_', 'w', 'i', 't', 'h', '_', 's', 'u', 'b', '_', '3', '2', 'b', 'i', 't', '_', 'i', 'n', '_', 'G', 'R', '3', '2', '_', 'N', 'O', 'A', 'X', 0, |
1981 | | /* 833 */ 'G', 'R', '6', '4', '_', 'T', 'C', 'W', '6', '4', '_', 'a', 'n', 'd', '_', 'G', 'R', '6', '4', '_', 'T', 'C', '_', 'a', 'n', 'd', '_', 'G', 'R', '6', '4', '_', 'w', 'i', 't', 'h', '_', 's', 'u', 'b', '_', '3', '2', 'b', 'i', 't', '_', 'i', 'n', '_', 'G', 'R', '3', '2', '_', 'N', 'O', 'A', 'X', 0, |
1982 | | /* 893 */ 'G', 'R', '6', '4', '_', 'T', 'C', '_', 'a', 'n', 'd', '_', 'G', 'R', '6', '4', '_', 'w', 'i', 't', 'h', '_', 's', 'u', 'b', '_', '3', '2', 'b', 'i', 't', '_', 'i', 'n', '_', 'G', 'R', '3', '2', '_', 'N', 'O', 'A', 'X', '_', 'a', 'n', 'd', '_', 'G', 'R', '3', '2', '_', 'N', 'O', 'R', 'E', 'X', 0, |
1983 | | /* 953 */ 'G', 'R', '6', '4', '_', 'N', 'O', 'R', 'E', 'X', 0, |
1984 | | /* 964 */ 'G', 'R', '6', '4', '_', 'w', 'i', 't', 'h', '_', 's', 'u', 'b', '_', '1', '6', 'b', 'i', 't', '_', 'i', 'n', '_', 'G', 'R', '1', '6', '_', 'N', 'O', 'R', 'E', 'X', 0, |
1985 | | /* 998 */ 'G', 'R', '8', '_', 'N', 'O', 'R', 'E', 'X', 0, |
1986 | | /* 1008 */ 'G', 'R', '6', '4', '_', 'w', 'i', 't', 'h', '_', 's', 'u', 'b', '_', '8', 'b', 'i', 't', 0, |
1987 | | }; |
1988 | | |
1989 | | extern const MCRegisterClass X86MCRegisterClasses[] = { |
1990 | | { GR8, GR8Bits, 211, 20, sizeof(GR8Bits), X86::GR8RegClassID, 1, 1, 1, 1 }, |
1991 | | { GR8_NOREX, GR8_NOREXBits, 998, 8, sizeof(GR8_NOREXBits), X86::GR8_NOREXRegClassID, 1, 1, 1, 1 }, |
1992 | | { VK1, VK1Bits, 6, 8, sizeof(VK1Bits), X86::VK1RegClassID, 1, 1, 1, 1 }, |
1993 | | { VK2, VK2Bits, 37, 8, sizeof(VK2Bits), X86::VK2RegClassID, 1, 1, 1, 1 }, |
1994 | | { VK4, VK4Bits, 153, 8, sizeof(VK4Bits), X86::VK4RegClassID, 1, 1, 1, 1 }, |
1995 | | { VK8, VK8Bits, 207, 8, sizeof(VK8Bits), X86::VK8RegClassID, 1, 1, 1, 1 }, |
1996 | | { VK1WM, VK1WMBits, 481, 7, sizeof(VK1WMBits), X86::VK1WMRegClassID, 1, 1, 1, 1 }, |
1997 | | { VK2WM, VK2WMBits, 494, 7, sizeof(VK2WMBits), X86::VK2WMRegClassID, 1, 1, 1, 1 }, |
1998 | | { VK4WM, VK4WMBits, 507, 7, sizeof(VK4WMBits), X86::VK4WMRegClassID, 1, 1, 1, 1 }, |
1999 | | { VK8WM, VK8WMBits, 520, 7, sizeof(VK8WMBits), X86::VK8WMRegClassID, 1, 1, 1, 1 }, |
2000 | | { GR8_ABCD_H, GR8_ABCD_HBits, 459, 4, sizeof(GR8_ABCD_HBits), X86::GR8_ABCD_HRegClassID, 1, 1, 1, 1 }, |
2001 | | { GR8_ABCD_L, GR8_ABCD_LBits, 470, 4, sizeof(GR8_ABCD_LBits), X86::GR8_ABCD_LRegClassID, 1, 1, 1, 1 }, |
2002 | | { GR16, GR16Bits, 162, 16, sizeof(GR16Bits), X86::GR16RegClassID, 2, 2, 1, 1 }, |
2003 | | { GR16_NOREX, GR16_NOREXBits, 987, 8, sizeof(GR16_NOREXBits), X86::GR16_NOREXRegClassID, 2, 2, 1, 1 }, |
2004 | | { VK16, VK16Bits, 157, 8, sizeof(VK16Bits), X86::VK16RegClassID, 2, 2, 1, 1 }, |
2005 | | { VK16WM, VK16WMBits, 513, 7, sizeof(VK16WMBits), X86::VK16WMRegClassID, 2, 2, 1, 1 }, |
2006 | | { SEGMENT_REG, SEGMENT_REGBits, 447, 6, sizeof(SEGMENT_REGBits), X86::SEGMENT_REGRegClassID, 2, 2, 1, 1 }, |
2007 | | { GR16_ABCD, GR16_ABCDBits, 415, 4, sizeof(GR16_ABCDBits), X86::GR16_ABCDRegClassID, 2, 2, 1, 1 }, |
2008 | | { FPCCR, FPCCRBits, 652, 1, sizeof(FPCCRBits), X86::FPCCRRegClassID, 2, 2, -1, 0 }, |
2009 | | { FR32X, FR32XBits, 667, 32, sizeof(FR32XBits), X86::FR32XRegClassID, 4, 4, 1, 1 }, |
2010 | | { FR32, FR32Bits, 27, 16, sizeof(FR32Bits), X86::FR32RegClassID, 4, 4, 1, 1 }, |
2011 | | { GR32, GR32Bits, 32, 16, sizeof(GR32Bits), X86::GR32RegClassID, 4, 4, 1, 1 }, |
2012 | | { GR32_NOAX, GR32_NOAXBits, 728, 15, sizeof(GR32_NOAXBits), X86::GR32_NOAXRegClassID, 4, 4, 1, 1 }, |
2013 | | { GR32_NOSP, GR32_NOSPBits, 563, 15, sizeof(GR32_NOSPBits), X86::GR32_NOSPRegClassID, 4, 4, 1, 1 }, |
2014 | | { GR32_NOAX_and_GR32_NOSP, GR32_NOAX_and_GR32_NOSPBits, 549, 14, sizeof(GR32_NOAX_and_GR32_NOSPBits), X86::GR32_NOAX_and_GR32_NOSPRegClassID, 4, 4, 1, 1 }, |
2015 | | { DEBUG_REG, DEBUG_REGBits, 425, 8, sizeof(DEBUG_REGBits), X86::DEBUG_REGRegClassID, 4, 4, 1, 1 }, |
2016 | | { GR32_NOREX, GR32_NOREXBits, 942, 8, sizeof(GR32_NOREXBits), X86::GR32_NOREXRegClassID, 4, 4, 1, 1 }, |
2017 | | { VK32, VK32Bits, 16, 8, sizeof(VK32Bits), X86::VK32RegClassID, 4, 4, 1, 1 }, |
2018 | | { GR32_NOAX_and_GR32_NOREX, GR32_NOAX_and_GR32_NOREXBits, 928, 7, sizeof(GR32_NOAX_and_GR32_NOREXBits), X86::GR32_NOAX_and_GR32_NOREXRegClassID, 4, 4, 1, 1 }, |
2019 | | { GR32_NOREX_NOSP, GR32_NOREX_NOSPBits, 620, 7, sizeof(GR32_NOREX_NOSPBits), X86::GR32_NOREX_NOSPRegClassID, 4, 4, 1, 1 }, |
2020 | | { RFP32, RFP32Bits, 21, 7, sizeof(RFP32Bits), X86::RFP32RegClassID, 4, 4, 1, 1 }, |
2021 | | { VK32WM, VK32WMBits, 487, 7, sizeof(VK32WMBits), X86::VK32WMRegClassID, 4, 4, 1, 1 }, |
2022 | | { GR32_NOAX_and_GR32_NOREX_NOSP, GR32_NOAX_and_GR32_NOREX_NOSPBits, 606, 6, sizeof(GR32_NOAX_and_GR32_NOREX_NOSPBits), X86::GR32_NOAX_and_GR32_NOREX_NOSPRegClassID, 4, 4, 1, 1 }, |
2023 | | { GR32_ABCD, GR32_ABCDBits, 395, 4, sizeof(GR32_ABCDBits), X86::GR32_ABCDRegClassID, 4, 4, 1, 1 }, |
2024 | | { GR32_ABCD_and_GR32_NOAX, GR32_ABCD_and_GR32_NOAXBits, 761, 3, sizeof(GR32_ABCD_and_GR32_NOAXBits), X86::GR32_ABCD_and_GR32_NOAXRegClassID, 4, 4, 1, 1 }, |
2025 | | { GR32_TC, GR32_TCBits, 252, 3, sizeof(GR32_TCBits), X86::GR32_TCRegClassID, 4, 4, 1, 1 }, |
2026 | | { GR32_AD, GR32_ADBits, 387, 2, sizeof(GR32_ADBits), X86::GR32_ADRegClassID, 4, 4, 1, 1 }, |
2027 | | { GR32_NOAX_and_GR32_TC, GR32_NOAX_and_GR32_TCBits, 238, 2, sizeof(GR32_NOAX_and_GR32_TCBits), X86::GR32_NOAX_and_GR32_TCRegClassID, 4, 4, 1, 1 }, |
2028 | | { CCR, CCRBits, 654, 1, sizeof(CCRBits), X86::CCRRegClassID, 4, 4, -1, 0 }, |
2029 | | { GR32_AD_and_GR32_NOAX, GR32_AD_and_GR32_NOAXBits, 716, 1, sizeof(GR32_AD_and_GR32_NOAXBits), X86::GR32_AD_and_GR32_NOAXRegClassID, 4, 4, 1, 1 }, |
2030 | | { RFP64, RFP64Bits, 46, 7, sizeof(RFP64Bits), X86::RFP64RegClassID, 8, 4, 1, 1 }, |
2031 | | { FR64X, FR64XBits, 673, 32, sizeof(FR64XBits), X86::FR64XRegClassID, 8, 8, 1, 1 }, |
2032 | | { GR64, GR64Bits, 57, 17, sizeof(GR64Bits), X86::GR64RegClassID, 8, 8, 1, 1 }, |
2033 | | { CONTROL_REG, CONTROL_REGBits, 435, 16, sizeof(CONTROL_REGBits), X86::CONTROL_REGRegClassID, 8, 8, 1, 1 }, |
2034 | | { FR64, FR64Bits, 52, 16, sizeof(FR64Bits), X86::FR64RegClassID, 8, 8, 1, 1 }, |
2035 | | { GR64_with_sub_8bit, GR64_with_sub_8bitBits, 1008, 16, sizeof(GR64_with_sub_8bitBits), X86::GR64_with_sub_8bitRegClassID, 8, 8, 1, 1 }, |
2036 | | { GR64_NOSP, GR64_NOSPBits, 573, 15, sizeof(GR64_NOSPBits), X86::GR64_NOSPRegClassID, 8, 8, 1, 1 }, |
2037 | | { GR64_with_sub_32bit_in_GR32_NOAX, GR64_with_sub_32bit_in_GR32_NOAXBits, 800, 15, sizeof(GR64_with_sub_32bit_in_GR32_NOAXBits), X86::GR64_with_sub_32bit_in_GR32_NOAXRegClassID, 8, 8, 1, 1 }, |
2038 | | { GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOSP, GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOSPBits, 526, 14, sizeof(GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOSPBits), X86::GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOSPRegClassID, 8, 8, 1, 1 }, |
2039 | | { GR64_NOREX, GR64_NOREXBits, 953, 9, sizeof(GR64_NOREXBits), X86::GR64_NOREXRegClassID, 8, 8, 1, 1 }, |
2040 | | { GR64_TC, GR64_TCBits, 305, 9, sizeof(GR64_TCBits), X86::GR64_TCRegClassID, 8, 8, 1, 1 }, |
2041 | | { GR64_NOSP_and_GR64_TC, GR64_NOSP_and_GR64_TCBits, 291, 8, sizeof(GR64_NOSP_and_GR64_TCBits), X86::GR64_NOSP_and_GR64_TCRegClassID, 8, 8, 1, 1 }, |
2042 | | { GR64_TCW64, GR64_TCW64Bits, 79, 8, sizeof(GR64_TCW64Bits), X86::GR64_TCW64RegClassID, 8, 8, 1, 1 }, |
2043 | | { GR64_with_sub_16bit_in_GR16_NOREX, GR64_with_sub_16bit_in_GR16_NOREXBits, 964, 8, sizeof(GR64_with_sub_16bit_in_GR16_NOREXBits), X86::GR64_with_sub_16bit_in_GR16_NOREXRegClassID, 8, 8, 1, 1 }, |
2044 | | { VK64, VK64Bits, 41, 8, sizeof(VK64Bits), X86::VK64RegClassID, 8, 8, 1, 1 }, |
2045 | | { VR64, VR64Bits, 62, 8, sizeof(VR64Bits), X86::VR64RegClassID, 8, 8, 1, 1 }, |
2046 | | { GR64_NOREX_NOSP, GR64_NOREX_NOSPBits, 636, 7, sizeof(GR64_NOREX_NOSPBits), X86::GR64_NOREX_NOSPRegClassID, 8, 8, 1, 1 }, |
2047 | | { GR64_NOSP_and_GR64_TCW64, GR64_NOSP_and_GR64_TCW64Bits, 102, 7, sizeof(GR64_NOSP_and_GR64_TCW64Bits), X86::GR64_NOSP_and_GR64_TCW64RegClassID, 8, 8, 1, 1 }, |
2048 | | { GR64_TC_and_GR64_TCW64, GR64_TC_and_GR64_TCW64Bits, 67, 7, sizeof(GR64_TC_and_GR64_TCW64Bits), X86::GR64_TC_and_GR64_TCW64RegClassID, 8, 8, 1, 1 }, |
2049 | | { GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAX, GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAXBits, 848, 7, sizeof(GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAXBits), X86::GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAXRegClassID, 8, 8, 1, 1 }, |
2050 | | { GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX, GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREXBits, 905, 7, sizeof(GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREXBits), X86::GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREXRegClassID, 8, 8, 1, 1 }, |
2051 | | { VK64WM, VK64WMBits, 500, 7, sizeof(VK64WMBits), X86::VK64WMRegClassID, 8, 8, 1, 1 }, |
2052 | | { GR64_NOREX_and_GR64_TC, GR64_NOREX_and_GR64_TCBits, 341, 6, sizeof(GR64_NOREX_and_GR64_TCBits), X86::GR64_NOREX_and_GR64_TCRegClassID, 8, 8, 1, 1 }, |
2053 | | { GR64_TCW64_and_GR64_with_sub_32bit_in_GR32_NOAX, GR64_TCW64_and_GR64_with_sub_32bit_in_GR32_NOAXBits, 785, 6, sizeof(GR64_TCW64_and_GR64_with_sub_32bit_in_GR32_NOAXBits), X86::GR64_TCW64_and_GR64_with_sub_32bit_in_GR32_NOAXRegClassID, 8, 8, 1, 1 }, |
2054 | | { GR64_TC_and_GR64_NOSP_and_GR64_TCW64, GR64_TC_and_GR64_NOSP_and_GR64_TCW64Bits, 90, 6, sizeof(GR64_TC_and_GR64_NOSP_and_GR64_TCW64Bits), X86::GR64_TC_and_GR64_NOSP_and_GR64_TCW64RegClassID, 8, 8, 1, 1 }, |
2055 | | { GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX_NOSP, GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX_NOSPBits, 583, 6, sizeof(GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX_NOSPBits), X86::GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX_NOSPRegClassID, 8, 8, 1, 1 }, |
2056 | | { GR64_NOREX_NOSP_and_GR64_TC, GR64_NOREX_NOSP_and_GR64_TCBits, 313, 5, sizeof(GR64_NOREX_NOSP_and_GR64_TCBits), X86::GR64_NOREX_NOSP_and_GR64_TCRegClassID, 8, 8, 1, 1 }, |
2057 | | { GR64_TCW64_and_GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAX, GR64_TCW64_and_GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAXBits, 833, 5, sizeof(GR64_TCW64_and_GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAXBits), X86::GR64_TCW64_and_GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAXRegClassID, 8, 8, 1, 1 }, |
2058 | | { GR64_ABCD, GR64_ABCDBits, 405, 4, sizeof(GR64_ABCDBits), X86::GR64_ABCDRegClassID, 8, 8, 1, 1 }, |
2059 | | { GR64_NOREX_and_GR64_TCW64, GR64_NOREX_and_GR64_TCW64Bits, 127, 4, sizeof(GR64_NOREX_and_GR64_TCW64Bits), X86::GR64_NOREX_and_GR64_TCW64RegClassID, 8, 8, 1, 1 }, |
2060 | | { GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX, GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREXBits, 893, 4, sizeof(GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREXBits), X86::GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREXRegClassID, 8, 8, 1, 1 }, |
2061 | | { GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_NOAX, GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_NOAXBits, 738, 3, sizeof(GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_NOAXBits), X86::GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_NOAXRegClassID, 8, 8, 1, 1 }, |
2062 | | { GR64_with_sub_32bit_in_GR32_TC, GR64_with_sub_32bit_in_GR32_TCBits, 260, 3, sizeof(GR64_with_sub_32bit_in_GR32_TCBits), X86::GR64_with_sub_32bit_in_GR32_TCRegClassID, 8, 8, 1, 1 }, |
2063 | | { GR64_with_sub_32bit_in_GR32_AD, GR64_with_sub_32bit_in_GR32_ADBits, 364, 2, sizeof(GR64_with_sub_32bit_in_GR32_ADBits), X86::GR64_with_sub_32bit_in_GR32_ADRegClassID, 8, 8, 1, 1 }, |
2064 | | { GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_TC, GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_TCBits, 215, 2, sizeof(GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_TCBits), X86::GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_TCRegClassID, 8, 8, 1, 1 }, |
2065 | | { GR64_with_sub_32bit_in_GR32_AD_and_GR32_NOAX, GR64_with_sub_32bit_in_GR32_AD_and_GR32_NOAXBits, 693, 1, sizeof(GR64_with_sub_32bit_in_GR32_AD_and_GR32_NOAXBits), X86::GR64_with_sub_32bit_in_GR32_AD_and_GR32_NOAXRegClassID, 8, 8, 1, 1 }, |
2066 | | { RST, RSTBits, 663, 8, sizeof(RSTBits), X86::RSTRegClassID, 10, 4, 1, 0 }, |
2067 | | { RFP80, RFP80Bits, 0, 7, sizeof(RFP80Bits), X86::RFP80RegClassID, 10, 4, 1, 1 }, |
2068 | | { VR128X, VR128XBits, 686, 32, sizeof(VR128XBits), X86::VR128XRegClassID, 16, 16, 1, 1 }, |
2069 | | { FR128, FR128Bits, 195, 16, sizeof(FR128Bits), X86::FR128RegClassID, 16, 16, 1, 1 }, |
2070 | | { VR128, VR128Bits, 201, 16, sizeof(VR128Bits), X86::VR128RegClassID, 16, 16, 1, 1 }, |
2071 | | { BNDR, BNDRBits, 658, 4, sizeof(BNDRBits), X86::BNDRRegClassID, 16, 16, 1, 1 }, |
2072 | | { VR256X, VR256XBits, 679, 32, sizeof(VR256XBits), X86::VR256XRegClassID, 32, 32, 1, 1 }, |
2073 | | { VR256, VR256Bits, 167, 16, sizeof(VR256Bits), X86::VR256RegClassID, 32, 32, 1, 1 }, |
2074 | | { VR512, VR512Bits, 10, 32, sizeof(VR512Bits), X86::VR512RegClassID, 64, 64, 1, 1 }, |
2075 | | { VR512_with_sub_xmm_in_FR128, VR512_with_sub_xmm_in_FR128Bits, 173, 16, sizeof(VR512_with_sub_xmm_in_FR128Bits), X86::VR512_with_sub_xmm_in_FR128RegClassID, 64, 64, 1, 1 }, |
2076 | | }; |
2077 | | |
2078 | | // X86 Dwarf<->LLVM register mappings. |
2079 | | extern const MCRegisterInfo::DwarfLLVMRegPair X86DwarfFlavour0Dwarf2L[] = { |
2080 | | { 0U, X86::RAX }, |
2081 | | { 1U, X86::RDX }, |
2082 | | { 2U, X86::RCX }, |
2083 | | { 3U, X86::RBX }, |
2084 | | { 4U, X86::RSI }, |
2085 | | { 5U, X86::RDI }, |
2086 | | { 6U, X86::RBP }, |
2087 | | { 7U, X86::RSP }, |
2088 | | { 8U, X86::R8 }, |
2089 | | { 9U, X86::R9 }, |
2090 | | { 10U, X86::R10 }, |
2091 | | { 11U, X86::R11 }, |
2092 | | { 12U, X86::R12 }, |
2093 | | { 13U, X86::R13 }, |
2094 | | { 14U, X86::R14 }, |
2095 | | { 15U, X86::R15 }, |
2096 | | { 16U, X86::RIP }, |
2097 | | { 17U, X86::XMM0 }, |
2098 | | { 18U, X86::XMM1 }, |
2099 | | { 19U, X86::XMM2 }, |
2100 | | { 20U, X86::XMM3 }, |
2101 | | { 21U, X86::XMM4 }, |
2102 | | { 22U, X86::XMM5 }, |
2103 | | { 23U, X86::XMM6 }, |
2104 | | { 24U, X86::XMM7 }, |
2105 | | { 25U, X86::XMM8 }, |
2106 | | { 26U, X86::XMM9 }, |
2107 | | { 27U, X86::XMM10 }, |
2108 | | { 28U, X86::XMM11 }, |
2109 | | { 29U, X86::XMM12 }, |
2110 | | { 30U, X86::XMM13 }, |
2111 | | { 31U, X86::XMM14 }, |
2112 | | { 32U, X86::XMM15 }, |
2113 | | { 33U, X86::ST0 }, |
2114 | | { 34U, X86::ST1 }, |
2115 | | { 35U, X86::ST2 }, |
2116 | | { 36U, X86::ST3 }, |
2117 | | { 37U, X86::ST4 }, |
2118 | | { 38U, X86::ST5 }, |
2119 | | { 39U, X86::ST6 }, |
2120 | | { 40U, X86::ST7 }, |
2121 | | { 41U, X86::MM0 }, |
2122 | | { 42U, X86::MM1 }, |
2123 | | { 43U, X86::MM2 }, |
2124 | | { 44U, X86::MM3 }, |
2125 | | { 45U, X86::MM4 }, |
2126 | | { 46U, X86::MM5 }, |
2127 | | { 47U, X86::MM6 }, |
2128 | | { 48U, X86::MM7 }, |
2129 | | { 60U, X86::XMM16 }, |
2130 | | { 61U, X86::XMM17 }, |
2131 | | { 62U, X86::XMM18 }, |
2132 | | { 63U, X86::XMM19 }, |
2133 | | { 64U, X86::XMM20 }, |
2134 | | { 65U, X86::XMM21 }, |
2135 | | { 66U, X86::XMM22 }, |
2136 | | { 67U, X86::XMM23 }, |
2137 | | { 68U, X86::XMM24 }, |
2138 | | { 69U, X86::XMM25 }, |
2139 | | { 70U, X86::XMM26 }, |
2140 | | { 71U, X86::XMM27 }, |
2141 | | { 72U, X86::XMM28 }, |
2142 | | { 73U, X86::XMM29 }, |
2143 | | { 74U, X86::XMM30 }, |
2144 | | { 75U, X86::XMM31 }, |
2145 | | { 118U, X86::K0 }, |
2146 | | { 119U, X86::K1 }, |
2147 | | { 120U, X86::K2 }, |
2148 | | { 121U, X86::K3 }, |
2149 | | { 122U, X86::K4 }, |
2150 | | { 123U, X86::K5 }, |
2151 | | { 124U, X86::K6 }, |
2152 | | { 125U, X86::K7 }, |
2153 | | }; |
2154 | | extern const unsigned X86DwarfFlavour0Dwarf2LSize = array_lengthof(X86DwarfFlavour0Dwarf2L); |
2155 | | |
2156 | | extern const MCRegisterInfo::DwarfLLVMRegPair X86DwarfFlavour1Dwarf2L[] = { |
2157 | | { 0U, X86::EAX }, |
2158 | | { 1U, X86::ECX }, |
2159 | | { 2U, X86::EDX }, |
2160 | | { 3U, X86::EBX }, |
2161 | | { 4U, X86::EBP }, |
2162 | | { 5U, X86::ESP }, |
2163 | | { 6U, X86::ESI }, |
2164 | | { 7U, X86::EDI }, |
2165 | | { 8U, X86::EIP }, |
2166 | | { 12U, X86::ST0 }, |
2167 | | { 13U, X86::ST1 }, |
2168 | | { 14U, X86::ST2 }, |
2169 | | { 15U, X86::ST3 }, |
2170 | | { 16U, X86::ST4 }, |
2171 | | { 17U, X86::ST5 }, |
2172 | | { 18U, X86::ST6 }, |
2173 | | { 19U, X86::ST7 }, |
2174 | | { 21U, X86::XMM0 }, |
2175 | | { 22U, X86::XMM1 }, |
2176 | | { 23U, X86::XMM2 }, |
2177 | | { 24U, X86::XMM3 }, |
2178 | | { 25U, X86::XMM4 }, |
2179 | | { 26U, X86::XMM5 }, |
2180 | | { 27U, X86::XMM6 }, |
2181 | | { 28U, X86::XMM7 }, |
2182 | | { 29U, X86::MM0 }, |
2183 | | { 30U, X86::MM1 }, |
2184 | | { 31U, X86::MM2 }, |
2185 | | { 32U, X86::MM3 }, |
2186 | | { 33U, X86::MM4 }, |
2187 | | { 34U, X86::MM5 }, |
2188 | | { 35U, X86::MM6 }, |
2189 | | { 36U, X86::MM7 }, |
2190 | | }; |
2191 | | extern const unsigned X86DwarfFlavour1Dwarf2LSize = array_lengthof(X86DwarfFlavour1Dwarf2L); |
2192 | | |
2193 | | extern const MCRegisterInfo::DwarfLLVMRegPair X86DwarfFlavour2Dwarf2L[] = { |
2194 | | { 0U, X86::EAX }, |
2195 | | { 1U, X86::ECX }, |
2196 | | { 2U, X86::EDX }, |
2197 | | { 3U, X86::EBX }, |
2198 | | { 4U, X86::ESP }, |
2199 | | { 5U, X86::EBP }, |
2200 | | { 6U, X86::ESI }, |
2201 | | { 7U, X86::EDI }, |
2202 | | { 8U, X86::EIP }, |
2203 | | { 11U, X86::ST0 }, |
2204 | | { 12U, X86::ST1 }, |
2205 | | { 13U, X86::ST2 }, |
2206 | | { 14U, X86::ST3 }, |
2207 | | { 15U, X86::ST4 }, |
2208 | | { 16U, X86::ST5 }, |
2209 | | { 17U, X86::ST6 }, |
2210 | | { 18U, X86::ST7 }, |
2211 | | { 21U, X86::XMM0 }, |
2212 | | { 22U, X86::XMM1 }, |
2213 | | { 23U, X86::XMM2 }, |
2214 | | { 24U, X86::XMM3 }, |
2215 | | { 25U, X86::XMM4 }, |
2216 | | { 26U, X86::XMM5 }, |
2217 | | { 27U, X86::XMM6 }, |
2218 | | { 28U, X86::XMM7 }, |
2219 | | { 29U, X86::MM0 }, |
2220 | | { 30U, X86::MM1 }, |
2221 | | { 31U, X86::MM2 }, |
2222 | | { 32U, X86::MM3 }, |
2223 | | { 33U, X86::MM4 }, |
2224 | | { 34U, X86::MM5 }, |
2225 | | { 35U, X86::MM6 }, |
2226 | | { 36U, X86::MM7 }, |
2227 | | }; |
2228 | | extern const unsigned X86DwarfFlavour2Dwarf2LSize = array_lengthof(X86DwarfFlavour2Dwarf2L); |
2229 | | |
2230 | | extern const MCRegisterInfo::DwarfLLVMRegPair X86EHFlavour0Dwarf2L[] = { |
2231 | | { 0U, X86::RAX }, |
2232 | | { 1U, X86::RDX }, |
2233 | | { 2U, X86::RCX }, |
2234 | | { 3U, X86::RBX }, |
2235 | | { 4U, X86::RSI }, |
2236 | | { 5U, X86::RDI }, |
2237 | | { 6U, X86::RBP }, |
2238 | | { 7U, X86::RSP }, |
2239 | | { 8U, X86::R8 }, |
2240 | | { 9U, X86::R9 }, |
2241 | | { 10U, X86::R10 }, |
2242 | | { 11U, X86::R11 }, |
2243 | | { 12U, X86::R12 }, |
2244 | | { 13U, X86::R13 }, |
2245 | | { 14U, X86::R14 }, |
2246 | | { 15U, X86::R15 }, |
2247 | | { 16U, X86::RIP }, |
2248 | | { 17U, X86::XMM0 }, |
2249 | | { 18U, X86::XMM1 }, |
2250 | | { 19U, X86::XMM2 }, |
2251 | | { 20U, X86::XMM3 }, |
2252 | | { 21U, X86::XMM4 }, |
2253 | | { 22U, X86::XMM5 }, |
2254 | | { 23U, X86::XMM6 }, |
2255 | | { 24U, X86::XMM7 }, |
2256 | | { 25U, X86::XMM8 }, |
2257 | | { 26U, X86::XMM9 }, |
2258 | | { 27U, X86::XMM10 }, |
2259 | | { 28U, X86::XMM11 }, |
2260 | | { 29U, X86::XMM12 }, |
2261 | | { 30U, X86::XMM13 }, |
2262 | | { 31U, X86::XMM14 }, |
2263 | | { 32U, X86::XMM15 }, |
2264 | | { 33U, X86::ST0 }, |
2265 | | { 34U, X86::ST1 }, |
2266 | | { 35U, X86::ST2 }, |
2267 | | { 36U, X86::ST3 }, |
2268 | | { 37U, X86::ST4 }, |
2269 | | { 38U, X86::ST5 }, |
2270 | | { 39U, X86::ST6 }, |
2271 | | { 40U, X86::ST7 }, |
2272 | | { 41U, X86::MM0 }, |
2273 | | { 42U, X86::MM1 }, |
2274 | | { 43U, X86::MM2 }, |
2275 | | { 44U, X86::MM3 }, |
2276 | | { 45U, X86::MM4 }, |
2277 | | { 46U, X86::MM5 }, |
2278 | | { 47U, X86::MM6 }, |
2279 | | { 48U, X86::MM7 }, |
2280 | | { 60U, X86::XMM16 }, |
2281 | | { 61U, X86::XMM17 }, |
2282 | | { 62U, X86::XMM18 }, |
2283 | | { 63U, X86::XMM19 }, |
2284 | | { 64U, X86::XMM20 }, |
2285 | | { 65U, X86::XMM21 }, |
2286 | | { 66U, X86::XMM22 }, |
2287 | | { 67U, X86::XMM23 }, |
2288 | | { 68U, X86::XMM24 }, |
2289 | | { 69U, X86::XMM25 }, |
2290 | | { 70U, X86::XMM26 }, |
2291 | | { 71U, X86::XMM27 }, |
2292 | | { 72U, X86::XMM28 }, |
2293 | | { 73U, X86::XMM29 }, |
2294 | | { 74U, X86::XMM30 }, |
2295 | | { 75U, X86::XMM31 }, |
2296 | | { 118U, X86::K0 }, |
2297 | | { 119U, X86::K1 }, |
2298 | | { 120U, X86::K2 }, |
2299 | | { 121U, X86::K3 }, |
2300 | | { 122U, X86::K4 }, |
2301 | | { 123U, X86::K5 }, |
2302 | | { 124U, X86::K6 }, |
2303 | | { 125U, X86::K7 }, |
2304 | | }; |
2305 | | extern const unsigned X86EHFlavour0Dwarf2LSize = array_lengthof(X86EHFlavour0Dwarf2L); |
2306 | | |
2307 | | extern const MCRegisterInfo::DwarfLLVMRegPair X86EHFlavour1Dwarf2L[] = { |
2308 | | { 0U, X86::EAX }, |
2309 | | { 1U, X86::ECX }, |
2310 | | { 2U, X86::EDX }, |
2311 | | { 3U, X86::EBX }, |
2312 | | { 4U, X86::EBP }, |
2313 | | { 5U, X86::ESP }, |
2314 | | { 6U, X86::ESI }, |
2315 | | { 7U, X86::EDI }, |
2316 | | { 8U, X86::EIP }, |
2317 | | { 12U, X86::ST0 }, |
2318 | | { 13U, X86::ST1 }, |
2319 | | { 14U, X86::ST2 }, |
2320 | | { 15U, X86::ST3 }, |
2321 | | { 16U, X86::ST4 }, |
2322 | | { 17U, X86::ST5 }, |
2323 | | { 18U, X86::ST6 }, |
2324 | | { 19U, X86::ST7 }, |
2325 | | { 21U, X86::XMM0 }, |
2326 | | { 22U, X86::XMM1 }, |
2327 | | { 23U, X86::XMM2 }, |
2328 | | { 24U, X86::XMM3 }, |
2329 | | { 25U, X86::XMM4 }, |
2330 | | { 26U, X86::XMM5 }, |
2331 | | { 27U, X86::XMM6 }, |
2332 | | { 28U, X86::XMM7 }, |
2333 | | { 29U, X86::MM0 }, |
2334 | | { 30U, X86::MM1 }, |
2335 | | { 31U, X86::MM2 }, |
2336 | | { 32U, X86::MM3 }, |
2337 | | { 33U, X86::MM4 }, |
2338 | | { 34U, X86::MM5 }, |
2339 | | { 35U, X86::MM6 }, |
2340 | | { 36U, X86::MM7 }, |
2341 | | }; |
2342 | | extern const unsigned X86EHFlavour1Dwarf2LSize = array_lengthof(X86EHFlavour1Dwarf2L); |
2343 | | |
2344 | | extern const MCRegisterInfo::DwarfLLVMRegPair X86EHFlavour2Dwarf2L[] = { |
2345 | | { 0U, X86::EAX }, |
2346 | | { 1U, X86::ECX }, |
2347 | | { 2U, X86::EDX }, |
2348 | | { 3U, X86::EBX }, |
2349 | | { 4U, X86::ESP }, |
2350 | | { 5U, X86::EBP }, |
2351 | | { 6U, X86::ESI }, |
2352 | | { 7U, X86::EDI }, |
2353 | | { 8U, X86::EIP }, |
2354 | | { 11U, X86::ST0 }, |
2355 | | { 12U, X86::ST1 }, |
2356 | | { 13U, X86::ST2 }, |
2357 | | { 14U, X86::ST3 }, |
2358 | | { 15U, X86::ST4 }, |
2359 | | { 16U, X86::ST5 }, |
2360 | | { 17U, X86::ST6 }, |
2361 | | { 18U, X86::ST7 }, |
2362 | | { 21U, X86::XMM0 }, |
2363 | | { 22U, X86::XMM1 }, |
2364 | | { 23U, X86::XMM2 }, |
2365 | | { 24U, X86::XMM3 }, |
2366 | | { 25U, X86::XMM4 }, |
2367 | | { 26U, X86::XMM5 }, |
2368 | | { 27U, X86::XMM6 }, |
2369 | | { 28U, X86::XMM7 }, |
2370 | | { 29U, X86::MM0 }, |
2371 | | { 30U, X86::MM1 }, |
2372 | | { 31U, X86::MM2 }, |
2373 | | { 32U, X86::MM3 }, |
2374 | | { 33U, X86::MM4 }, |
2375 | | { 34U, X86::MM5 }, |
2376 | | { 35U, X86::MM6 }, |
2377 | | { 36U, X86::MM7 }, |
2378 | | }; |
2379 | | extern const unsigned X86EHFlavour2Dwarf2LSize = array_lengthof(X86EHFlavour2Dwarf2L); |
2380 | | |
2381 | | extern const MCRegisterInfo::DwarfLLVMRegPair X86DwarfFlavour0L2Dwarf[] = { |
2382 | | { X86::EAX, -2U }, |
2383 | | { X86::EBP, -2U }, |
2384 | | { X86::EBX, -2U }, |
2385 | | { X86::ECX, -2U }, |
2386 | | { X86::EDI, -2U }, |
2387 | | { X86::EDX, -2U }, |
2388 | | { X86::EIP, -2U }, |
2389 | | { X86::ESI, -2U }, |
2390 | | { X86::ESP, -2U }, |
2391 | | { X86::RAX, 0U }, |
2392 | | { X86::RBP, 6U }, |
2393 | | { X86::RBX, 3U }, |
2394 | | { X86::RCX, 2U }, |
2395 | | { X86::RDI, 5U }, |
2396 | | { X86::RDX, 1U }, |
2397 | | { X86::RIP, 16U }, |
2398 | | { X86::RSI, 4U }, |
2399 | | { X86::RSP, 7U }, |
2400 | | { X86::K0, 118U }, |
2401 | | { X86::K1, 119U }, |
2402 | | { X86::K2, 120U }, |
2403 | | { X86::K3, 121U }, |
2404 | | { X86::K4, 122U }, |
2405 | | { X86::K5, 123U }, |
2406 | | { X86::K6, 124U }, |
2407 | | { X86::K7, 125U }, |
2408 | | { X86::MM0, 41U }, |
2409 | | { X86::MM1, 42U }, |
2410 | | { X86::MM2, 43U }, |
2411 | | { X86::MM3, 44U }, |
2412 | | { X86::MM4, 45U }, |
2413 | | { X86::MM5, 46U }, |
2414 | | { X86::MM6, 47U }, |
2415 | | { X86::MM7, 48U }, |
2416 | | { X86::R8, 8U }, |
2417 | | { X86::R9, 9U }, |
2418 | | { X86::R10, 10U }, |
2419 | | { X86::R11, 11U }, |
2420 | | { X86::R12, 12U }, |
2421 | | { X86::R13, 13U }, |
2422 | | { X86::R14, 14U }, |
2423 | | { X86::R15, 15U }, |
2424 | | { X86::ST0, 33U }, |
2425 | | { X86::ST1, 34U }, |
2426 | | { X86::ST2, 35U }, |
2427 | | { X86::ST3, 36U }, |
2428 | | { X86::ST4, 37U }, |
2429 | | { X86::ST5, 38U }, |
2430 | | { X86::ST6, 39U }, |
2431 | | { X86::ST7, 40U }, |
2432 | | { X86::XMM0, 17U }, |
2433 | | { X86::XMM1, 18U }, |
2434 | | { X86::XMM2, 19U }, |
2435 | | { X86::XMM3, 20U }, |
2436 | | { X86::XMM4, 21U }, |
2437 | | { X86::XMM5, 22U }, |
2438 | | { X86::XMM6, 23U }, |
2439 | | { X86::XMM7, 24U }, |
2440 | | { X86::XMM8, 25U }, |
2441 | | { X86::XMM9, 26U }, |
2442 | | { X86::XMM10, 27U }, |
2443 | | { X86::XMM11, 28U }, |
2444 | | { X86::XMM12, 29U }, |
2445 | | { X86::XMM13, 30U }, |
2446 | | { X86::XMM14, 31U }, |
2447 | | { X86::XMM15, 32U }, |
2448 | | { X86::XMM16, 60U }, |
2449 | | { X86::XMM17, 61U }, |
2450 | | { X86::XMM18, 62U }, |
2451 | | { X86::XMM19, 63U }, |
2452 | | { X86::XMM20, 64U }, |
2453 | | { X86::XMM21, 65U }, |
2454 | | { X86::XMM22, 66U }, |
2455 | | { X86::XMM23, 67U }, |
2456 | | { X86::XMM24, 68U }, |
2457 | | { X86::XMM25, 69U }, |
2458 | | { X86::XMM26, 70U }, |
2459 | | { X86::XMM27, 71U }, |
2460 | | { X86::XMM28, 72U }, |
2461 | | { X86::XMM29, 73U }, |
2462 | | { X86::XMM30, 74U }, |
2463 | | { X86::XMM31, 75U }, |
2464 | | { X86::YMM0, 17U }, |
2465 | | { X86::YMM1, 18U }, |
2466 | | { X86::YMM2, 19U }, |
2467 | | { X86::YMM3, 20U }, |
2468 | | { X86::YMM4, 21U }, |
2469 | | { X86::YMM5, 22U }, |
2470 | | { X86::YMM6, 23U }, |
2471 | | { X86::YMM7, 24U }, |
2472 | | { X86::YMM8, 25U }, |
2473 | | { X86::YMM9, 26U }, |
2474 | | { X86::YMM10, 27U }, |
2475 | | { X86::YMM11, 28U }, |
2476 | | { X86::YMM12, 29U }, |
2477 | | { X86::YMM13, 30U }, |
2478 | | { X86::YMM14, 31U }, |
2479 | | { X86::YMM15, 32U }, |
2480 | | { X86::YMM16, 60U }, |
2481 | | { X86::YMM17, 61U }, |
2482 | | { X86::YMM18, 62U }, |
2483 | | { X86::YMM19, 63U }, |
2484 | | { X86::YMM20, 64U }, |
2485 | | { X86::YMM21, 65U }, |
2486 | | { X86::YMM22, 66U }, |
2487 | | { X86::YMM23, 67U }, |
2488 | | { X86::YMM24, 68U }, |
2489 | | { X86::YMM25, 69U }, |
2490 | | { X86::YMM26, 70U }, |
2491 | | { X86::YMM27, 71U }, |
2492 | | { X86::YMM28, 72U }, |
2493 | | { X86::YMM29, 73U }, |
2494 | | { X86::YMM30, 74U }, |
2495 | | { X86::YMM31, 75U }, |
2496 | | { X86::ZMM0, 17U }, |
2497 | | { X86::ZMM1, 18U }, |
2498 | | { X86::ZMM2, 19U }, |
2499 | | { X86::ZMM3, 20U }, |
2500 | | { X86::ZMM4, 21U }, |
2501 | | { X86::ZMM5, 22U }, |
2502 | | { X86::ZMM6, 23U }, |
2503 | | { X86::ZMM7, 24U }, |
2504 | | { X86::ZMM8, 25U }, |
2505 | | { X86::ZMM9, 26U }, |
2506 | | { X86::ZMM10, 27U }, |
2507 | | { X86::ZMM11, 28U }, |
2508 | | { X86::ZMM12, 29U }, |
2509 | | { X86::ZMM13, 30U }, |
2510 | | { X86::ZMM14, 31U }, |
2511 | | { X86::ZMM15, 32U }, |
2512 | | { X86::ZMM16, 60U }, |
2513 | | { X86::ZMM17, 61U }, |
2514 | | { X86::ZMM18, 62U }, |
2515 | | { X86::ZMM19, 63U }, |
2516 | | { X86::ZMM20, 64U }, |
2517 | | { X86::ZMM21, 65U }, |
2518 | | { X86::ZMM22, 66U }, |
2519 | | { X86::ZMM23, 67U }, |
2520 | | { X86::ZMM24, 68U }, |
2521 | | { X86::ZMM25, 69U }, |
2522 | | { X86::ZMM26, 70U }, |
2523 | | { X86::ZMM27, 71U }, |
2524 | | { X86::ZMM28, 72U }, |
2525 | | { X86::ZMM29, 73U }, |
2526 | | { X86::ZMM30, 74U }, |
2527 | | { X86::ZMM31, 75U }, |
2528 | | }; |
2529 | | extern const unsigned X86DwarfFlavour0L2DwarfSize = array_lengthof(X86DwarfFlavour0L2Dwarf); |
2530 | | |
2531 | | extern const MCRegisterInfo::DwarfLLVMRegPair X86DwarfFlavour1L2Dwarf[] = { |
2532 | | { X86::EAX, 0U }, |
2533 | | { X86::EBP, 4U }, |
2534 | | { X86::EBX, 3U }, |
2535 | | { X86::ECX, 1U }, |
2536 | | { X86::EDI, 7U }, |
2537 | | { X86::EDX, 2U }, |
2538 | | { X86::EIP, 8U }, |
2539 | | { X86::ESI, 6U }, |
2540 | | { X86::ESP, 5U }, |
2541 | | { X86::RAX, -2U }, |
2542 | | { X86::RBP, -2U }, |
2543 | | { X86::RBX, -2U }, |
2544 | | { X86::RCX, -2U }, |
2545 | | { X86::RDI, -2U }, |
2546 | | { X86::RDX, -2U }, |
2547 | | { X86::RIP, -2U }, |
2548 | | { X86::RSI, -2U }, |
2549 | | { X86::RSP, -2U }, |
2550 | | { X86::K0, -2U }, |
2551 | | { X86::K1, -2U }, |
2552 | | { X86::K2, -2U }, |
2553 | | { X86::K3, -2U }, |
2554 | | { X86::K4, -2U }, |
2555 | | { X86::K5, -2U }, |
2556 | | { X86::K6, -2U }, |
2557 | | { X86::K7, -2U }, |
2558 | | { X86::MM0, 29U }, |
2559 | | { X86::MM1, 30U }, |
2560 | | { X86::MM2, 31U }, |
2561 | | { X86::MM3, 32U }, |
2562 | | { X86::MM4, 33U }, |
2563 | | { X86::MM5, 34U }, |
2564 | | { X86::MM6, 35U }, |
2565 | | { X86::MM7, 36U }, |
2566 | | { X86::R8, -2U }, |
2567 | | { X86::R9, -2U }, |
2568 | | { X86::R10, -2U }, |
2569 | | { X86::R11, -2U }, |
2570 | | { X86::R12, -2U }, |
2571 | | { X86::R13, -2U }, |
2572 | | { X86::R14, -2U }, |
2573 | | { X86::R15, -2U }, |
2574 | | { X86::ST0, 12U }, |
2575 | | { X86::ST1, 13U }, |
2576 | | { X86::ST2, 14U }, |
2577 | | { X86::ST3, 15U }, |
2578 | | { X86::ST4, 16U }, |
2579 | | { X86::ST5, 17U }, |
2580 | | { X86::ST6, 18U }, |
2581 | | { X86::ST7, 19U }, |
2582 | | { X86::XMM0, 21U }, |
2583 | | { X86::XMM1, 22U }, |
2584 | | { X86::XMM2, 23U }, |
2585 | | { X86::XMM3, 24U }, |
2586 | | { X86::XMM4, 25U }, |
2587 | | { X86::XMM5, 26U }, |
2588 | | { X86::XMM6, 27U }, |
2589 | | { X86::XMM7, 28U }, |
2590 | | { X86::XMM8, -2U }, |
2591 | | { X86::XMM9, -2U }, |
2592 | | { X86::XMM10, -2U }, |
2593 | | { X86::XMM11, -2U }, |
2594 | | { X86::XMM12, -2U }, |
2595 | | { X86::XMM13, -2U }, |
2596 | | { X86::XMM14, -2U }, |
2597 | | { X86::XMM15, -2U }, |
2598 | | { X86::XMM16, -2U }, |
2599 | | { X86::XMM17, -2U }, |
2600 | | { X86::XMM18, -2U }, |
2601 | | { X86::XMM19, -2U }, |
2602 | | { X86::XMM20, -2U }, |
2603 | | { X86::XMM21, -2U }, |
2604 | | { X86::XMM22, -2U }, |
2605 | | { X86::XMM23, -2U }, |
2606 | | { X86::XMM24, -2U }, |
2607 | | { X86::XMM25, -2U }, |
2608 | | { X86::XMM26, -2U }, |
2609 | | { X86::XMM27, -2U }, |
2610 | | { X86::XMM28, -2U }, |
2611 | | { X86::XMM29, -2U }, |
2612 | | { X86::XMM30, -2U }, |
2613 | | { X86::XMM31, -2U }, |
2614 | | { X86::YMM0, 21U }, |
2615 | | { X86::YMM1, 22U }, |
2616 | | { X86::YMM2, 23U }, |
2617 | | { X86::YMM3, 24U }, |
2618 | | { X86::YMM4, 25U }, |
2619 | | { X86::YMM5, 26U }, |
2620 | | { X86::YMM6, 27U }, |
2621 | | { X86::YMM7, 28U }, |
2622 | | { X86::YMM8, -2U }, |
2623 | | { X86::YMM9, -2U }, |
2624 | | { X86::YMM10, -2U }, |
2625 | | { X86::YMM11, -2U }, |
2626 | | { X86::YMM12, -2U }, |
2627 | | { X86::YMM13, -2U }, |
2628 | | { X86::YMM14, -2U }, |
2629 | | { X86::YMM15, -2U }, |
2630 | | { X86::YMM16, -2U }, |
2631 | | { X86::YMM17, -2U }, |
2632 | | { X86::YMM18, -2U }, |
2633 | | { X86::YMM19, -2U }, |
2634 | | { X86::YMM20, -2U }, |
2635 | | { X86::YMM21, -2U }, |
2636 | | { X86::YMM22, -2U }, |
2637 | | { X86::YMM23, -2U }, |
2638 | | { X86::YMM24, -2U }, |
2639 | | { X86::YMM25, -2U }, |
2640 | | { X86::YMM26, -2U }, |
2641 | | { X86::YMM27, -2U }, |
2642 | | { X86::YMM28, -2U }, |
2643 | | { X86::YMM29, -2U }, |
2644 | | { X86::YMM30, -2U }, |
2645 | | { X86::YMM31, -2U }, |
2646 | | { X86::ZMM0, 21U }, |
2647 | | { X86::ZMM1, 22U }, |
2648 | | { X86::ZMM2, 23U }, |
2649 | | { X86::ZMM3, 24U }, |
2650 | | { X86::ZMM4, 25U }, |
2651 | | { X86::ZMM5, 26U }, |
2652 | | { X86::ZMM6, 27U }, |
2653 | | { X86::ZMM7, 28U }, |
2654 | | { X86::ZMM8, -2U }, |
2655 | | { X86::ZMM9, -2U }, |
2656 | | { X86::ZMM10, -2U }, |
2657 | | { X86::ZMM11, -2U }, |
2658 | | { X86::ZMM12, -2U }, |
2659 | | { X86::ZMM13, -2U }, |
2660 | | { X86::ZMM14, -2U }, |
2661 | | { X86::ZMM15, -2U }, |
2662 | | { X86::ZMM16, -2U }, |
2663 | | { X86::ZMM17, -2U }, |
2664 | | { X86::ZMM18, -2U }, |
2665 | | { X86::ZMM19, -2U }, |
2666 | | { X86::ZMM20, -2U }, |
2667 | | { X86::ZMM21, -2U }, |
2668 | | { X86::ZMM22, -2U }, |
2669 | | { X86::ZMM23, -2U }, |
2670 | | { X86::ZMM24, -2U }, |
2671 | | { X86::ZMM25, -2U }, |
2672 | | { X86::ZMM26, -2U }, |
2673 | | { X86::ZMM27, -2U }, |
2674 | | { X86::ZMM28, -2U }, |
2675 | | { X86::ZMM29, -2U }, |
2676 | | { X86::ZMM30, -2U }, |
2677 | | { X86::ZMM31, -2U }, |
2678 | | }; |
2679 | | extern const unsigned X86DwarfFlavour1L2DwarfSize = array_lengthof(X86DwarfFlavour1L2Dwarf); |
2680 | | |
2681 | | extern const MCRegisterInfo::DwarfLLVMRegPair X86DwarfFlavour2L2Dwarf[] = { |
2682 | | { X86::EAX, 0U }, |
2683 | | { X86::EBP, 5U }, |
2684 | | { X86::EBX, 3U }, |
2685 | | { X86::ECX, 1U }, |
2686 | | { X86::EDI, 7U }, |
2687 | | { X86::EDX, 2U }, |
2688 | | { X86::EIP, 8U }, |
2689 | | { X86::ESI, 6U }, |
2690 | | { X86::ESP, 4U }, |
2691 | | { X86::RAX, -2U }, |
2692 | | { X86::RBP, -2U }, |
2693 | | { X86::RBX, -2U }, |
2694 | | { X86::RCX, -2U }, |
2695 | | { X86::RDI, -2U }, |
2696 | | { X86::RDX, -2U }, |
2697 | | { X86::RIP, -2U }, |
2698 | | { X86::RSI, -2U }, |
2699 | | { X86::RSP, -2U }, |
2700 | | { X86::K0, -2U }, |
2701 | | { X86::K1, -2U }, |
2702 | | { X86::K2, -2U }, |
2703 | | { X86::K3, -2U }, |
2704 | | { X86::K4, -2U }, |
2705 | | { X86::K5, -2U }, |
2706 | | { X86::K6, -2U }, |
2707 | | { X86::K7, -2U }, |
2708 | | { X86::MM0, 29U }, |
2709 | | { X86::MM1, 30U }, |
2710 | | { X86::MM2, 31U }, |
2711 | | { X86::MM3, 32U }, |
2712 | | { X86::MM4, 33U }, |
2713 | | { X86::MM5, 34U }, |
2714 | | { X86::MM6, 35U }, |
2715 | | { X86::MM7, 36U }, |
2716 | | { X86::R8, -2U }, |
2717 | | { X86::R9, -2U }, |
2718 | | { X86::R10, -2U }, |
2719 | | { X86::R11, -2U }, |
2720 | | { X86::R12, -2U }, |
2721 | | { X86::R13, -2U }, |
2722 | | { X86::R14, -2U }, |
2723 | | { X86::R15, -2U }, |
2724 | | { X86::ST0, 11U }, |
2725 | | { X86::ST1, 12U }, |
2726 | | { X86::ST2, 13U }, |
2727 | | { X86::ST3, 14U }, |
2728 | | { X86::ST4, 15U }, |
2729 | | { X86::ST5, 16U }, |
2730 | | { X86::ST6, 17U }, |
2731 | | { X86::ST7, 18U }, |
2732 | | { X86::XMM0, 21U }, |
2733 | | { X86::XMM1, 22U }, |
2734 | | { X86::XMM2, 23U }, |
2735 | | { X86::XMM3, 24U }, |
2736 | | { X86::XMM4, 25U }, |
2737 | | { X86::XMM5, 26U }, |
2738 | | { X86::XMM6, 27U }, |
2739 | | { X86::XMM7, 28U }, |
2740 | | { X86::XMM8, -2U }, |
2741 | | { X86::XMM9, -2U }, |
2742 | | { X86::XMM10, -2U }, |
2743 | | { X86::XMM11, -2U }, |
2744 | | { X86::XMM12, -2U }, |
2745 | | { X86::XMM13, -2U }, |
2746 | | { X86::XMM14, -2U }, |
2747 | | { X86::XMM15, -2U }, |
2748 | | { X86::XMM16, -2U }, |
2749 | | { X86::XMM17, -2U }, |
2750 | | { X86::XMM18, -2U }, |
2751 | | { X86::XMM19, -2U }, |
2752 | | { X86::XMM20, -2U }, |
2753 | | { X86::XMM21, -2U }, |
2754 | | { X86::XMM22, -2U }, |
2755 | | { X86::XMM23, -2U }, |
2756 | | { X86::XMM24, -2U }, |
2757 | | { X86::XMM25, -2U }, |
2758 | | { X86::XMM26, -2U }, |
2759 | | { X86::XMM27, -2U }, |
2760 | | { X86::XMM28, -2U }, |
2761 | | { X86::XMM29, -2U }, |
2762 | | { X86::XMM30, -2U }, |
2763 | | { X86::XMM31, -2U }, |
2764 | | { X86::YMM0, 21U }, |
2765 | | { X86::YMM1, 22U }, |
2766 | | { X86::YMM2, 23U }, |
2767 | | { X86::YMM3, 24U }, |
2768 | | { X86::YMM4, 25U }, |
2769 | | { X86::YMM5, 26U }, |
2770 | | { X86::YMM6, 27U }, |
2771 | | { X86::YMM7, 28U }, |
2772 | | { X86::YMM8, -2U }, |
2773 | | { X86::YMM9, -2U }, |
2774 | | { X86::YMM10, -2U }, |
2775 | | { X86::YMM11, -2U }, |
2776 | | { X86::YMM12, -2U }, |
2777 | | { X86::YMM13, -2U }, |
2778 | | { X86::YMM14, -2U }, |
2779 | | { X86::YMM15, -2U }, |
2780 | | { X86::YMM16, -2U }, |
2781 | | { X86::YMM17, -2U }, |
2782 | | { X86::YMM18, -2U }, |
2783 | | { X86::YMM19, -2U }, |
2784 | | { X86::YMM20, -2U }, |
2785 | | { X86::YMM21, -2U }, |
2786 | | { X86::YMM22, -2U }, |
2787 | | { X86::YMM23, -2U }, |
2788 | | { X86::YMM24, -2U }, |
2789 | | { X86::YMM25, -2U }, |
2790 | | { X86::YMM26, -2U }, |
2791 | | { X86::YMM27, -2U }, |
2792 | | { X86::YMM28, -2U }, |
2793 | | { X86::YMM29, -2U }, |
2794 | | { X86::YMM30, -2U }, |
2795 | | { X86::YMM31, -2U }, |
2796 | | { X86::ZMM0, 21U }, |
2797 | | { X86::ZMM1, 22U }, |
2798 | | { X86::ZMM2, 23U }, |
2799 | | { X86::ZMM3, 24U }, |
2800 | | { X86::ZMM4, 25U }, |
2801 | | { X86::ZMM5, 26U }, |
2802 | | { X86::ZMM6, 27U }, |
2803 | | { X86::ZMM7, 28U }, |
2804 | | { X86::ZMM8, -2U }, |
2805 | | { X86::ZMM9, -2U }, |
2806 | | { X86::ZMM10, -2U }, |
2807 | | { X86::ZMM11, -2U }, |
2808 | | { X86::ZMM12, -2U }, |
2809 | | { X86::ZMM13, -2U }, |
2810 | | { X86::ZMM14, -2U }, |
2811 | | { X86::ZMM15, -2U }, |
2812 | | { X86::ZMM16, -2U }, |
2813 | | { X86::ZMM17, -2U }, |
2814 | | { X86::ZMM18, -2U }, |
2815 | | { X86::ZMM19, -2U }, |
2816 | | { X86::ZMM20, -2U }, |
2817 | | { X86::ZMM21, -2U }, |
2818 | | { X86::ZMM22, -2U }, |
2819 | | { X86::ZMM23, -2U }, |
2820 | | { X86::ZMM24, -2U }, |
2821 | | { X86::ZMM25, -2U }, |
2822 | | { X86::ZMM26, -2U }, |
2823 | | { X86::ZMM27, -2U }, |
2824 | | { X86::ZMM28, -2U }, |
2825 | | { X86::ZMM29, -2U }, |
2826 | | { X86::ZMM30, -2U }, |
2827 | | { X86::ZMM31, -2U }, |
2828 | | }; |
2829 | | extern const unsigned X86DwarfFlavour2L2DwarfSize = array_lengthof(X86DwarfFlavour2L2Dwarf); |
2830 | | |
2831 | | extern const MCRegisterInfo::DwarfLLVMRegPair X86EHFlavour0L2Dwarf[] = { |
2832 | | { X86::EAX, -2U }, |
2833 | | { X86::EBP, -2U }, |
2834 | | { X86::EBX, -2U }, |
2835 | | { X86::ECX, -2U }, |
2836 | | { X86::EDI, -2U }, |
2837 | | { X86::EDX, -2U }, |
2838 | | { X86::EIP, -2U }, |
2839 | | { X86::ESI, -2U }, |
2840 | | { X86::ESP, -2U }, |
2841 | | { X86::RAX, 0U }, |
2842 | | { X86::RBP, 6U }, |
2843 | | { X86::RBX, 3U }, |
2844 | | { X86::RCX, 2U }, |
2845 | | { X86::RDI, 5U }, |
2846 | | { X86::RDX, 1U }, |
2847 | | { X86::RIP, 16U }, |
2848 | | { X86::RSI, 4U }, |
2849 | | { X86::RSP, 7U }, |
2850 | | { X86::K0, 118U }, |
2851 | | { X86::K1, 119U }, |
2852 | | { X86::K2, 120U }, |
2853 | | { X86::K3, 121U }, |
2854 | | { X86::K4, 122U }, |
2855 | | { X86::K5, 123U }, |
2856 | | { X86::K6, 124U }, |
2857 | | { X86::K7, 125U }, |
2858 | | { X86::MM0, 41U }, |
2859 | | { X86::MM1, 42U }, |
2860 | | { X86::MM2, 43U }, |
2861 | | { X86::MM3, 44U }, |
2862 | | { X86::MM4, 45U }, |
2863 | | { X86::MM5, 46U }, |
2864 | | { X86::MM6, 47U }, |
2865 | | { X86::MM7, 48U }, |
2866 | | { X86::R8, 8U }, |
2867 | | { X86::R9, 9U }, |
2868 | | { X86::R10, 10U }, |
2869 | | { X86::R11, 11U }, |
2870 | | { X86::R12, 12U }, |
2871 | | { X86::R13, 13U }, |
2872 | | { X86::R14, 14U }, |
2873 | | { X86::R15, 15U }, |
2874 | | { X86::ST0, 33U }, |
2875 | | { X86::ST1, 34U }, |
2876 | | { X86::ST2, 35U }, |
2877 | | { X86::ST3, 36U }, |
2878 | | { X86::ST4, 37U }, |
2879 | | { X86::ST5, 38U }, |
2880 | | { X86::ST6, 39U }, |
2881 | | { X86::ST7, 40U }, |
2882 | | { X86::XMM0, 17U }, |
2883 | | { X86::XMM1, 18U }, |
2884 | | { X86::XMM2, 19U }, |
2885 | | { X86::XMM3, 20U }, |
2886 | | { X86::XMM4, 21U }, |
2887 | | { X86::XMM5, 22U }, |
2888 | | { X86::XMM6, 23U }, |
2889 | | { X86::XMM7, 24U }, |
2890 | | { X86::XMM8, 25U }, |
2891 | | { X86::XMM9, 26U }, |
2892 | | { X86::XMM10, 27U }, |
2893 | | { X86::XMM11, 28U }, |
2894 | | { X86::XMM12, 29U }, |
2895 | | { X86::XMM13, 30U }, |
2896 | | { X86::XMM14, 31U }, |
2897 | | { X86::XMM15, 32U }, |
2898 | | { X86::XMM16, 60U }, |
2899 | | { X86::XMM17, 61U }, |
2900 | | { X86::XMM18, 62U }, |
2901 | | { X86::XMM19, 63U }, |
2902 | | { X86::XMM20, 64U }, |
2903 | | { X86::XMM21, 65U }, |
2904 | | { X86::XMM22, 66U }, |
2905 | | { X86::XMM23, 67U }, |
2906 | | { X86::XMM24, 68U }, |
2907 | | { X86::XMM25, 69U }, |
2908 | | { X86::XMM26, 70U }, |
2909 | | { X86::XMM27, 71U }, |
2910 | | { X86::XMM28, 72U }, |
2911 | | { X86::XMM29, 73U }, |
2912 | | { X86::XMM30, 74U }, |
2913 | | { X86::XMM31, 75U }, |
2914 | | { X86::YMM0, 17U }, |
2915 | | { X86::YMM1, 18U }, |
2916 | | { X86::YMM2, 19U }, |
2917 | | { X86::YMM3, 20U }, |
2918 | | { X86::YMM4, 21U }, |
2919 | | { X86::YMM5, 22U }, |
2920 | | { X86::YMM6, 23U }, |
2921 | | { X86::YMM7, 24U }, |
2922 | | { X86::YMM8, 25U }, |
2923 | | { X86::YMM9, 26U }, |
2924 | | { X86::YMM10, 27U }, |
2925 | | { X86::YMM11, 28U }, |
2926 | | { X86::YMM12, 29U }, |
2927 | | { X86::YMM13, 30U }, |
2928 | | { X86::YMM14, 31U }, |
2929 | | { X86::YMM15, 32U }, |
2930 | | { X86::YMM16, 60U }, |
2931 | | { X86::YMM17, 61U }, |
2932 | | { X86::YMM18, 62U }, |
2933 | | { X86::YMM19, 63U }, |
2934 | | { X86::YMM20, 64U }, |
2935 | | { X86::YMM21, 65U }, |
2936 | | { X86::YMM22, 66U }, |
2937 | | { X86::YMM23, 67U }, |
2938 | | { X86::YMM24, 68U }, |
2939 | | { X86::YMM25, 69U }, |
2940 | | { X86::YMM26, 70U }, |
2941 | | { X86::YMM27, 71U }, |
2942 | | { X86::YMM28, 72U }, |
2943 | | { X86::YMM29, 73U }, |
2944 | | { X86::YMM30, 74U }, |
2945 | | { X86::YMM31, 75U }, |
2946 | | { X86::ZMM0, 17U }, |
2947 | | { X86::ZMM1, 18U }, |
2948 | | { X86::ZMM2, 19U }, |
2949 | | { X86::ZMM3, 20U }, |
2950 | | { X86::ZMM4, 21U }, |
2951 | | { X86::ZMM5, 22U }, |
2952 | | { X86::ZMM6, 23U }, |
2953 | | { X86::ZMM7, 24U }, |
2954 | | { X86::ZMM8, 25U }, |
2955 | | { X86::ZMM9, 26U }, |
2956 | | { X86::ZMM10, 27U }, |
2957 | | { X86::ZMM11, 28U }, |
2958 | | { X86::ZMM12, 29U }, |
2959 | | { X86::ZMM13, 30U }, |
2960 | | { X86::ZMM14, 31U }, |
2961 | | { X86::ZMM15, 32U }, |
2962 | | { X86::ZMM16, 60U }, |
2963 | | { X86::ZMM17, 61U }, |
2964 | | { X86::ZMM18, 62U }, |
2965 | | { X86::ZMM19, 63U }, |
2966 | | { X86::ZMM20, 64U }, |
2967 | | { X86::ZMM21, 65U }, |
2968 | | { X86::ZMM22, 66U }, |
2969 | | { X86::ZMM23, 67U }, |
2970 | | { X86::ZMM24, 68U }, |
2971 | | { X86::ZMM25, 69U }, |
2972 | | { X86::ZMM26, 70U }, |
2973 | | { X86::ZMM27, 71U }, |
2974 | | { X86::ZMM28, 72U }, |
2975 | | { X86::ZMM29, 73U }, |
2976 | | { X86::ZMM30, 74U }, |
2977 | | { X86::ZMM31, 75U }, |
2978 | | }; |
2979 | | extern const unsigned X86EHFlavour0L2DwarfSize = array_lengthof(X86EHFlavour0L2Dwarf); |
2980 | | |
2981 | | extern const MCRegisterInfo::DwarfLLVMRegPair X86EHFlavour1L2Dwarf[] = { |
2982 | | { X86::EAX, 0U }, |
2983 | | { X86::EBP, 4U }, |
2984 | | { X86::EBX, 3U }, |
2985 | | { X86::ECX, 1U }, |
2986 | | { X86::EDI, 7U }, |
2987 | | { X86::EDX, 2U }, |
2988 | | { X86::EIP, 8U }, |
2989 | | { X86::ESI, 6U }, |
2990 | | { X86::ESP, 5U }, |
2991 | | { X86::RAX, -2U }, |
2992 | | { X86::RBP, -2U }, |
2993 | | { X86::RBX, -2U }, |
2994 | | { X86::RCX, -2U }, |
2995 | | { X86::RDI, -2U }, |
2996 | | { X86::RDX, -2U }, |
2997 | | { X86::RIP, -2U }, |
2998 | | { X86::RSI, -2U }, |
2999 | | { X86::RSP, -2U }, |
3000 | | { X86::K0, -2U }, |
3001 | | { X86::K1, -2U }, |
3002 | | { X86::K2, -2U }, |
3003 | | { X86::K3, -2U }, |
3004 | | { X86::K4, -2U }, |
3005 | | { X86::K5, -2U }, |
3006 | | { X86::K6, -2U }, |
3007 | | { X86::K7, -2U }, |
3008 | | { X86::MM0, 29U }, |
3009 | | { X86::MM1, 30U }, |
3010 | | { X86::MM2, 31U }, |
3011 | | { X86::MM3, 32U }, |
3012 | | { X86::MM4, 33U }, |
3013 | | { X86::MM5, 34U }, |
3014 | | { X86::MM6, 35U }, |
3015 | | { X86::MM7, 36U }, |
3016 | | { X86::R8, -2U }, |
3017 | | { X86::R9, -2U }, |
3018 | | { X86::R10, -2U }, |
3019 | | { X86::R11, -2U }, |
3020 | | { X86::R12, -2U }, |
3021 | | { X86::R13, -2U }, |
3022 | | { X86::R14, -2U }, |
3023 | | { X86::R15, -2U }, |
3024 | | { X86::ST0, 12U }, |
3025 | | { X86::ST1, 13U }, |
3026 | | { X86::ST2, 14U }, |
3027 | | { X86::ST3, 15U }, |
3028 | | { X86::ST4, 16U }, |
3029 | | { X86::ST5, 17U }, |
3030 | | { X86::ST6, 18U }, |
3031 | | { X86::ST7, 19U }, |
3032 | | { X86::XMM0, 21U }, |
3033 | | { X86::XMM1, 22U }, |
3034 | | { X86::XMM2, 23U }, |
3035 | | { X86::XMM3, 24U }, |
3036 | | { X86::XMM4, 25U }, |
3037 | | { X86::XMM5, 26U }, |
3038 | | { X86::XMM6, 27U }, |
3039 | | { X86::XMM7, 28U }, |
3040 | | { X86::XMM8, -2U }, |
3041 | | { X86::XMM9, -2U }, |
3042 | | { X86::XMM10, -2U }, |
3043 | | { X86::XMM11, -2U }, |
3044 | | { X86::XMM12, -2U }, |
3045 | | { X86::XMM13, -2U }, |
3046 | | { X86::XMM14, -2U }, |
3047 | | { X86::XMM15, -2U }, |
3048 | | { X86::XMM16, -2U }, |
3049 | | { X86::XMM17, -2U }, |
3050 | | { X86::XMM18, -2U }, |
3051 | | { X86::XMM19, -2U }, |
3052 | | { X86::XMM20, -2U }, |
3053 | | { X86::XMM21, -2U }, |
3054 | | { X86::XMM22, -2U }, |
3055 | | { X86::XMM23, -2U }, |
3056 | | { X86::XMM24, -2U }, |
3057 | | { X86::XMM25, -2U }, |
3058 | | { X86::XMM26, -2U }, |
3059 | | { X86::XMM27, -2U }, |
3060 | | { X86::XMM28, -2U }, |
3061 | | { X86::XMM29, -2U }, |
3062 | | { X86::XMM30, -2U }, |
3063 | | { X86::XMM31, -2U }, |
3064 | | { X86::YMM0, 21U }, |
3065 | | { X86::YMM1, 22U }, |
3066 | | { X86::YMM2, 23U }, |
3067 | | { X86::YMM3, 24U }, |
3068 | | { X86::YMM4, 25U }, |
3069 | | { X86::YMM5, 26U }, |
3070 | | { X86::YMM6, 27U }, |
3071 | | { X86::YMM7, 28U }, |
3072 | | { X86::YMM8, -2U }, |
3073 | | { X86::YMM9, -2U }, |
3074 | | { X86::YMM10, -2U }, |
3075 | | { X86::YMM11, -2U }, |
3076 | | { X86::YMM12, -2U }, |
3077 | | { X86::YMM13, -2U }, |
3078 | | { X86::YMM14, -2U }, |
3079 | | { X86::YMM15, -2U }, |
3080 | | { X86::YMM16, -2U }, |
3081 | | { X86::YMM17, -2U }, |
3082 | | { X86::YMM18, -2U }, |
3083 | | { X86::YMM19, -2U }, |
3084 | | { X86::YMM20, -2U }, |
3085 | | { X86::YMM21, -2U }, |
3086 | | { X86::YMM22, -2U }, |
3087 | | { X86::YMM23, -2U }, |
3088 | | { X86::YMM24, -2U }, |
3089 | | { X86::YMM25, -2U }, |
3090 | | { X86::YMM26, -2U }, |
3091 | | { X86::YMM27, -2U }, |
3092 | | { X86::YMM28, -2U }, |
3093 | | { X86::YMM29, -2U }, |
3094 | | { X86::YMM30, -2U }, |
3095 | | { X86::YMM31, -2U }, |
3096 | | { X86::ZMM0, 21U }, |
3097 | | { X86::ZMM1, 22U }, |
3098 | | { X86::ZMM2, 23U }, |
3099 | | { X86::ZMM3, 24U }, |
3100 | | { X86::ZMM4, 25U }, |
3101 | | { X86::ZMM5, 26U }, |
3102 | | { X86::ZMM6, 27U }, |
3103 | | { X86::ZMM7, 28U }, |
3104 | | { X86::ZMM8, -2U }, |
3105 | | { X86::ZMM9, -2U }, |
3106 | | { X86::ZMM10, -2U }, |
3107 | | { X86::ZMM11, -2U }, |
3108 | | { X86::ZMM12, -2U }, |
3109 | | { X86::ZMM13, -2U }, |
3110 | | { X86::ZMM14, -2U }, |
3111 | | { X86::ZMM15, -2U }, |
3112 | | { X86::ZMM16, -2U }, |
3113 | | { X86::ZMM17, -2U }, |
3114 | | { X86::ZMM18, -2U }, |
3115 | | { X86::ZMM19, -2U }, |
3116 | | { X86::ZMM20, -2U }, |
3117 | | { X86::ZMM21, -2U }, |
3118 | | { X86::ZMM22, -2U }, |
3119 | | { X86::ZMM23, -2U }, |
3120 | | { X86::ZMM24, -2U }, |
3121 | | { X86::ZMM25, -2U }, |
3122 | | { X86::ZMM26, -2U }, |
3123 | | { X86::ZMM27, -2U }, |
3124 | | { X86::ZMM28, -2U }, |
3125 | | { X86::ZMM29, -2U }, |
3126 | | { X86::ZMM30, -2U }, |
3127 | | { X86::ZMM31, -2U }, |
3128 | | }; |
3129 | | extern const unsigned X86EHFlavour1L2DwarfSize = array_lengthof(X86EHFlavour1L2Dwarf); |
3130 | | |
3131 | | extern const MCRegisterInfo::DwarfLLVMRegPair X86EHFlavour2L2Dwarf[] = { |
3132 | | { X86::EAX, 0U }, |
3133 | | { X86::EBP, 5U }, |
3134 | | { X86::EBX, 3U }, |
3135 | | { X86::ECX, 1U }, |
3136 | | { X86::EDI, 7U }, |
3137 | | { X86::EDX, 2U }, |
3138 | | { X86::EIP, 8U }, |
3139 | | { X86::ESI, 6U }, |
3140 | | { X86::ESP, 4U }, |
3141 | | { X86::RAX, -2U }, |
3142 | | { X86::RBP, -2U }, |
3143 | | { X86::RBX, -2U }, |
3144 | | { X86::RCX, -2U }, |
3145 | | { X86::RDI, -2U }, |
3146 | | { X86::RDX, -2U }, |
3147 | | { X86::RIP, -2U }, |
3148 | | { X86::RSI, -2U }, |
3149 | | { X86::RSP, -2U }, |
3150 | | { X86::K0, -2U }, |
3151 | | { X86::K1, -2U }, |
3152 | | { X86::K2, -2U }, |
3153 | | { X86::K3, -2U }, |
3154 | | { X86::K4, -2U }, |
3155 | | { X86::K5, -2U }, |
3156 | | { X86::K6, -2U }, |
3157 | | { X86::K7, -2U }, |
3158 | | { X86::MM0, 29U }, |
3159 | | { X86::MM1, 30U }, |
3160 | | { X86::MM2, 31U }, |
3161 | | { X86::MM3, 32U }, |
3162 | | { X86::MM4, 33U }, |
3163 | | { X86::MM5, 34U }, |
3164 | | { X86::MM6, 35U }, |
3165 | | { X86::MM7, 36U }, |
3166 | | { X86::R8, -2U }, |
3167 | | { X86::R9, -2U }, |
3168 | | { X86::R10, -2U }, |
3169 | | { X86::R11, -2U }, |
3170 | | { X86::R12, -2U }, |
3171 | | { X86::R13, -2U }, |
3172 | | { X86::R14, -2U }, |
3173 | | { X86::R15, -2U }, |
3174 | | { X86::ST0, 11U }, |
3175 | | { X86::ST1, 12U }, |
3176 | | { X86::ST2, 13U }, |
3177 | | { X86::ST3, 14U }, |
3178 | | { X86::ST4, 15U }, |
3179 | | { X86::ST5, 16U }, |
3180 | | { X86::ST6, 17U }, |
3181 | | { X86::ST7, 18U }, |
3182 | | { X86::XMM0, 21U }, |
3183 | | { X86::XMM1, 22U }, |
3184 | | { X86::XMM2, 23U }, |
3185 | | { X86::XMM3, 24U }, |
3186 | | { X86::XMM4, 25U }, |
3187 | | { X86::XMM5, 26U }, |
3188 | | { X86::XMM6, 27U }, |
3189 | | { X86::XMM7, 28U }, |
3190 | | { X86::XMM8, -2U }, |
3191 | | { X86::XMM9, -2U }, |
3192 | | { X86::XMM10, -2U }, |
3193 | | { X86::XMM11, -2U }, |
3194 | | { X86::XMM12, -2U }, |
3195 | | { X86::XMM13, -2U }, |
3196 | | { X86::XMM14, -2U }, |
3197 | | { X86::XMM15, -2U }, |
3198 | | { X86::XMM16, -2U }, |
3199 | | { X86::XMM17, -2U }, |
3200 | | { X86::XMM18, -2U }, |
3201 | | { X86::XMM19, -2U }, |
3202 | | { X86::XMM20, -2U }, |
3203 | | { X86::XMM21, -2U }, |
3204 | | { X86::XMM22, -2U }, |
3205 | | { X86::XMM23, -2U }, |
3206 | | { X86::XMM24, -2U }, |
3207 | | { X86::XMM25, -2U }, |
3208 | | { X86::XMM26, -2U }, |
3209 | | { X86::XMM27, -2U }, |
3210 | | { X86::XMM28, -2U }, |
3211 | | { X86::XMM29, -2U }, |
3212 | | { X86::XMM30, -2U }, |
3213 | | { X86::XMM31, -2U }, |
3214 | | { X86::YMM0, 21U }, |
3215 | | { X86::YMM1, 22U }, |
3216 | | { X86::YMM2, 23U }, |
3217 | | { X86::YMM3, 24U }, |
3218 | | { X86::YMM4, 25U }, |
3219 | | { X86::YMM5, 26U }, |
3220 | | { X86::YMM6, 27U }, |
3221 | | { X86::YMM7, 28U }, |
3222 | | { X86::YMM8, -2U }, |
3223 | | { X86::YMM9, -2U }, |
3224 | | { X86::YMM10, -2U }, |
3225 | | { X86::YMM11, -2U }, |
3226 | | { X86::YMM12, -2U }, |
3227 | | { X86::YMM13, -2U }, |
3228 | | { X86::YMM14, -2U }, |
3229 | | { X86::YMM15, -2U }, |
3230 | | { X86::YMM16, -2U }, |
3231 | | { X86::YMM17, -2U }, |
3232 | | { X86::YMM18, -2U }, |
3233 | | { X86::YMM19, -2U }, |
3234 | | { X86::YMM20, -2U }, |
3235 | | { X86::YMM21, -2U }, |
3236 | | { X86::YMM22, -2U }, |
3237 | | { X86::YMM23, -2U }, |
3238 | | { X86::YMM24, -2U }, |
3239 | | { X86::YMM25, -2U }, |
3240 | | { X86::YMM26, -2U }, |
3241 | | { X86::YMM27, -2U }, |
3242 | | { X86::YMM28, -2U }, |
3243 | | { X86::YMM29, -2U }, |
3244 | | { X86::YMM30, -2U }, |
3245 | | { X86::YMM31, -2U }, |
3246 | | { X86::ZMM0, 21U }, |
3247 | | { X86::ZMM1, 22U }, |
3248 | | { X86::ZMM2, 23U }, |
3249 | | { X86::ZMM3, 24U }, |
3250 | | { X86::ZMM4, 25U }, |
3251 | | { X86::ZMM5, 26U }, |
3252 | | { X86::ZMM6, 27U }, |
3253 | | { X86::ZMM7, 28U }, |
3254 | | { X86::ZMM8, -2U }, |
3255 | | { X86::ZMM9, -2U }, |
3256 | | { X86::ZMM10, -2U }, |
3257 | | { X86::ZMM11, -2U }, |
3258 | | { X86::ZMM12, -2U }, |
3259 | | { X86::ZMM13, -2U }, |
3260 | | { X86::ZMM14, -2U }, |
3261 | | { X86::ZMM15, -2U }, |
3262 | | { X86::ZMM16, -2U }, |
3263 | | { X86::ZMM17, -2U }, |
3264 | | { X86::ZMM18, -2U }, |
3265 | | { X86::ZMM19, -2U }, |
3266 | | { X86::ZMM20, -2U }, |
3267 | | { X86::ZMM21, -2U }, |
3268 | | { X86::ZMM22, -2U }, |
3269 | | { X86::ZMM23, -2U }, |
3270 | | { X86::ZMM24, -2U }, |
3271 | | { X86::ZMM25, -2U }, |
3272 | | { X86::ZMM26, -2U }, |
3273 | | { X86::ZMM27, -2U }, |
3274 | | { X86::ZMM28, -2U }, |
3275 | | { X86::ZMM29, -2U }, |
3276 | | { X86::ZMM30, -2U }, |
3277 | | { X86::ZMM31, -2U }, |
3278 | | }; |
3279 | | extern const unsigned X86EHFlavour2L2DwarfSize = array_lengthof(X86EHFlavour2L2Dwarf); |
3280 | | |
3281 | | extern const uint16_t X86RegEncodingTable[] = { |
3282 | | 0, |
3283 | | 4, |
3284 | | 0, |
3285 | | 0, |
3286 | | 7, |
3287 | | 3, |
3288 | | 5, |
3289 | | 5, |
3290 | | 3, |
3291 | | 5, |
3292 | | 1, |
3293 | | 1, |
3294 | | 1, |
3295 | | 6, |
3296 | | 7, |
3297 | | 7, |
3298 | | 2, |
3299 | | 3, |
3300 | | 2, |
3301 | | 0, |
3302 | | 5, |
3303 | | 3, |
3304 | | 1, |
3305 | | 7, |
3306 | | 2, |
3307 | | 0, |
3308 | | 0, |
3309 | | 4, |
3310 | | 0, |
3311 | | 6, |
3312 | | 4, |
3313 | | 0, |
3314 | | 4, |
3315 | | 5, |
3316 | | 0, |
3317 | | 0, |
3318 | | 5, |
3319 | | 3, |
3320 | | 1, |
3321 | | 7, |
3322 | | 2, |
3323 | | 0, |
3324 | | 4, |
3325 | | 6, |
3326 | | 4, |
3327 | | 6, |
3328 | | 6, |
3329 | | 4, |
3330 | | 4, |
3331 | | 2, |
3332 | | 0, |
3333 | | 1, |
3334 | | 2, |
3335 | | 3, |
3336 | | 0, |
3337 | | 1, |
3338 | | 2, |
3339 | | 3, |
3340 | | 4, |
3341 | | 5, |
3342 | | 6, |
3343 | | 7, |
3344 | | 8, |
3345 | | 9, |
3346 | | 10, |
3347 | | 11, |
3348 | | 12, |
3349 | | 13, |
3350 | | 14, |
3351 | | 15, |
3352 | | 0, |
3353 | | 1, |
3354 | | 2, |
3355 | | 3, |
3356 | | 4, |
3357 | | 5, |
3358 | | 6, |
3359 | | 7, |
3360 | | 8, |
3361 | | 9, |
3362 | | 10, |
3363 | | 11, |
3364 | | 12, |
3365 | | 13, |
3366 | | 14, |
3367 | | 15, |
3368 | | 0, |
3369 | | 0, |
3370 | | 0, |
3371 | | 0, |
3372 | | 0, |
3373 | | 0, |
3374 | | 0, |
3375 | | 0, |
3376 | | 0, |
3377 | | 1, |
3378 | | 2, |
3379 | | 3, |
3380 | | 4, |
3381 | | 5, |
3382 | | 6, |
3383 | | 7, |
3384 | | 0, |
3385 | | 1, |
3386 | | 2, |
3387 | | 3, |
3388 | | 4, |
3389 | | 5, |
3390 | | 6, |
3391 | | 7, |
3392 | | 8, |
3393 | | 9, |
3394 | | 10, |
3395 | | 11, |
3396 | | 12, |
3397 | | 13, |
3398 | | 14, |
3399 | | 15, |
3400 | | 0, |
3401 | | 1, |
3402 | | 2, |
3403 | | 3, |
3404 | | 4, |
3405 | | 5, |
3406 | | 6, |
3407 | | 7, |
3408 | | 0, |
3409 | | 1, |
3410 | | 2, |
3411 | | 3, |
3412 | | 4, |
3413 | | 5, |
3414 | | 6, |
3415 | | 7, |
3416 | | 8, |
3417 | | 9, |
3418 | | 10, |
3419 | | 11, |
3420 | | 12, |
3421 | | 13, |
3422 | | 14, |
3423 | | 15, |
3424 | | 16, |
3425 | | 17, |
3426 | | 18, |
3427 | | 19, |
3428 | | 20, |
3429 | | 21, |
3430 | | 22, |
3431 | | 23, |
3432 | | 24, |
3433 | | 25, |
3434 | | 26, |
3435 | | 27, |
3436 | | 28, |
3437 | | 29, |
3438 | | 30, |
3439 | | 31, |
3440 | | 0, |
3441 | | 1, |
3442 | | 2, |
3443 | | 3, |
3444 | | 4, |
3445 | | 5, |
3446 | | 6, |
3447 | | 7, |
3448 | | 8, |
3449 | | 9, |
3450 | | 10, |
3451 | | 11, |
3452 | | 12, |
3453 | | 13, |
3454 | | 14, |
3455 | | 15, |
3456 | | 16, |
3457 | | 17, |
3458 | | 18, |
3459 | | 19, |
3460 | | 20, |
3461 | | 21, |
3462 | | 22, |
3463 | | 23, |
3464 | | 24, |
3465 | | 25, |
3466 | | 26, |
3467 | | 27, |
3468 | | 28, |
3469 | | 29, |
3470 | | 30, |
3471 | | 31, |
3472 | | 0, |
3473 | | 1, |
3474 | | 2, |
3475 | | 3, |
3476 | | 4, |
3477 | | 5, |
3478 | | 6, |
3479 | | 7, |
3480 | | 8, |
3481 | | 9, |
3482 | | 10, |
3483 | | 11, |
3484 | | 12, |
3485 | | 13, |
3486 | | 14, |
3487 | | 15, |
3488 | | 16, |
3489 | | 17, |
3490 | | 18, |
3491 | | 19, |
3492 | | 20, |
3493 | | 21, |
3494 | | 22, |
3495 | | 23, |
3496 | | 24, |
3497 | | 25, |
3498 | | 26, |
3499 | | 27, |
3500 | | 28, |
3501 | | 29, |
3502 | | 30, |
3503 | | 31, |
3504 | | 8, |
3505 | | 9, |
3506 | | 10, |
3507 | | 11, |
3508 | | 12, |
3509 | | 13, |
3510 | | 14, |
3511 | | 15, |
3512 | | 8, |
3513 | | 9, |
3514 | | 10, |
3515 | | 11, |
3516 | | 12, |
3517 | | 13, |
3518 | | 14, |
3519 | | 15, |
3520 | | 8, |
3521 | | 9, |
3522 | | 10, |
3523 | | 11, |
3524 | | 12, |
3525 | | 13, |
3526 | | 14, |
3527 | | 15, |
3528 | | }; |
3529 | 14.6k | static inline void InitX86MCRegisterInfo(MCRegisterInfo *RI, unsigned RA, unsigned DwarfFlavour = 0, unsigned EHFlavour = 0, unsigned PC = 0) { |
3530 | 14.6k | RI->InitMCRegisterInfo(X86RegDesc, 246, RA, PC, X86MCRegisterClasses, 86, X86RegUnitRoots, 131, X86RegDiffLists, X86LaneMaskLists, X86RegStrings, X86RegClassStrings, X86SubRegIdxLists, 7, |
3531 | 14.6k | X86SubRegIdxRanges, X86RegEncodingTable); |
3532 | | |
3533 | 14.6k | switch (DwarfFlavour) { |
3534 | 0 | default: |
3535 | 0 | llvm_unreachable("Unknown DWARF flavour"); |
3536 | 454 | case 0: |
3537 | 454 | RI->mapDwarfRegsToLLVMRegs(X86DwarfFlavour0Dwarf2L, X86DwarfFlavour0Dwarf2LSize, false); |
3538 | 454 | break; |
3539 | 0 | case 1: |
3540 | 0 | RI->mapDwarfRegsToLLVMRegs(X86DwarfFlavour1Dwarf2L, X86DwarfFlavour1Dwarf2LSize, false); |
3541 | 0 | break; |
3542 | 14.1k | case 2: |
3543 | 14.1k | RI->mapDwarfRegsToLLVMRegs(X86DwarfFlavour2Dwarf2L, X86DwarfFlavour2Dwarf2LSize, false); |
3544 | 14.1k | break; |
3545 | 14.6k | } |
3546 | 14.6k | switch (EHFlavour) { |
3547 | 0 | default: |
3548 | 0 | llvm_unreachable("Unknown DWARF flavour"); |
3549 | 454 | case 0: |
3550 | 454 | RI->mapDwarfRegsToLLVMRegs(X86EHFlavour0Dwarf2L, X86EHFlavour0Dwarf2LSize, true); |
3551 | 454 | break; |
3552 | 0 | case 1: |
3553 | 0 | RI->mapDwarfRegsToLLVMRegs(X86EHFlavour1Dwarf2L, X86EHFlavour1Dwarf2LSize, true); |
3554 | 0 | break; |
3555 | 14.1k | case 2: |
3556 | 14.1k | RI->mapDwarfRegsToLLVMRegs(X86EHFlavour2Dwarf2L, X86EHFlavour2Dwarf2LSize, true); |
3557 | 14.1k | break; |
3558 | 14.6k | } |
3559 | 14.6k | switch (DwarfFlavour) { |
3560 | 0 | default: |
3561 | 0 | llvm_unreachable("Unknown DWARF flavour"); |
3562 | 454 | case 0: |
3563 | 454 | RI->mapLLVMRegsToDwarfRegs(X86DwarfFlavour0L2Dwarf, X86DwarfFlavour0L2DwarfSize, false); |
3564 | 454 | break; |
3565 | 0 | case 1: |
3566 | 0 | RI->mapLLVMRegsToDwarfRegs(X86DwarfFlavour1L2Dwarf, X86DwarfFlavour1L2DwarfSize, false); |
3567 | 0 | break; |
3568 | 14.1k | case 2: |
3569 | 14.1k | RI->mapLLVMRegsToDwarfRegs(X86DwarfFlavour2L2Dwarf, X86DwarfFlavour2L2DwarfSize, false); |
3570 | 14.1k | break; |
3571 | 14.6k | } |
3572 | 14.6k | switch (EHFlavour) { |
3573 | 0 | default: |
3574 | 0 | llvm_unreachable("Unknown DWARF flavour"); |
3575 | 454 | case 0: |
3576 | 454 | RI->mapLLVMRegsToDwarfRegs(X86EHFlavour0L2Dwarf, X86EHFlavour0L2DwarfSize, true); |
3577 | 454 | break; |
3578 | 0 | case 1: |
3579 | 0 | RI->mapLLVMRegsToDwarfRegs(X86EHFlavour1L2Dwarf, X86EHFlavour1L2DwarfSize, true); |
3580 | 0 | break; |
3581 | 14.1k | case 2: |
3582 | 14.1k | RI->mapLLVMRegsToDwarfRegs(X86EHFlavour2L2Dwarf, X86EHFlavour2L2DwarfSize, true); |
3583 | 14.1k | break; |
3584 | 14.6k | } |
3585 | 14.6k | } |
3586 | | |
3587 | | } // End llvm namespace |
3588 | | #endif // GET_REGINFO_MC_DESC |