Coverage Report

Created: 2025-12-31 06:59

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/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