~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/X86GenRegisterInfo.inc

  • Committer: Bazaar Package Importer
  • Author(s): Scott Kitterman
  • Date: 2010-03-12 11:30:04 UTC
  • mfrom: (0.41.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20100312113004-b0fop4bkycszdd0z
Tags: 0.96~rc1+dfsg-0ubuntu1
* New upstream RC - FFE (LP: #537636):
  - Add OfficialDatabaseOnly option to clamav-base.postinst.in
  - Add LocalSocketGroup option to clamav-base.postinst.in
  - Add LocalSocketMode option to clamav-base.postinst.in
  - Add CrossFilesystems option to clamav-base.postinst.in
  - Add ClamukoScannerCount option to clamav-base.postinst.in
  - Add BytecodeSecurity opiton to clamav-base.postinst.in
  - Add DetectionStatsHostID option to clamav-freshclam.postinst.in
  - Add Bytecode option to clamav-freshclam.postinst.in
  - Add MilterSocketGroup option to clamav-milter.postinst.in
  - Add MilterSocketMode option to clamav-milter.postinst.in
  - Add ReportHostname option to clamav-milter.postinst.in
  - Bump libclamav SO version to 6.1.0 in libclamav6.install
  - Drop clamdmon from clamav.examples (no longer shipped by upstream)
  - Drop libclamav.a from libclamav-dev.install (not built by upstream)
  - Update SO version for lintian override for libclamav6
  - Add new Bytecode Testing Tool, usr/bin/clambc, to clamav.install
  - Add build-depends on python and python-setuptools for new test suite
  - Update debian/copyright for the embedded copy of llvm (using the system
    llvm is not currently feasible)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//===- TableGen'erated file -------------------------------------*- C++ -*-===//
 
2
//
 
3
// Register Information Source Fragment
 
4
//
 
5
// Automatically generated file, do not edit!
 
6
//
 
7
//===----------------------------------------------------------------------===//
 
8
 
 
9
namespace llvm {
 
10
 
 
11
namespace {     // Register classes...
 
12
  // CCR Register Class...
 
13
  static const unsigned CCR[] = {
 
14
    X86::EFLAGS, 
 
15
  };
 
16
 
 
17
  // CONTROL_REG_32 Register Class...
 
18
  static const unsigned CONTROL_REG_32[] = {
 
19
    X86::ECR0, X86::ECR1, X86::ECR2, X86::ECR3, X86::ECR4, X86::ECR5, X86::ECR6, X86::ECR7, 
 
20
  };
 
21
 
 
22
  // CONTROL_REG_64 Register Class...
 
23
  static const unsigned CONTROL_REG_64[] = {
 
24
    X86::RCR0, X86::RCR1, X86::RCR2, X86::RCR3, X86::RCR4, X86::RCR5, X86::RCR6, X86::RCR7, X86::RCR8, 
 
25
  };
 
26
 
 
27
  // DEBUG_REG Register Class...
 
28
  static const unsigned DEBUG_REG[] = {
 
29
    X86::DR0, X86::DR1, X86::DR2, X86::DR3, X86::DR4, X86::DR5, X86::DR6, X86::DR7, 
 
30
  };
 
31
 
 
32
  // FR32 Register Class...
 
33
  static const unsigned FR32[] = {
 
34
    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, 
 
35
  };
 
36
 
 
37
  // FR64 Register Class...
 
38
  static const unsigned FR64[] = {
 
39
    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, 
 
40
  };
 
41
 
 
42
  // GR16 Register Class...
 
43
  static const unsigned GR16[] = {
 
44
    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, 
 
45
  };
 
46
 
 
47
  // GR16_ABCD Register Class...
 
48
  static const unsigned GR16_ABCD[] = {
 
49
    X86::AX, X86::CX, X86::DX, X86::BX, 
 
50
  };
 
51
 
 
52
  // GR16_NOREX Register Class...
 
53
  static const unsigned GR16_NOREX[] = {
 
54
    X86::AX, X86::CX, X86::DX, X86::SI, X86::DI, X86::BX, X86::BP, X86::SP, 
 
55
  };
 
56
 
 
57
  // GR32 Register Class...
 
58
  static const unsigned GR32[] = {
 
59
    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, 
 
60
  };
 
61
 
 
62
  // GR32_ABCD Register Class...
 
63
  static const unsigned GR32_ABCD[] = {
 
64
    X86::EAX, X86::ECX, X86::EDX, X86::EBX, 
 
65
  };
 
66
 
 
67
  // GR32_AD Register Class...
 
68
  static const unsigned GR32_AD[] = {
 
69
    X86::EAX, X86::EDX, 
 
70
  };
 
71
 
 
72
  // GR32_NOREX Register Class...
 
73
  static const unsigned GR32_NOREX[] = {
 
74
    X86::EAX, X86::ECX, X86::EDX, X86::ESI, X86::EDI, X86::EBX, X86::EBP, X86::ESP, 
 
75
  };
 
76
 
 
77
  // GR32_NOSP Register Class...
 
78
  static const unsigned GR32_NOSP[] = {
 
79
    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, 
 
80
  };
 
81
 
 
82
  // GR64 Register Class...
 
83
  static const unsigned GR64[] = {
 
84
    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, 
 
85
  };
 
86
 
 
87
  // GR64_ABCD Register Class...
 
88
  static const unsigned GR64_ABCD[] = {
 
89
    X86::RAX, X86::RCX, X86::RDX, X86::RBX, 
 
90
  };
 
91
 
 
92
  // GR64_NOREX Register Class...
 
93
  static const unsigned GR64_NOREX[] = {
 
94
    X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::RBX, X86::RBP, X86::RSP, X86::RIP, 
 
95
  };
 
96
 
 
97
  // GR64_NOREX_NOSP Register Class...
 
98
  static const unsigned GR64_NOREX_NOSP[] = {
 
99
    X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::RBX, X86::RBP, 
 
100
  };
 
101
 
 
102
  // GR64_NOSP Register Class...
 
103
  static const unsigned GR64_NOSP[] = {
 
104
    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, 
 
105
  };
 
106
 
 
107
  // GR8 Register Class...
 
108
  static const unsigned GR8[] = {
 
109
    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, 
 
110
  };
 
111
 
 
112
  // GR8_ABCD_H Register Class...
 
113
  static const unsigned GR8_ABCD_H[] = {
 
114
    X86::AH, X86::CH, X86::DH, X86::BH, 
 
115
  };
 
116
 
 
117
  // GR8_ABCD_L Register Class...
 
118
  static const unsigned GR8_ABCD_L[] = {
 
119
    X86::AL, X86::CL, X86::DL, X86::BL, 
 
120
  };
 
121
 
 
122
  // GR8_NOREX Register Class...
 
123
  static const unsigned GR8_NOREX[] = {
 
124
    X86::AL, X86::CL, X86::DL, X86::AH, X86::CH, X86::DH, X86::BL, X86::BH, 
 
125
  };
 
126
 
 
127
  // RFP32 Register Class...
 
128
  static const unsigned RFP32[] = {
 
129
    X86::FP0, X86::FP1, X86::FP2, X86::FP3, X86::FP4, X86::FP5, X86::FP6, 
 
130
  };
 
131
 
 
132
  // RFP64 Register Class...
 
133
  static const unsigned RFP64[] = {
 
134
    X86::FP0, X86::FP1, X86::FP2, X86::FP3, X86::FP4, X86::FP5, X86::FP6, 
 
135
  };
 
136
 
 
137
  // RFP80 Register Class...
 
138
  static const unsigned RFP80[] = {
 
139
    X86::FP0, X86::FP1, X86::FP2, X86::FP3, X86::FP4, X86::FP5, X86::FP6, 
 
140
  };
 
141
 
 
142
  // RST Register Class...
 
143
  static const unsigned RST[] = {
 
144
    X86::ST0, X86::ST1, X86::ST2, X86::ST3, X86::ST4, X86::ST5, X86::ST6, X86::ST7, 
 
145
  };
 
146
 
 
147
  // SEGMENT_REG Register Class...
 
148
  static const unsigned SEGMENT_REG[] = {
 
149
    X86::CS, X86::DS, X86::SS, X86::ES, X86::FS, X86::GS, 
 
150
  };
 
151
 
 
152
  // VR128 Register Class...
 
153
  static const unsigned VR128[] = {
 
154
    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, 
 
155
  };
 
156
 
 
157
  // VR256 Register Class...
 
158
  static const unsigned VR256[] = {
 
159
    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, 
 
160
  };
 
161
 
 
162
  // VR64 Register Class...
 
163
  static const unsigned VR64[] = {
 
164
    X86::MM0, X86::MM1, X86::MM2, X86::MM3, X86::MM4, X86::MM5, X86::MM6, X86::MM7, 
 
165
  };
 
166
 
 
167
  // CCRVTs Register Class Value Types...
 
168
  static const EVT CCRVTs[] = {
 
169
    MVT::i32, MVT::Other
 
170
  };
 
171
 
 
172
  // CONTROL_REG_32VTs Register Class Value Types...
 
173
  static const EVT CONTROL_REG_32VTs[] = {
 
174
    MVT::i32, MVT::Other
 
175
  };
 
176
 
 
177
  // CONTROL_REG_64VTs Register Class Value Types...
 
178
  static const EVT CONTROL_REG_64VTs[] = {
 
179
    MVT::i64, MVT::Other
 
180
  };
 
181
 
 
182
  // DEBUG_REGVTs Register Class Value Types...
 
183
  static const EVT DEBUG_REGVTs[] = {
 
184
    MVT::i32, MVT::Other
 
185
  };
 
186
 
 
187
  // FR32VTs Register Class Value Types...
 
188
  static const EVT FR32VTs[] = {
 
189
    MVT::f32, MVT::Other
 
190
  };
 
191
 
 
192
  // FR64VTs Register Class Value Types...
 
193
  static const EVT FR64VTs[] = {
 
194
    MVT::f64, MVT::Other
 
195
  };
 
196
 
 
197
  // GR16VTs Register Class Value Types...
 
198
  static const EVT GR16VTs[] = {
 
199
    MVT::i16, MVT::Other
 
200
  };
 
201
 
 
202
  // GR16_ABCDVTs Register Class Value Types...
 
203
  static const EVT GR16_ABCDVTs[] = {
 
204
    MVT::i16, MVT::Other
 
205
  };
 
206
 
 
207
  // GR16_NOREXVTs Register Class Value Types...
 
208
  static const EVT GR16_NOREXVTs[] = {
 
209
    MVT::i16, MVT::Other
 
210
  };
 
211
 
 
212
  // GR32VTs Register Class Value Types...
 
213
  static const EVT GR32VTs[] = {
 
214
    MVT::i32, MVT::Other
 
215
  };
 
216
 
 
217
  // GR32_ABCDVTs Register Class Value Types...
 
218
  static const EVT GR32_ABCDVTs[] = {
 
219
    MVT::i32, MVT::Other
 
220
  };
 
221
 
 
222
  // GR32_ADVTs Register Class Value Types...
 
223
  static const EVT GR32_ADVTs[] = {
 
224
    MVT::i32, MVT::Other
 
225
  };
 
226
 
 
227
  // GR32_NOREXVTs Register Class Value Types...
 
228
  static const EVT GR32_NOREXVTs[] = {
 
229
    MVT::i32, MVT::Other
 
230
  };
 
231
 
 
232
  // GR32_NOSPVTs Register Class Value Types...
 
233
  static const EVT GR32_NOSPVTs[] = {
 
234
    MVT::i32, MVT::Other
 
235
  };
 
236
 
 
237
  // GR64VTs Register Class Value Types...
 
238
  static const EVT GR64VTs[] = {
 
239
    MVT::i64, MVT::Other
 
240
  };
 
241
 
 
242
  // GR64_ABCDVTs Register Class Value Types...
 
243
  static const EVT GR64_ABCDVTs[] = {
 
244
    MVT::i64, MVT::Other
 
245
  };
 
246
 
 
247
  // GR64_NOREXVTs Register Class Value Types...
 
248
  static const EVT GR64_NOREXVTs[] = {
 
249
    MVT::i64, MVT::Other
 
250
  };
 
251
 
 
252
  // GR64_NOREX_NOSPVTs Register Class Value Types...
 
253
  static const EVT GR64_NOREX_NOSPVTs[] = {
 
254
    MVT::i64, MVT::Other
 
255
  };
 
256
 
 
257
  // GR64_NOSPVTs Register Class Value Types...
 
258
  static const EVT GR64_NOSPVTs[] = {
 
259
    MVT::i64, MVT::Other
 
260
  };
 
261
 
 
262
  // GR8VTs Register Class Value Types...
 
263
  static const EVT GR8VTs[] = {
 
264
    MVT::i8, MVT::Other
 
265
  };
 
266
 
 
267
  // GR8_ABCD_HVTs Register Class Value Types...
 
268
  static const EVT GR8_ABCD_HVTs[] = {
 
269
    MVT::i8, MVT::Other
 
270
  };
 
271
 
 
272
  // GR8_ABCD_LVTs Register Class Value Types...
 
273
  static const EVT GR8_ABCD_LVTs[] = {
 
274
    MVT::i8, MVT::Other
 
275
  };
 
276
 
 
277
  // GR8_NOREXVTs Register Class Value Types...
 
278
  static const EVT GR8_NOREXVTs[] = {
 
279
    MVT::i8, MVT::Other
 
280
  };
 
281
 
 
282
  // RFP32VTs Register Class Value Types...
 
283
  static const EVT RFP32VTs[] = {
 
284
    MVT::f32, MVT::Other
 
285
  };
 
286
 
 
287
  // RFP64VTs Register Class Value Types...
 
288
  static const EVT RFP64VTs[] = {
 
289
    MVT::f64, MVT::Other
 
290
  };
 
291
 
 
292
  // RFP80VTs Register Class Value Types...
 
293
  static const EVT RFP80VTs[] = {
 
294
    MVT::f80, MVT::Other
 
295
  };
 
296
 
 
297
  // RSTVTs Register Class Value Types...
 
298
  static const EVT RSTVTs[] = {
 
299
    MVT::f80, MVT::f64, MVT::f32, MVT::Other
 
300
  };
 
301
 
 
302
  // SEGMENT_REGVTs Register Class Value Types...
 
303
  static const EVT SEGMENT_REGVTs[] = {
 
304
    MVT::i16, MVT::Other
 
305
  };
 
306
 
 
307
  // VR128VTs Register Class Value Types...
 
308
  static const EVT VR128VTs[] = {
 
309
    MVT::v16i8, MVT::v8i16, MVT::v4i32, MVT::v2i64, MVT::v4f32, MVT::v2f64, MVT::Other
 
310
  };
 
311
 
 
312
  // VR256VTs Register Class Value Types...
 
313
  static const EVT VR256VTs[] = {
 
314
    MVT::v8i32, MVT::v4i64, MVT::v8f32, MVT::v4f64, MVT::Other
 
315
  };
 
316
 
 
317
  // VR64VTs Register Class Value Types...
 
318
  static const EVT VR64VTs[] = {
 
319
    MVT::v8i8, MVT::v4i16, MVT::v2i32, MVT::v1i64, MVT::v2f32, MVT::Other
 
320
  };
 
321
 
 
322
}  // end anonymous namespace
 
323
 
 
324
namespace X86 {   // Register class instances
 
325
  CCRClass      CCRRegClass;
 
326
  CONTROL_REG_32Class   CONTROL_REG_32RegClass;
 
327
  CONTROL_REG_64Class   CONTROL_REG_64RegClass;
 
328
  DEBUG_REGClass        DEBUG_REGRegClass;
 
329
  FR32Class     FR32RegClass;
 
330
  FR64Class     FR64RegClass;
 
331
  GR16Class     GR16RegClass;
 
332
  GR16_ABCDClass        GR16_ABCDRegClass;
 
333
  GR16_NOREXClass       GR16_NOREXRegClass;
 
334
  GR32Class     GR32RegClass;
 
335
  GR32_ABCDClass        GR32_ABCDRegClass;
 
336
  GR32_ADClass  GR32_ADRegClass;
 
337
  GR32_NOREXClass       GR32_NOREXRegClass;
 
338
  GR32_NOSPClass        GR32_NOSPRegClass;
 
339
  GR64Class     GR64RegClass;
 
340
  GR64_ABCDClass        GR64_ABCDRegClass;
 
341
  GR64_NOREXClass       GR64_NOREXRegClass;
 
342
  GR64_NOREX_NOSPClass  GR64_NOREX_NOSPRegClass;
 
343
  GR64_NOSPClass        GR64_NOSPRegClass;
 
344
  GR8Class      GR8RegClass;
 
345
  GR8_ABCD_HClass       GR8_ABCD_HRegClass;
 
346
  GR8_ABCD_LClass       GR8_ABCD_LRegClass;
 
347
  GR8_NOREXClass        GR8_NOREXRegClass;
 
348
  RFP32Class    RFP32RegClass;
 
349
  RFP64Class    RFP64RegClass;
 
350
  RFP80Class    RFP80RegClass;
 
351
  RSTClass      RSTRegClass;
 
352
  SEGMENT_REGClass      SEGMENT_REGRegClass;
 
353
  VR128Class    VR128RegClass;
 
354
  VR256Class    VR256RegClass;
 
355
  VR64Class     VR64RegClass;
 
356
 
 
357
  // CCR Sub-register Classes...
 
358
  static const TargetRegisterClass* const CCRSubRegClasses[] = {
 
359
    NULL
 
360
  };
 
361
 
 
362
  // CONTROL_REG_32 Sub-register Classes...
 
363
  static const TargetRegisterClass* const CONTROL_REG_32SubRegClasses[] = {
 
364
    NULL
 
365
  };
 
366
 
 
367
  // CONTROL_REG_64 Sub-register Classes...
 
368
  static const TargetRegisterClass* const CONTROL_REG_64SubRegClasses[] = {
 
369
    NULL
 
370
  };
 
371
 
 
372
  // DEBUG_REG Sub-register Classes...
 
373
  static const TargetRegisterClass* const DEBUG_REGSubRegClasses[] = {
 
374
    NULL
 
375
  };
 
376
 
 
377
  // FR32 Sub-register Classes...
 
378
  static const TargetRegisterClass* const FR32SubRegClasses[] = {
 
379
    NULL
 
380
  };
 
381
 
 
382
  // FR64 Sub-register Classes...
 
383
  static const TargetRegisterClass* const FR64SubRegClasses[] = {
 
384
    NULL
 
385
  };
 
386
 
 
387
  // GR16 Sub-register Classes...
 
388
  static const TargetRegisterClass* const GR16SubRegClasses[] = {
 
389
    &X86::GR8RegClass, &X86::GR8RegClass, NULL
 
390
  };
 
391
 
 
392
  // GR16_ABCD Sub-register Classes...
 
393
  static const TargetRegisterClass* const GR16_ABCDSubRegClasses[] = {
 
394
    &X86::GR8_ABCD_LRegClass, &X86::GR8_ABCD_HRegClass, NULL
 
395
  };
 
396
 
 
397
  // GR16_NOREX Sub-register Classes...
 
398
  static const TargetRegisterClass* const GR16_NOREXSubRegClasses[] = {
 
399
    &X86::GR8_NOREXRegClass, &X86::GR8_NOREXRegClass, NULL
 
400
  };
 
401
 
 
402
  // GR32 Sub-register Classes...
 
403
  static const TargetRegisterClass* const GR32SubRegClasses[] = {
 
404
    &X86::GR8RegClass, &X86::GR8RegClass, &X86::GR16RegClass, NULL
 
405
  };
 
406
 
 
407
  // GR32_ABCD Sub-register Classes...
 
408
  static const TargetRegisterClass* const GR32_ABCDSubRegClasses[] = {
 
409
    &X86::GR8_ABCD_LRegClass, &X86::GR8_ABCD_HRegClass, &X86::GR16_ABCDRegClass, NULL
 
410
  };
 
411
 
 
412
  // GR32_AD Sub-register Classes...
 
413
  static const TargetRegisterClass* const GR32_ADSubRegClasses[] = {
 
414
    &X86::GR8_ABCD_LRegClass, &X86::GR8_ABCD_HRegClass, &X86::GR16_ABCDRegClass, NULL
 
415
  };
 
416
 
 
417
  // GR32_NOREX Sub-register Classes...
 
418
  static const TargetRegisterClass* const GR32_NOREXSubRegClasses[] = {
 
419
    &X86::GR8_NOREXRegClass, &X86::GR8_NOREXRegClass, &X86::GR16_NOREXRegClass, NULL
 
420
  };
 
421
 
 
422
  // GR32_NOSP Sub-register Classes...
 
423
  static const TargetRegisterClass* const GR32_NOSPSubRegClasses[] = {
 
424
    &X86::GR8RegClass, &X86::GR8RegClass, &X86::GR16RegClass, NULL
 
425
  };
 
426
 
 
427
  // GR64 Sub-register Classes...
 
428
  static const TargetRegisterClass* const GR64SubRegClasses[] = {
 
429
    &X86::GR8RegClass, &X86::GR8RegClass, &X86::GR16RegClass, &X86::GR32RegClass, NULL
 
430
  };
 
431
 
 
432
  // GR64_ABCD Sub-register Classes...
 
433
  static const TargetRegisterClass* const GR64_ABCDSubRegClasses[] = {
 
434
    &X86::GR8_ABCD_LRegClass, &X86::GR8_ABCD_HRegClass, &X86::GR16_ABCDRegClass, &X86::GR32_ABCDRegClass, NULL
 
435
  };
 
436
 
 
437
  // GR64_NOREX Sub-register Classes...
 
438
  static const TargetRegisterClass* const GR64_NOREXSubRegClasses[] = {
 
439
    &X86::GR8_NOREXRegClass, &X86::GR8_NOREXRegClass, &X86::GR16_NOREXRegClass, &X86::GR32_NOREXRegClass, NULL
 
440
  };
 
441
 
 
442
  // GR64_NOREX_NOSP Sub-register Classes...
 
443
  static const TargetRegisterClass* const GR64_NOREX_NOSPSubRegClasses[] = {
 
444
    &X86::GR8_NOREXRegClass, &X86::GR8_NOREXRegClass, &X86::GR16_NOREXRegClass, &X86::GR32_NOREXRegClass, NULL
 
445
  };
 
446
 
 
447
  // GR64_NOSP Sub-register Classes...
 
448
  static const TargetRegisterClass* const GR64_NOSPSubRegClasses[] = {
 
449
    &X86::GR8RegClass, &X86::GR8RegClass, &X86::GR16RegClass, &X86::GR32_NOSPRegClass, NULL
 
450
  };
 
451
 
 
452
  // GR8 Sub-register Classes...
 
453
  static const TargetRegisterClass* const GR8SubRegClasses[] = {
 
454
    NULL
 
455
  };
 
456
 
 
457
  // GR8_ABCD_H Sub-register Classes...
 
458
  static const TargetRegisterClass* const GR8_ABCD_HSubRegClasses[] = {
 
459
    NULL
 
460
  };
 
461
 
 
462
  // GR8_ABCD_L Sub-register Classes...
 
463
  static const TargetRegisterClass* const GR8_ABCD_LSubRegClasses[] = {
 
464
    NULL
 
465
  };
 
466
 
 
467
  // GR8_NOREX Sub-register Classes...
 
468
  static const TargetRegisterClass* const GR8_NOREXSubRegClasses[] = {
 
469
    NULL
 
470
  };
 
471
 
 
472
  // RFP32 Sub-register Classes...
 
473
  static const TargetRegisterClass* const RFP32SubRegClasses[] = {
 
474
    NULL
 
475
  };
 
476
 
 
477
  // RFP64 Sub-register Classes...
 
478
  static const TargetRegisterClass* const RFP64SubRegClasses[] = {
 
479
    NULL
 
480
  };
 
481
 
 
482
  // RFP80 Sub-register Classes...
 
483
  static const TargetRegisterClass* const RFP80SubRegClasses[] = {
 
484
    NULL
 
485
  };
 
486
 
 
487
  // RST Sub-register Classes...
 
488
  static const TargetRegisterClass* const RSTSubRegClasses[] = {
 
489
    NULL
 
490
  };
 
491
 
 
492
  // SEGMENT_REG Sub-register Classes...
 
493
  static const TargetRegisterClass* const SEGMENT_REGSubRegClasses[] = {
 
494
    NULL
 
495
  };
 
496
 
 
497
  // VR128 Sub-register Classes...
 
498
  static const TargetRegisterClass* const VR128SubRegClasses[] = {
 
499
    &X86::FR32RegClass, &X86::FR64RegClass, NULL
 
500
  };
 
501
 
 
502
  // VR256 Sub-register Classes...
 
503
  static const TargetRegisterClass* const VR256SubRegClasses[] = {
 
504
    &X86::FR32RegClass, &X86::FR64RegClass, &X86::VR128RegClass, NULL
 
505
  };
 
506
 
 
507
  // VR64 Sub-register Classes...
 
508
  static const TargetRegisterClass* const VR64SubRegClasses[] = {
 
509
    NULL
 
510
  };
 
511
 
 
512
  // CCR Super-register Classes...
 
513
  static const TargetRegisterClass* const CCRSuperRegClasses[] = {
 
514
    NULL
 
515
  };
 
516
 
 
517
  // CONTROL_REG_32 Super-register Classes...
 
518
  static const TargetRegisterClass* const CONTROL_REG_32SuperRegClasses[] = {
 
519
    NULL
 
520
  };
 
521
 
 
522
  // CONTROL_REG_64 Super-register Classes...
 
523
  static const TargetRegisterClass* const CONTROL_REG_64SuperRegClasses[] = {
 
524
    NULL
 
525
  };
 
526
 
 
527
  // DEBUG_REG Super-register Classes...
 
528
  static const TargetRegisterClass* const DEBUG_REGSuperRegClasses[] = {
 
529
    NULL
 
530
  };
 
531
 
 
532
  // FR32 Super-register Classes...
 
533
  static const TargetRegisterClass* const FR32SuperRegClasses[] = {
 
534
    &X86::VR128RegClass, &X86::VR256RegClass, NULL
 
535
  };
 
536
 
 
537
  // FR64 Super-register Classes...
 
538
  static const TargetRegisterClass* const FR64SuperRegClasses[] = {
 
539
    &X86::VR128RegClass, &X86::VR256RegClass, NULL
 
540
  };
 
541
 
 
542
  // GR16 Super-register Classes...
 
543
  static const TargetRegisterClass* const GR16SuperRegClasses[] = {
 
544
    &X86::GR32RegClass, &X86::GR32_NOSPRegClass, &X86::GR64RegClass, &X86::GR64_NOSPRegClass, NULL
 
545
  };
 
546
 
 
547
  // GR16_ABCD Super-register Classes...
 
548
  static const TargetRegisterClass* const GR16_ABCDSuperRegClasses[] = {
 
549
    &X86::GR32_ABCDRegClass, &X86::GR32_ADRegClass, &X86::GR64_ABCDRegClass, NULL
 
550
  };
 
551
 
 
552
  // GR16_NOREX Super-register Classes...
 
553
  static const TargetRegisterClass* const GR16_NOREXSuperRegClasses[] = {
 
554
    &X86::GR32_NOREXRegClass, &X86::GR64_NOREXRegClass, &X86::GR64_NOREX_NOSPRegClass, NULL
 
555
  };
 
556
 
 
557
  // GR32 Super-register Classes...
 
558
  static const TargetRegisterClass* const GR32SuperRegClasses[] = {
 
559
    &X86::GR64RegClass, NULL
 
560
  };
 
561
 
 
562
  // GR32_ABCD Super-register Classes...
 
563
  static const TargetRegisterClass* const GR32_ABCDSuperRegClasses[] = {
 
564
    &X86::GR64_ABCDRegClass, NULL
 
565
  };
 
566
 
 
567
  // GR32_AD Super-register Classes...
 
568
  static const TargetRegisterClass* const GR32_ADSuperRegClasses[] = {
 
569
    NULL
 
570
  };
 
571
 
 
572
  // GR32_NOREX Super-register Classes...
 
573
  static const TargetRegisterClass* const GR32_NOREXSuperRegClasses[] = {
 
574
    &X86::GR64_NOREXRegClass, &X86::GR64_NOREX_NOSPRegClass, NULL
 
575
  };
 
576
 
 
577
  // GR32_NOSP Super-register Classes...
 
578
  static const TargetRegisterClass* const GR32_NOSPSuperRegClasses[] = {
 
579
    &X86::GR64_NOSPRegClass, NULL
 
580
  };
 
581
 
 
582
  // GR64 Super-register Classes...
 
583
  static const TargetRegisterClass* const GR64SuperRegClasses[] = {
 
584
    NULL
 
585
  };
 
586
 
 
587
  // GR64_ABCD Super-register Classes...
 
588
  static const TargetRegisterClass* const GR64_ABCDSuperRegClasses[] = {
 
589
    NULL
 
590
  };
 
591
 
 
592
  // GR64_NOREX Super-register Classes...
 
593
  static const TargetRegisterClass* const GR64_NOREXSuperRegClasses[] = {
 
594
    NULL
 
595
  };
 
596
 
 
597
  // GR64_NOREX_NOSP Super-register Classes...
 
598
  static const TargetRegisterClass* const GR64_NOREX_NOSPSuperRegClasses[] = {
 
599
    NULL
 
600
  };
 
601
 
 
602
  // GR64_NOSP Super-register Classes...
 
603
  static const TargetRegisterClass* const GR64_NOSPSuperRegClasses[] = {
 
604
    NULL
 
605
  };
 
606
 
 
607
  // GR8 Super-register Classes...
 
608
  static const TargetRegisterClass* const GR8SuperRegClasses[] = {
 
609
    &X86::GR16RegClass, &X86::GR32RegClass, &X86::GR32_NOSPRegClass, &X86::GR64RegClass, &X86::GR64_NOSPRegClass, NULL
 
610
  };
 
611
 
 
612
  // GR8_ABCD_H Super-register Classes...
 
613
  static const TargetRegisterClass* const GR8_ABCD_HSuperRegClasses[] = {
 
614
    &X86::GR16_ABCDRegClass, &X86::GR32_ABCDRegClass, &X86::GR32_ADRegClass, &X86::GR64_ABCDRegClass, NULL
 
615
  };
 
616
 
 
617
  // GR8_ABCD_L Super-register Classes...
 
618
  static const TargetRegisterClass* const GR8_ABCD_LSuperRegClasses[] = {
 
619
    &X86::GR16_ABCDRegClass, &X86::GR32_ABCDRegClass, &X86::GR32_ADRegClass, &X86::GR64_ABCDRegClass, NULL
 
620
  };
 
621
 
 
622
  // GR8_NOREX Super-register Classes...
 
623
  static const TargetRegisterClass* const GR8_NOREXSuperRegClasses[] = {
 
624
    &X86::GR16_NOREXRegClass, &X86::GR32_NOREXRegClass, &X86::GR64_NOREXRegClass, &X86::GR64_NOREX_NOSPRegClass, NULL
 
625
  };
 
626
 
 
627
  // RFP32 Super-register Classes...
 
628
  static const TargetRegisterClass* const RFP32SuperRegClasses[] = {
 
629
    NULL
 
630
  };
 
631
 
 
632
  // RFP64 Super-register Classes...
 
633
  static const TargetRegisterClass* const RFP64SuperRegClasses[] = {
 
634
    NULL
 
635
  };
 
636
 
 
637
  // RFP80 Super-register Classes...
 
638
  static const TargetRegisterClass* const RFP80SuperRegClasses[] = {
 
639
    NULL
 
640
  };
 
641
 
 
642
  // RST Super-register Classes...
 
643
  static const TargetRegisterClass* const RSTSuperRegClasses[] = {
 
644
    NULL
 
645
  };
 
646
 
 
647
  // SEGMENT_REG Super-register Classes...
 
648
  static const TargetRegisterClass* const SEGMENT_REGSuperRegClasses[] = {
 
649
    NULL
 
650
  };
 
651
 
 
652
  // VR128 Super-register Classes...
 
653
  static const TargetRegisterClass* const VR128SuperRegClasses[] = {
 
654
    &X86::VR256RegClass, NULL
 
655
  };
 
656
 
 
657
  // VR256 Super-register Classes...
 
658
  static const TargetRegisterClass* const VR256SuperRegClasses[] = {
 
659
    NULL
 
660
  };
 
661
 
 
662
  // VR64 Super-register Classes...
 
663
  static const TargetRegisterClass* const VR64SuperRegClasses[] = {
 
664
    NULL
 
665
  };
 
666
 
 
667
  // CCR Register Class sub-classes...
 
668
  static const TargetRegisterClass* const CCRSubclasses[] = {
 
669
    NULL
 
670
  };
 
671
 
 
672
  // CONTROL_REG_32 Register Class sub-classes...
 
673
  static const TargetRegisterClass* const CONTROL_REG_32Subclasses[] = {
 
674
    NULL
 
675
  };
 
676
 
 
677
  // CONTROL_REG_64 Register Class sub-classes...
 
678
  static const TargetRegisterClass* const CONTROL_REG_64Subclasses[] = {
 
679
    NULL
 
680
  };
 
681
 
 
682
  // DEBUG_REG Register Class sub-classes...
 
683
  static const TargetRegisterClass* const DEBUG_REGSubclasses[] = {
 
684
    NULL
 
685
  };
 
686
 
 
687
  // FR32 Register Class sub-classes...
 
688
  static const TargetRegisterClass* const FR32Subclasses[] = {
 
689
    &X86::FR64RegClass, &X86::VR128RegClass, NULL
 
690
  };
 
691
 
 
692
  // FR64 Register Class sub-classes...
 
693
  static const TargetRegisterClass* const FR64Subclasses[] = {
 
694
    &X86::VR128RegClass, NULL
 
695
  };
 
696
 
 
697
  // GR16 Register Class sub-classes...
 
698
  static const TargetRegisterClass* const GR16Subclasses[] = {
 
699
    &X86::GR16_ABCDRegClass, &X86::GR16_NOREXRegClass, NULL
 
700
  };
 
701
 
 
702
  // GR16_ABCD Register Class sub-classes...
 
703
  static const TargetRegisterClass* const GR16_ABCDSubclasses[] = {
 
704
    NULL
 
705
  };
 
706
 
 
707
  // GR16_NOREX Register Class sub-classes...
 
708
  static const TargetRegisterClass* const GR16_NOREXSubclasses[] = {
 
709
    &X86::GR16_ABCDRegClass, NULL
 
710
  };
 
711
 
 
712
  // GR32 Register Class sub-classes...
 
713
  static const TargetRegisterClass* const GR32Subclasses[] = {
 
714
    &X86::GR32_ABCDRegClass, &X86::GR32_ADRegClass, &X86::GR32_NOREXRegClass, &X86::GR32_NOSPRegClass, NULL
 
715
  };
 
716
 
 
717
  // GR32_ABCD Register Class sub-classes...
 
718
  static const TargetRegisterClass* const GR32_ABCDSubclasses[] = {
 
719
    &X86::GR32_ADRegClass, NULL
 
720
  };
 
721
 
 
722
  // GR32_AD Register Class sub-classes...
 
723
  static const TargetRegisterClass* const GR32_ADSubclasses[] = {
 
724
    NULL
 
725
  };
 
726
 
 
727
  // GR32_NOREX Register Class sub-classes...
 
728
  static const TargetRegisterClass* const GR32_NOREXSubclasses[] = {
 
729
    &X86::GR32_ABCDRegClass, &X86::GR32_ADRegClass, NULL
 
730
  };
 
731
 
 
732
  // GR32_NOSP Register Class sub-classes...
 
733
  static const TargetRegisterClass* const GR32_NOSPSubclasses[] = {
 
734
    &X86::GR32_ABCDRegClass, &X86::GR32_ADRegClass, NULL
 
735
  };
 
736
 
 
737
  // GR64 Register Class sub-classes...
 
738
  static const TargetRegisterClass* const GR64Subclasses[] = {
 
739
    &X86::GR64_ABCDRegClass, &X86::GR64_NOREXRegClass, &X86::GR64_NOREX_NOSPRegClass, &X86::GR64_NOSPRegClass, NULL
 
740
  };
 
741
 
 
742
  // GR64_ABCD Register Class sub-classes...
 
743
  static const TargetRegisterClass* const GR64_ABCDSubclasses[] = {
 
744
    NULL
 
745
  };
 
746
 
 
747
  // GR64_NOREX Register Class sub-classes...
 
748
  static const TargetRegisterClass* const GR64_NOREXSubclasses[] = {
 
749
    &X86::GR64_ABCDRegClass, &X86::GR64_NOREX_NOSPRegClass, NULL
 
750
  };
 
751
 
 
752
  // GR64_NOREX_NOSP Register Class sub-classes...
 
753
  static const TargetRegisterClass* const GR64_NOREX_NOSPSubclasses[] = {
 
754
    &X86::GR64_ABCDRegClass, NULL
 
755
  };
 
756
 
 
757
  // GR64_NOSP Register Class sub-classes...
 
758
  static const TargetRegisterClass* const GR64_NOSPSubclasses[] = {
 
759
    &X86::GR64_ABCDRegClass, &X86::GR64_NOREX_NOSPRegClass, NULL
 
760
  };
 
761
 
 
762
  // GR8 Register Class sub-classes...
 
763
  static const TargetRegisterClass* const GR8Subclasses[] = {
 
764
    &X86::GR8_ABCD_HRegClass, &X86::GR8_ABCD_LRegClass, &X86::GR8_NOREXRegClass, NULL
 
765
  };
 
766
 
 
767
  // GR8_ABCD_H Register Class sub-classes...
 
768
  static const TargetRegisterClass* const GR8_ABCD_HSubclasses[] = {
 
769
    NULL
 
770
  };
 
771
 
 
772
  // GR8_ABCD_L Register Class sub-classes...
 
773
  static const TargetRegisterClass* const GR8_ABCD_LSubclasses[] = {
 
774
    NULL
 
775
  };
 
776
 
 
777
  // GR8_NOREX Register Class sub-classes...
 
778
  static const TargetRegisterClass* const GR8_NOREXSubclasses[] = {
 
779
    &X86::GR8_ABCD_HRegClass, &X86::GR8_ABCD_LRegClass, NULL
 
780
  };
 
781
 
 
782
  // RFP32 Register Class sub-classes...
 
783
  static const TargetRegisterClass* const RFP32Subclasses[] = {
 
784
    &X86::RFP64RegClass, &X86::RFP80RegClass, NULL
 
785
  };
 
786
 
 
787
  // RFP64 Register Class sub-classes...
 
788
  static const TargetRegisterClass* const RFP64Subclasses[] = {
 
789
    &X86::RFP80RegClass, NULL
 
790
  };
 
791
 
 
792
  // RFP80 Register Class sub-classes...
 
793
  static const TargetRegisterClass* const RFP80Subclasses[] = {
 
794
    NULL
 
795
  };
 
796
 
 
797
  // RST Register Class sub-classes...
 
798
  static const TargetRegisterClass* const RSTSubclasses[] = {
 
799
    NULL
 
800
  };
 
801
 
 
802
  // SEGMENT_REG Register Class sub-classes...
 
803
  static const TargetRegisterClass* const SEGMENT_REGSubclasses[] = {
 
804
    NULL
 
805
  };
 
806
 
 
807
  // VR128 Register Class sub-classes...
 
808
  static const TargetRegisterClass* const VR128Subclasses[] = {
 
809
    NULL
 
810
  };
 
811
 
 
812
  // VR256 Register Class sub-classes...
 
813
  static const TargetRegisterClass* const VR256Subclasses[] = {
 
814
    NULL
 
815
  };
 
816
 
 
817
  // VR64 Register Class sub-classes...
 
818
  static const TargetRegisterClass* const VR64Subclasses[] = {
 
819
    NULL
 
820
  };
 
821
 
 
822
  // CCR Register Class super-classes...
 
823
  static const TargetRegisterClass* const CCRSuperclasses[] = {
 
824
    NULL
 
825
  };
 
826
 
 
827
  // CONTROL_REG_32 Register Class super-classes...
 
828
  static const TargetRegisterClass* const CONTROL_REG_32Superclasses[] = {
 
829
    NULL
 
830
  };
 
831
 
 
832
  // CONTROL_REG_64 Register Class super-classes...
 
833
  static const TargetRegisterClass* const CONTROL_REG_64Superclasses[] = {
 
834
    NULL
 
835
  };
 
836
 
 
837
  // DEBUG_REG Register Class super-classes...
 
838
  static const TargetRegisterClass* const DEBUG_REGSuperclasses[] = {
 
839
    NULL
 
840
  };
 
841
 
 
842
  // FR32 Register Class super-classes...
 
843
  static const TargetRegisterClass* const FR32Superclasses[] = {
 
844
    NULL
 
845
  };
 
846
 
 
847
  // FR64 Register Class super-classes...
 
848
  static const TargetRegisterClass* const FR64Superclasses[] = {
 
849
    &X86::FR32RegClass, NULL
 
850
  };
 
851
 
 
852
  // GR16 Register Class super-classes...
 
853
  static const TargetRegisterClass* const GR16Superclasses[] = {
 
854
    NULL
 
855
  };
 
856
 
 
857
  // GR16_ABCD Register Class super-classes...
 
858
  static const TargetRegisterClass* const GR16_ABCDSuperclasses[] = {
 
859
    &X86::GR16RegClass, &X86::GR16_NOREXRegClass, NULL
 
860
  };
 
861
 
 
862
  // GR16_NOREX Register Class super-classes...
 
863
  static const TargetRegisterClass* const GR16_NOREXSuperclasses[] = {
 
864
    &X86::GR16RegClass, NULL
 
865
  };
 
866
 
 
867
  // GR32 Register Class super-classes...
 
868
  static const TargetRegisterClass* const GR32Superclasses[] = {
 
869
    NULL
 
870
  };
 
871
 
 
872
  // GR32_ABCD Register Class super-classes...
 
873
  static const TargetRegisterClass* const GR32_ABCDSuperclasses[] = {
 
874
    &X86::GR32RegClass, &X86::GR32_NOREXRegClass, &X86::GR32_NOSPRegClass, NULL
 
875
  };
 
876
 
 
877
  // GR32_AD Register Class super-classes...
 
878
  static const TargetRegisterClass* const GR32_ADSuperclasses[] = {
 
879
    &X86::GR32RegClass, &X86::GR32_ABCDRegClass, &X86::GR32_NOREXRegClass, &X86::GR32_NOSPRegClass, NULL
 
880
  };
 
881
 
 
882
  // GR32_NOREX Register Class super-classes...
 
883
  static const TargetRegisterClass* const GR32_NOREXSuperclasses[] = {
 
884
    &X86::GR32RegClass, NULL
 
885
  };
 
886
 
 
887
  // GR32_NOSP Register Class super-classes...
 
888
  static const TargetRegisterClass* const GR32_NOSPSuperclasses[] = {
 
889
    &X86::GR32RegClass, NULL
 
890
  };
 
891
 
 
892
  // GR64 Register Class super-classes...
 
893
  static const TargetRegisterClass* const GR64Superclasses[] = {
 
894
    NULL
 
895
  };
 
896
 
 
897
  // GR64_ABCD Register Class super-classes...
 
898
  static const TargetRegisterClass* const GR64_ABCDSuperclasses[] = {
 
899
    &X86::GR64RegClass, &X86::GR64_NOREXRegClass, &X86::GR64_NOREX_NOSPRegClass, &X86::GR64_NOSPRegClass, NULL
 
900
  };
 
901
 
 
902
  // GR64_NOREX Register Class super-classes...
 
903
  static const TargetRegisterClass* const GR64_NOREXSuperclasses[] = {
 
904
    &X86::GR64RegClass, NULL
 
905
  };
 
906
 
 
907
  // GR64_NOREX_NOSP Register Class super-classes...
 
908
  static const TargetRegisterClass* const GR64_NOREX_NOSPSuperclasses[] = {
 
909
    &X86::GR64RegClass, &X86::GR64_NOREXRegClass, &X86::GR64_NOSPRegClass, NULL
 
910
  };
 
911
 
 
912
  // GR64_NOSP Register Class super-classes...
 
913
  static const TargetRegisterClass* const GR64_NOSPSuperclasses[] = {
 
914
    &X86::GR64RegClass, NULL
 
915
  };
 
916
 
 
917
  // GR8 Register Class super-classes...
 
918
  static const TargetRegisterClass* const GR8Superclasses[] = {
 
919
    NULL
 
920
  };
 
921
 
 
922
  // GR8_ABCD_H Register Class super-classes...
 
923
  static const TargetRegisterClass* const GR8_ABCD_HSuperclasses[] = {
 
924
    &X86::GR8RegClass, &X86::GR8_NOREXRegClass, NULL
 
925
  };
 
926
 
 
927
  // GR8_ABCD_L Register Class super-classes...
 
928
  static const TargetRegisterClass* const GR8_ABCD_LSuperclasses[] = {
 
929
    &X86::GR8RegClass, &X86::GR8_NOREXRegClass, NULL
 
930
  };
 
931
 
 
932
  // GR8_NOREX Register Class super-classes...
 
933
  static const TargetRegisterClass* const GR8_NOREXSuperclasses[] = {
 
934
    &X86::GR8RegClass, NULL
 
935
  };
 
936
 
 
937
  // RFP32 Register Class super-classes...
 
938
  static const TargetRegisterClass* const RFP32Superclasses[] = {
 
939
    NULL
 
940
  };
 
941
 
 
942
  // RFP64 Register Class super-classes...
 
943
  static const TargetRegisterClass* const RFP64Superclasses[] = {
 
944
    &X86::RFP32RegClass, NULL
 
945
  };
 
946
 
 
947
  // RFP80 Register Class super-classes...
 
948
  static const TargetRegisterClass* const RFP80Superclasses[] = {
 
949
    &X86::RFP32RegClass, &X86::RFP64RegClass, NULL
 
950
  };
 
951
 
 
952
  // RST Register Class super-classes...
 
953
  static const TargetRegisterClass* const RSTSuperclasses[] = {
 
954
    NULL
 
955
  };
 
956
 
 
957
  // SEGMENT_REG Register Class super-classes...
 
958
  static const TargetRegisterClass* const SEGMENT_REGSuperclasses[] = {
 
959
    NULL
 
960
  };
 
961
 
 
962
  // VR128 Register Class super-classes...
 
963
  static const TargetRegisterClass* const VR128Superclasses[] = {
 
964
    &X86::FR32RegClass, &X86::FR64RegClass, NULL
 
965
  };
 
966
 
 
967
  // VR256 Register Class super-classes...
 
968
  static const TargetRegisterClass* const VR256Superclasses[] = {
 
969
    NULL
 
970
  };
 
971
 
 
972
  // VR64 Register Class super-classes...
 
973
  static const TargetRegisterClass* const VR64Superclasses[] = {
 
974
    NULL
 
975
  };
 
976
 
 
977
 
 
978
CCRClass::CCRClass()  : TargetRegisterClass(CCRRegClassID, "CCR", CCRVTs, CCRSubclasses, CCRSuperclasses, CCRSubRegClasses, CCRSuperRegClasses, 4, 4, -1, CCR, CCR + 1) {}
 
979
 
 
980
CONTROL_REG_32Class::CONTROL_REG_32Class()  : TargetRegisterClass(CONTROL_REG_32RegClassID, "CONTROL_REG_32", CONTROL_REG_32VTs, CONTROL_REG_32Subclasses, CONTROL_REG_32Superclasses, CONTROL_REG_32SubRegClasses, CONTROL_REG_32SuperRegClasses, 4, 4, 1, CONTROL_REG_32, CONTROL_REG_32 + 8) {}
 
981
 
 
982
CONTROL_REG_64Class::CONTROL_REG_64Class()  : TargetRegisterClass(CONTROL_REG_64RegClassID, "CONTROL_REG_64", CONTROL_REG_64VTs, CONTROL_REG_64Subclasses, CONTROL_REG_64Superclasses, CONTROL_REG_64SubRegClasses, CONTROL_REG_64SuperRegClasses, 8, 8, 1, CONTROL_REG_64, CONTROL_REG_64 + 9) {}
 
983
 
 
984
DEBUG_REGClass::DEBUG_REGClass()  : TargetRegisterClass(DEBUG_REGRegClassID, "DEBUG_REG", DEBUG_REGVTs, DEBUG_REGSubclasses, DEBUG_REGSuperclasses, DEBUG_REGSubRegClasses, DEBUG_REGSuperRegClasses, 4, 4, 1, DEBUG_REG, DEBUG_REG + 8) {}
 
985
 
 
986
    FR32Class::iterator
 
987
    FR32Class::allocation_order_end(const MachineFunction &MF) const {
 
988
      const TargetMachine &TM = MF.getTarget();
 
989
      const X86Subtarget &Subtarget = TM.getSubtarget<X86Subtarget>();
 
990
      if (!Subtarget.is64Bit())
 
991
        return end()-8; // Only XMM0 to XMM7 are available in 32-bit mode.
 
992
      else
 
993
        return end();
 
994
    }
 
995
  
 
996
FR32Class::FR32Class()  : TargetRegisterClass(FR32RegClassID, "FR32", FR32VTs, FR32Subclasses, FR32Superclasses, FR32SubRegClasses, FR32SuperRegClasses, 4, 4, 1, FR32, FR32 + 16) {}
 
997
 
 
998
    FR64Class::iterator
 
999
    FR64Class::allocation_order_end(const MachineFunction &MF) const {
 
1000
      const TargetMachine &TM = MF.getTarget();
 
1001
      const X86Subtarget &Subtarget = TM.getSubtarget<X86Subtarget>();
 
1002
      if (!Subtarget.is64Bit())
 
1003
        return end()-8; // Only XMM0 to XMM7 are available in 32-bit mode.
 
1004
      else
 
1005
        return end();
 
1006
    }
 
1007
  
 
1008
FR64Class::FR64Class()  : TargetRegisterClass(FR64RegClassID, "FR64", FR64VTs, FR64Subclasses, FR64Superclasses, FR64SubRegClasses, FR64SuperRegClasses, 8, 8, 1, FR64, FR64 + 16) {}
 
1009
 
 
1010
    static const unsigned X86_GR16_AO_64[] = {
 
1011
      X86::AX,  X86::CX,   X86::DX,   X86::SI,   X86::DI,
 
1012
      X86::R8W, X86::R9W,  X86::R10W, X86::R11W,
 
1013
      X86::BX, X86::R14W, X86::R15W,  X86::R12W, X86::R13W, X86::BP
 
1014
    };
 
1015
 
 
1016
    GR16Class::iterator
 
1017
    GR16Class::allocation_order_begin(const MachineFunction &MF) const {
 
1018
      const TargetMachine &TM = MF.getTarget();
 
1019
      const X86Subtarget &Subtarget = TM.getSubtarget<X86Subtarget>();
 
1020
      if (Subtarget.is64Bit())
 
1021
        return X86_GR16_AO_64;
 
1022
      else
 
1023
        return begin();
 
1024
    }
 
1025
 
 
1026
    GR16Class::iterator
 
1027
    GR16Class::allocation_order_end(const MachineFunction &MF) const {
 
1028
      const TargetMachine &TM = MF.getTarget();
 
1029
      const TargetRegisterInfo *RI = TM.getRegisterInfo();
 
1030
      const X86Subtarget &Subtarget = TM.getSubtarget<X86Subtarget>();
 
1031
      if (Subtarget.is64Bit()) {
 
1032
        // Does the function dedicate RBP to being a frame ptr?
 
1033
        if (RI->hasFP(MF))
 
1034
          // If so, don't allocate SP or BP.
 
1035
          return array_endof(X86_GR16_AO_64) - 1;
 
1036
        else
 
1037
          // If not, just don't allocate SP.
 
1038
          return array_endof(X86_GR16_AO_64);
 
1039
      } else {
 
1040
        // Does the function dedicate EBP to being a frame ptr?
 
1041
        if (RI->hasFP(MF))
 
1042
          // If so, don't allocate SP or BP.
 
1043
          return begin() + 6;
 
1044
        else
 
1045
          // If not, just don't allocate SP.
 
1046
          return begin() + 7;
 
1047
      }
 
1048
    }
 
1049
  
 
1050
GR16Class::GR16Class()  : TargetRegisterClass(GR16RegClassID, "GR16", GR16VTs, GR16Subclasses, GR16Superclasses, GR16SubRegClasses, GR16SuperRegClasses, 2, 2, 1, GR16, GR16 + 16) {}
 
1051
 
 
1052
GR16_ABCDClass::GR16_ABCDClass()  : TargetRegisterClass(GR16_ABCDRegClassID, "GR16_ABCD", GR16_ABCDVTs, GR16_ABCDSubclasses, GR16_ABCDSuperclasses, GR16_ABCDSubRegClasses, GR16_ABCDSuperRegClasses, 2, 2, 1, GR16_ABCD, GR16_ABCD + 4) {}
 
1053
 
 
1054
    GR16_NOREXClass::iterator
 
1055
    GR16_NOREXClass::allocation_order_end(const MachineFunction &MF) const {
 
1056
      const TargetMachine &TM = MF.getTarget();
 
1057
      const TargetRegisterInfo *RI = TM.getRegisterInfo();
 
1058
      // Does the function dedicate RBP / EBP to being a frame ptr?
 
1059
      if (RI->hasFP(MF))
 
1060
        // If so, don't allocate SP or BP.
 
1061
        return end() - 2;
 
1062
      else
 
1063
        // If not, just don't allocate SP.
 
1064
        return end() - 1;
 
1065
    }
 
1066
  
 
1067
GR16_NOREXClass::GR16_NOREXClass()  : TargetRegisterClass(GR16_NOREXRegClassID, "GR16_NOREX", GR16_NOREXVTs, GR16_NOREXSubclasses, GR16_NOREXSuperclasses, GR16_NOREXSubRegClasses, GR16_NOREXSuperRegClasses, 2, 2, 1, GR16_NOREX, GR16_NOREX + 8) {}
 
1068
 
 
1069
    static const unsigned X86_GR32_AO_64[] = {
 
1070
      X86::EAX, X86::ECX,  X86::EDX,  X86::ESI,  X86::EDI,
 
1071
      X86::R8D, X86::R9D,  X86::R10D, X86::R11D,
 
1072
      X86::EBX, X86::R14D, X86::R15D, X86::R12D, X86::R13D, X86::EBP
 
1073
    };
 
1074
 
 
1075
    GR32Class::iterator
 
1076
    GR32Class::allocation_order_begin(const MachineFunction &MF) const {
 
1077
      const TargetMachine &TM = MF.getTarget();
 
1078
      const X86Subtarget &Subtarget = TM.getSubtarget<X86Subtarget>();
 
1079
      if (Subtarget.is64Bit())
 
1080
        return X86_GR32_AO_64;
 
1081
      else
 
1082
        return begin();
 
1083
    }
 
1084
 
 
1085
    GR32Class::iterator
 
1086
    GR32Class::allocation_order_end(const MachineFunction &MF) const {
 
1087
      const TargetMachine &TM = MF.getTarget();
 
1088
      const TargetRegisterInfo *RI = TM.getRegisterInfo();
 
1089
      const X86Subtarget &Subtarget = TM.getSubtarget<X86Subtarget>();
 
1090
      if (Subtarget.is64Bit()) {
 
1091
        // Does the function dedicate RBP to being a frame ptr?
 
1092
        if (RI->hasFP(MF))
 
1093
          // If so, don't allocate ESP or EBP.
 
1094
          return array_endof(X86_GR32_AO_64) - 1;
 
1095
        else
 
1096
          // If not, just don't allocate ESP.
 
1097
          return array_endof(X86_GR32_AO_64);
 
1098
      } else {
 
1099
        // Does the function dedicate EBP to being a frame ptr?
 
1100
        if (RI->hasFP(MF))
 
1101
          // If so, don't allocate ESP or EBP.
 
1102
          return begin() + 6;
 
1103
        else
 
1104
          // If not, just don't allocate ESP.
 
1105
          return begin() + 7;
 
1106
      }
 
1107
    }
 
1108
  
 
1109
GR32Class::GR32Class()  : TargetRegisterClass(GR32RegClassID, "GR32", GR32VTs, GR32Subclasses, GR32Superclasses, GR32SubRegClasses, GR32SuperRegClasses, 4, 4, 1, GR32, GR32 + 16) {}
 
1110
 
 
1111
GR32_ABCDClass::GR32_ABCDClass()  : TargetRegisterClass(GR32_ABCDRegClassID, "GR32_ABCD", GR32_ABCDVTs, GR32_ABCDSubclasses, GR32_ABCDSuperclasses, GR32_ABCDSubRegClasses, GR32_ABCDSuperRegClasses, 4, 4, 1, GR32_ABCD, GR32_ABCD + 4) {}
 
1112
 
 
1113
GR32_ADClass::GR32_ADClass()  : TargetRegisterClass(GR32_ADRegClassID, "GR32_AD", GR32_ADVTs, GR32_ADSubclasses, GR32_ADSuperclasses, GR32_ADSubRegClasses, GR32_ADSuperRegClasses, 4, 4, 1, GR32_AD, GR32_AD + 2) {}
 
1114
 
 
1115
    GR32_NOREXClass::iterator
 
1116
    GR32_NOREXClass::allocation_order_end(const MachineFunction &MF) const {
 
1117
      const TargetMachine &TM = MF.getTarget();
 
1118
      const TargetRegisterInfo *RI = TM.getRegisterInfo();
 
1119
      // Does the function dedicate RBP / EBP to being a frame ptr?
 
1120
      if (RI->hasFP(MF))
 
1121
        // If so, don't allocate ESP or EBP.
 
1122
        return end() - 2;
 
1123
      else
 
1124
        // If not, just don't allocate ESP.
 
1125
        return end() - 1;
 
1126
    }
 
1127
  
 
1128
GR32_NOREXClass::GR32_NOREXClass()  : TargetRegisterClass(GR32_NOREXRegClassID, "GR32_NOREX", GR32_NOREXVTs, GR32_NOREXSubclasses, GR32_NOREXSuperclasses, GR32_NOREXSubRegClasses, GR32_NOREXSuperRegClasses, 4, 4, 1, GR32_NOREX, GR32_NOREX + 8) {}
 
1129
 
 
1130
    static const unsigned X86_GR32_NOSP_AO_64[] = {
 
1131
      X86::EAX, X86::ECX,  X86::EDX,  X86::ESI,  X86::EDI,
 
1132
      X86::R8D, X86::R9D,  X86::R10D, X86::R11D,
 
1133
      X86::EBX, X86::R14D, X86::R15D, X86::R12D, X86::R13D, X86::EBP
 
1134
    };
 
1135
 
 
1136
    GR32_NOSPClass::iterator
 
1137
    GR32_NOSPClass::allocation_order_begin(const MachineFunction &MF) const {
 
1138
      const TargetMachine &TM = MF.getTarget();
 
1139
      const X86Subtarget &Subtarget = TM.getSubtarget<X86Subtarget>();
 
1140
      if (Subtarget.is64Bit())
 
1141
        return X86_GR32_NOSP_AO_64;
 
1142
      else
 
1143
        return begin();
 
1144
    }
 
1145
 
 
1146
    GR32_NOSPClass::iterator
 
1147
    GR32_NOSPClass::allocation_order_end(const MachineFunction &MF) const {
 
1148
      const TargetMachine &TM = MF.getTarget();
 
1149
      const TargetRegisterInfo *RI = TM.getRegisterInfo();
 
1150
      const X86Subtarget &Subtarget = TM.getSubtarget<X86Subtarget>();
 
1151
      if (Subtarget.is64Bit()) {
 
1152
        // Does the function dedicate RBP to being a frame ptr?
 
1153
        if (RI->hasFP(MF))
 
1154
          // If so, don't allocate EBP.
 
1155
          return array_endof(X86_GR32_NOSP_AO_64) - 1;
 
1156
        else
 
1157
          // If not, any reg in this class is ok.
 
1158
          return array_endof(X86_GR32_NOSP_AO_64);
 
1159
      } else {
 
1160
        // Does the function dedicate EBP to being a frame ptr?
 
1161
        if (RI->hasFP(MF))
 
1162
          // If so, don't allocate EBP.
 
1163
          return begin() + 6;
 
1164
        else
 
1165
          // If not, any reg in this class is ok.
 
1166
          return begin() + 7;
 
1167
      }
 
1168
    }
 
1169
  
 
1170
GR32_NOSPClass::GR32_NOSPClass()  : TargetRegisterClass(GR32_NOSPRegClassID, "GR32_NOSP", GR32_NOSPVTs, GR32_NOSPSubclasses, GR32_NOSPSuperclasses, GR32_NOSPSubRegClasses, GR32_NOSPSuperRegClasses, 4, 4, 1, GR32_NOSP, GR32_NOSP + 15) {}
 
1171
 
 
1172
    GR64Class::iterator
 
1173
    GR64Class::allocation_order_end(const MachineFunction &MF) const {
 
1174
      const TargetMachine &TM = MF.getTarget();
 
1175
      const TargetRegisterInfo *RI = TM.getRegisterInfo();
 
1176
      const X86Subtarget &Subtarget = TM.getSubtarget<X86Subtarget>();
 
1177
      if (!Subtarget.is64Bit())
 
1178
        return begin();  // None of these are allocatable in 32-bit.
 
1179
      if (RI->hasFP(MF)) // Does the function dedicate RBP to being a frame ptr?
 
1180
        return end()-3;  // If so, don't allocate RIP, RSP or RBP
 
1181
      else
 
1182
        return end()-2;  // If not, just don't allocate RIP or RSP
 
1183
    }
 
1184
  
 
1185
GR64Class::GR64Class()  : TargetRegisterClass(GR64RegClassID, "GR64", GR64VTs, GR64Subclasses, GR64Superclasses, GR64SubRegClasses, GR64SuperRegClasses, 8, 8, 1, GR64, GR64 + 17) {}
 
1186
 
 
1187
GR64_ABCDClass::GR64_ABCDClass()  : TargetRegisterClass(GR64_ABCDRegClassID, "GR64_ABCD", GR64_ABCDVTs, GR64_ABCDSubclasses, GR64_ABCDSuperclasses, GR64_ABCDSubRegClasses, GR64_ABCDSuperRegClasses, 8, 8, 1, GR64_ABCD, GR64_ABCD + 4) {}
 
1188
 
 
1189
    GR64_NOREXClass::iterator
 
1190
    GR64_NOREXClass::allocation_order_end(const MachineFunction &MF) const {
 
1191
      const TargetMachine &TM = MF.getTarget();
 
1192
      const TargetRegisterInfo *RI = TM.getRegisterInfo();
 
1193
      // Does the function dedicate RBP to being a frame ptr?
 
1194
      if (RI->hasFP(MF))
 
1195
        // If so, don't allocate RIP, RSP or RBP.
 
1196
        return end() - 3;
 
1197
      else
 
1198
        // If not, just don't allocate RIP or RSP.
 
1199
        return end() - 2;
 
1200
    }
 
1201
  
 
1202
GR64_NOREXClass::GR64_NOREXClass()  : TargetRegisterClass(GR64_NOREXRegClassID, "GR64_NOREX", GR64_NOREXVTs, GR64_NOREXSubclasses, GR64_NOREXSuperclasses, GR64_NOREXSubRegClasses, GR64_NOREXSuperRegClasses, 8, 8, 1, GR64_NOREX, GR64_NOREX + 9) {}
 
1203
 
 
1204
    GR64_NOREX_NOSPClass::iterator
 
1205
    GR64_NOREX_NOSPClass::allocation_order_end(const MachineFunction &MF) const
 
1206
  {
 
1207
      const TargetMachine &TM = MF.getTarget();
 
1208
      const TargetRegisterInfo *RI = TM.getRegisterInfo();
 
1209
      // Does the function dedicate RBP to being a frame ptr?
 
1210
      if (RI->hasFP(MF))
 
1211
        // If so, don't allocate RBP.
 
1212
        return end() - 1;
 
1213
      else
 
1214
        // If not, any reg in this class is ok.
 
1215
        return end();
 
1216
    }
 
1217
  
 
1218
GR64_NOREX_NOSPClass::GR64_NOREX_NOSPClass()  : TargetRegisterClass(GR64_NOREX_NOSPRegClassID, "GR64_NOREX_NOSP", GR64_NOREX_NOSPVTs, GR64_NOREX_NOSPSubclasses, GR64_NOREX_NOSPSuperclasses, GR64_NOREX_NOSPSubRegClasses, GR64_NOREX_NOSPSuperRegClasses, 8, 8, 1, GR64_NOREX_NOSP, GR64_NOREX_NOSP + 7) {}
 
1219
 
 
1220
    GR64_NOSPClass::iterator
 
1221
    GR64_NOSPClass::allocation_order_end(const MachineFunction &MF) const {
 
1222
      const TargetMachine &TM = MF.getTarget();
 
1223
      const TargetRegisterInfo *RI = TM.getRegisterInfo();
 
1224
      const X86Subtarget &Subtarget = TM.getSubtarget<X86Subtarget>();
 
1225
      if (!Subtarget.is64Bit())
 
1226
        return begin();  // None of these are allocatable in 32-bit.
 
1227
      if (RI->hasFP(MF)) // Does the function dedicate RBP to being a frame ptr?
 
1228
        return end()-1;  // If so, don't allocate RBP
 
1229
      else
 
1230
        return end();  // If not, any reg in this class is ok.
 
1231
    }
 
1232
  
 
1233
GR64_NOSPClass::GR64_NOSPClass()  : TargetRegisterClass(GR64_NOSPRegClassID, "GR64_NOSP", GR64_NOSPVTs, GR64_NOSPSubclasses, GR64_NOSPSuperclasses, GR64_NOSPSubRegClasses, GR64_NOSPSuperRegClasses, 8, 8, 1, GR64_NOSP, GR64_NOSP + 15) {}
 
1234
 
 
1235
    static const unsigned X86_GR8_AO_64[] = {
 
1236
      X86::AL,   X86::CL,   X86::DL,   X86::SIL, X86::DIL,
 
1237
      X86::R8B,  X86::R9B,  X86::R10B, X86::R11B,
 
1238
      X86::BL,   X86::R14B, X86::R15B, X86::R12B, X86::R13B, X86::BPL
 
1239
    };
 
1240
 
 
1241
    GR8Class::iterator
 
1242
    GR8Class::allocation_order_begin(const MachineFunction &MF) const {
 
1243
      const TargetMachine &TM = MF.getTarget();
 
1244
      const X86Subtarget &Subtarget = TM.getSubtarget<X86Subtarget>();
 
1245
      if (Subtarget.is64Bit())
 
1246
        return X86_GR8_AO_64;
 
1247
      else
 
1248
        return begin();
 
1249
    }
 
1250
 
 
1251
    GR8Class::iterator
 
1252
    GR8Class::allocation_order_end(const MachineFunction &MF) const {
 
1253
      const TargetMachine &TM = MF.getTarget();
 
1254
      const TargetRegisterInfo *RI = TM.getRegisterInfo();
 
1255
      const X86Subtarget &Subtarget = TM.getSubtarget<X86Subtarget>();
 
1256
      // Does the function dedicate RBP / EBP to being a frame ptr?
 
1257
      if (!Subtarget.is64Bit())
 
1258
        // In 32-mode, none of the 8-bit registers aliases EBP or ESP.
 
1259
        return begin() + 8;
 
1260
      else if (RI->hasFP(MF))
 
1261
        // If so, don't allocate SPL or BPL.
 
1262
        return array_endof(X86_GR8_AO_64) - 1;
 
1263
      else
 
1264
        // If not, just don't allocate SPL.
 
1265
        return array_endof(X86_GR8_AO_64);
 
1266
    }
 
1267
  
 
1268
GR8Class::GR8Class()  : TargetRegisterClass(GR8RegClassID, "GR8", GR8VTs, GR8Subclasses, GR8Superclasses, GR8SubRegClasses, GR8SuperRegClasses, 1, 1, 1, GR8, GR8 + 20) {}
 
1269
 
 
1270
GR8_ABCD_HClass::GR8_ABCD_HClass()  : TargetRegisterClass(GR8_ABCD_HRegClassID, "GR8_ABCD_H", GR8_ABCD_HVTs, GR8_ABCD_HSubclasses, GR8_ABCD_HSuperclasses, GR8_ABCD_HSubRegClasses, GR8_ABCD_HSuperRegClasses, 1, 1, 1, GR8_ABCD_H, GR8_ABCD_H + 4) {}
 
1271
 
 
1272
GR8_ABCD_LClass::GR8_ABCD_LClass()  : TargetRegisterClass(GR8_ABCD_LRegClassID, "GR8_ABCD_L", GR8_ABCD_LVTs, GR8_ABCD_LSubclasses, GR8_ABCD_LSuperclasses, GR8_ABCD_LSubRegClasses, GR8_ABCD_LSuperRegClasses, 1, 1, 1, GR8_ABCD_L, GR8_ABCD_L + 4) {}
 
1273
 
 
1274
    // In 64-bit mode, it's not safe to blindly allocate H registers.
 
1275
    static const unsigned X86_GR8_NOREX_AO_64[] = {
 
1276
      X86::AL, X86::CL, X86::DL, X86::BL
 
1277
    };
 
1278
 
 
1279
    GR8_NOREXClass::iterator
 
1280
    GR8_NOREXClass::allocation_order_begin(const MachineFunction &MF) const {
 
1281
      const TargetMachine &TM = MF.getTarget();
 
1282
      const X86Subtarget &Subtarget = TM.getSubtarget<X86Subtarget>();
 
1283
      if (Subtarget.is64Bit())
 
1284
        return X86_GR8_NOREX_AO_64;
 
1285
      else
 
1286
        return begin();
 
1287
    }
 
1288
 
 
1289
    GR8_NOREXClass::iterator
 
1290
    GR8_NOREXClass::allocation_order_end(const MachineFunction &MF) const {
 
1291
      const TargetMachine &TM = MF.getTarget();
 
1292
      const X86Subtarget &Subtarget = TM.getSubtarget<X86Subtarget>();
 
1293
      if (Subtarget.is64Bit())
 
1294
        return array_endof(X86_GR8_NOREX_AO_64);
 
1295
      else
 
1296
        return end();
 
1297
    }
 
1298
  
 
1299
GR8_NOREXClass::GR8_NOREXClass()  : TargetRegisterClass(GR8_NOREXRegClassID, "GR8_NOREX", GR8_NOREXVTs, GR8_NOREXSubclasses, GR8_NOREXSuperclasses, GR8_NOREXSubRegClasses, GR8_NOREXSuperRegClasses, 1, 1, 1, GR8_NOREX, GR8_NOREX + 8) {}
 
1300
 
 
1301
RFP32Class::RFP32Class()  : TargetRegisterClass(RFP32RegClassID, "RFP32", RFP32VTs, RFP32Subclasses, RFP32Superclasses, RFP32SubRegClasses, RFP32SuperRegClasses, 4, 4, 1, RFP32, RFP32 + 7) {}
 
1302
 
 
1303
RFP64Class::RFP64Class()  : TargetRegisterClass(RFP64RegClassID, "RFP64", RFP64VTs, RFP64Subclasses, RFP64Superclasses, RFP64SubRegClasses, RFP64SuperRegClasses, 8, 4, 1, RFP64, RFP64 + 7) {}
 
1304
 
 
1305
RFP80Class::RFP80Class()  : TargetRegisterClass(RFP80RegClassID, "RFP80", RFP80VTs, RFP80Subclasses, RFP80Superclasses, RFP80SubRegClasses, RFP80SuperRegClasses, 10, 4, 1, RFP80, RFP80 + 7) {}
 
1306
 
 
1307
    RSTClass::iterator
 
1308
    RSTClass::allocation_order_end(const MachineFunction &MF) const {
 
1309
      return begin();
 
1310
    }
 
1311
  
 
1312
RSTClass::RSTClass()  : TargetRegisterClass(RSTRegClassID, "RST", RSTVTs, RSTSubclasses, RSTSuperclasses, RSTSubRegClasses, RSTSuperRegClasses, 10, 4, 1, RST, RST + 8) {}
 
1313
 
 
1314
SEGMENT_REGClass::SEGMENT_REGClass()  : TargetRegisterClass(SEGMENT_REGRegClassID, "SEGMENT_REG", SEGMENT_REGVTs, SEGMENT_REGSubclasses, SEGMENT_REGSuperclasses, SEGMENT_REGSubRegClasses, SEGMENT_REGSuperRegClasses, 2, 2, 1, SEGMENT_REG, SEGMENT_REG + 6) {}
 
1315
 
 
1316
    VR128Class::iterator
 
1317
    VR128Class::allocation_order_end(const MachineFunction &MF) const {
 
1318
      const TargetMachine &TM = MF.getTarget();
 
1319
      const X86Subtarget &Subtarget = TM.getSubtarget<X86Subtarget>();
 
1320
      if (!Subtarget.is64Bit())
 
1321
        return end()-8; // Only XMM0 to XMM7 are available in 32-bit mode.
 
1322
      else
 
1323
        return end();
 
1324
    }
 
1325
  
 
1326
VR128Class::VR128Class()  : TargetRegisterClass(VR128RegClassID, "VR128", VR128VTs, VR128Subclasses, VR128Superclasses, VR128SubRegClasses, VR128SuperRegClasses, 16, 16, 1, VR128, VR128 + 16) {}
 
1327
 
 
1328
VR256Class::VR256Class()  : TargetRegisterClass(VR256RegClassID, "VR256", VR256VTs, VR256Subclasses, VR256Superclasses, VR256SubRegClasses, VR256SuperRegClasses, 32, 32, 1, VR256, VR256 + 16) {}
 
1329
 
 
1330
VR64Class::VR64Class()  : TargetRegisterClass(VR64RegClassID, "VR64", VR64VTs, VR64Subclasses, VR64Superclasses, VR64SubRegClasses, VR64SuperRegClasses, 8, 8, 1, VR64, VR64 + 8) {}
 
1331
}
 
1332
 
 
1333
namespace {
 
1334
  const TargetRegisterClass* const RegisterClasses[] = {
 
1335
    &X86::CCRRegClass,
 
1336
    &X86::CONTROL_REG_32RegClass,
 
1337
    &X86::CONTROL_REG_64RegClass,
 
1338
    &X86::DEBUG_REGRegClass,
 
1339
    &X86::FR32RegClass,
 
1340
    &X86::FR64RegClass,
 
1341
    &X86::GR16RegClass,
 
1342
    &X86::GR16_ABCDRegClass,
 
1343
    &X86::GR16_NOREXRegClass,
 
1344
    &X86::GR32RegClass,
 
1345
    &X86::GR32_ABCDRegClass,
 
1346
    &X86::GR32_ADRegClass,
 
1347
    &X86::GR32_NOREXRegClass,
 
1348
    &X86::GR32_NOSPRegClass,
 
1349
    &X86::GR64RegClass,
 
1350
    &X86::GR64_ABCDRegClass,
 
1351
    &X86::GR64_NOREXRegClass,
 
1352
    &X86::GR64_NOREX_NOSPRegClass,
 
1353
    &X86::GR64_NOSPRegClass,
 
1354
    &X86::GR8RegClass,
 
1355
    &X86::GR8_ABCD_HRegClass,
 
1356
    &X86::GR8_ABCD_LRegClass,
 
1357
    &X86::GR8_NOREXRegClass,
 
1358
    &X86::RFP32RegClass,
 
1359
    &X86::RFP64RegClass,
 
1360
    &X86::RFP80RegClass,
 
1361
    &X86::RSTRegClass,
 
1362
    &X86::SEGMENT_REGRegClass,
 
1363
    &X86::VR128RegClass,
 
1364
    &X86::VR256RegClass,
 
1365
    &X86::VR64RegClass,
 
1366
  };
 
1367
 
 
1368
 
 
1369
  // Number of hash collisions: 20
 
1370
  const unsigned SubregHashTable[] = { X86::NoRegister, X86::NoRegister, 
 
1371
                                       X86::NoRegister, X86::NoRegister, 
 
1372
                                       X86::NoRegister, X86::NoRegister, 
 
1373
                                       X86::NoRegister, X86::NoRegister, 
 
1374
                                       X86::NoRegister, X86::NoRegister, 
 
1375
                                       X86::R14, X86::R14B, 
 
1376
                                       X86::NoRegister, X86::NoRegister, 
 
1377
                                       X86::R14D, X86::R14B, 
 
1378
                                       X86::R14W, X86::R14B, 
 
1379
                                       X86::EDX, X86::DH, 
 
1380
                                       X86::NoRegister, X86::NoRegister, 
 
1381
                                       X86::NoRegister, X86::NoRegister, 
 
1382
                                       X86::NoRegister, X86::NoRegister, 
 
1383
                                       X86::NoRegister, X86::NoRegister, 
 
1384
                                       X86::NoRegister, X86::NoRegister, 
 
1385
                                       X86::NoRegister, X86::NoRegister, 
 
1386
                                       X86::RDI, X86::EDI, 
 
1387
                                       X86::NoRegister, X86::NoRegister, 
 
1388
                                       X86::NoRegister, X86::NoRegister, 
 
1389
                                       X86::NoRegister, X86::NoRegister, 
 
1390
                                       X86::NoRegister, X86::NoRegister, 
 
1391
                                       X86::NoRegister, X86::NoRegister, 
 
1392
                                       X86::NoRegister, X86::NoRegister, 
 
1393
                                       X86::R9, X86::R9W, 
 
1394
                                       X86::NoRegister, X86::NoRegister, 
 
1395
                                       X86::R9D, X86::R9W, 
 
1396
                                       X86::YMM2, X86::XMM2, 
 
1397
                                       X86::NoRegister, X86::NoRegister, 
 
1398
                                       X86::NoRegister, X86::NoRegister, 
 
1399
                                       X86::EIP, X86::IP, 
 
1400
                                       X86::NoRegister, X86::NoRegister, 
 
1401
                                       X86::NoRegister, X86::NoRegister, 
 
1402
                                       X86::NoRegister, X86::NoRegister, 
 
1403
                                       X86::NoRegister, X86::NoRegister, 
 
1404
                                       X86::NoRegister, X86::NoRegister, 
 
1405
                                       X86::NoRegister, X86::NoRegister, 
 
1406
                                       X86::NoRegister, X86::NoRegister, 
 
1407
                                       X86::NoRegister, X86::NoRegister, 
 
1408
                                       X86::NoRegister, X86::NoRegister, 
 
1409
                                       X86::NoRegister, X86::NoRegister, 
 
1410
                                       X86::AX, X86::AH, 
 
1411
                                       X86::NoRegister, X86::NoRegister, 
 
1412
                                       X86::R14, X86::R14D, 
 
1413
                                       X86::NoRegister, X86::NoRegister, 
 
1414
                                       X86::NoRegister, X86::NoRegister, 
 
1415
                                       X86::EDI, X86::DI, 
 
1416
                                       X86::RCX, X86::CX, 
 
1417
                                       X86::NoRegister, X86::NoRegister, 
 
1418
                                       X86::RDX, X86::DX, 
 
1419
                                       X86::NoRegister, X86::NoRegister, 
 
1420
                                       X86::NoRegister, X86::NoRegister, 
 
1421
                                       X86::NoRegister, X86::NoRegister, 
 
1422
                                       X86::NoRegister, X86::NoRegister, 
 
1423
                                       X86::NoRegister, X86::NoRegister, 
 
1424
                                       X86::RDX, X86::EDX, 
 
1425
                                       X86::NoRegister, X86::NoRegister, 
 
1426
                                       X86::NoRegister, X86::NoRegister, 
 
1427
                                       X86::DI, X86::DIL, 
 
1428
                                       X86::NoRegister, X86::NoRegister, 
 
1429
                                       X86::NoRegister, X86::NoRegister, 
 
1430
                                       X86::NoRegister, X86::NoRegister, 
 
1431
                                       X86::R11, X86::R11B, 
 
1432
                                       X86::NoRegister, X86::NoRegister, 
 
1433
                                       X86::R11D, X86::R11B, 
 
1434
                                       X86::EAX, X86::AH, 
 
1435
                                       X86::NoRegister, X86::NoRegister, 
 
1436
                                       X86::R11W, X86::R11B, 
 
1437
                                       X86::NoRegister, X86::NoRegister, 
 
1438
                                       X86::NoRegister, X86::NoRegister, 
 
1439
                                       X86::NoRegister, X86::NoRegister, 
 
1440
                                       X86::YMM3, X86::XMM3, 
 
1441
                                       X86::RAX, X86::EAX, 
 
1442
                                       X86::NoRegister, X86::NoRegister, 
 
1443
                                       X86::NoRegister, X86::NoRegister, 
 
1444
                                       X86::NoRegister, X86::NoRegister, 
 
1445
                                       X86::NoRegister, X86::NoRegister, 
 
1446
                                       X86::NoRegister, X86::NoRegister, 
 
1447
                                       X86::AX, X86::AL, 
 
1448
                                       X86::NoRegister, X86::NoRegister, 
 
1449
                                       X86::R14, X86::R14W, 
 
1450
                                       X86::NoRegister, X86::NoRegister, 
 
1451
                                       X86::R14D, X86::R14W, 
 
1452
                                       X86::EDI, X86::DIL, 
 
1453
                                       X86::NoRegister, X86::NoRegister, 
 
1454
                                       X86::NoRegister, X86::NoRegister, 
 
1455
                                       X86::RDX, X86::DH, 
 
1456
                                       X86::NoRegister, X86::NoRegister, 
 
1457
                                       X86::NoRegister, X86::NoRegister, 
 
1458
                                       X86::NoRegister, X86::NoRegister, 
 
1459
                                       X86::NoRegister, X86::NoRegister, 
 
1460
                                       X86::NoRegister, X86::NoRegister, 
 
1461
                                       X86::NoRegister, X86::NoRegister, 
 
1462
                                       X86::NoRegister, X86::NoRegister, 
 
1463
                                       X86::NoRegister, X86::NoRegister, 
 
1464
                                       X86::NoRegister, X86::NoRegister, 
 
1465
                                       X86::NoRegister, X86::NoRegister, 
 
1466
                                       X86::NoRegister, X86::NoRegister, 
 
1467
                                       X86::NoRegister, X86::NoRegister, 
 
1468
                                       X86::R11, X86::R11D, 
 
1469
                                       X86::NoRegister, X86::NoRegister, 
 
1470
                                       X86::RIP, X86::IP, 
 
1471
                                       X86::EAX, X86::AL, 
 
1472
                                       X86::YMM4, X86::XMM4, 
 
1473
                                       X86::NoRegister, X86::NoRegister, 
 
1474
                                       X86::NoRegister, X86::NoRegister, 
 
1475
                                       X86::NoRegister, X86::NoRegister, 
 
1476
                                       X86::DX, X86::DL, 
 
1477
                                       X86::NoRegister, X86::NoRegister, 
 
1478
                                       X86::NoRegister, X86::NoRegister, 
 
1479
                                       X86::RBP, X86::EBP, 
 
1480
                                       X86::NoRegister, X86::NoRegister, 
 
1481
                                       X86::NoRegister, X86::NoRegister, 
 
1482
                                       X86::NoRegister, X86::NoRegister, 
 
1483
                                       X86::NoRegister, X86::NoRegister, 
 
1484
                                       X86::NoRegister, X86::NoRegister, 
 
1485
                                       X86::RDI, X86::DI, 
 
1486
                                       X86::NoRegister, X86::NoRegister, 
 
1487
                                       X86::NoRegister, X86::NoRegister, 
 
1488
                                       X86::NoRegister, X86::NoRegister, 
 
1489
                                       X86::NoRegister, X86::NoRegister, 
 
1490
                                       X86::EDX, X86::DL, 
 
1491
                                       X86::NoRegister, X86::NoRegister, 
 
1492
                                       X86::NoRegister, X86::NoRegister, 
 
1493
                                       X86::NoRegister, X86::NoRegister, 
 
1494
                                       X86::NoRegister, X86::NoRegister, 
 
1495
                                       X86::NoRegister, X86::NoRegister, 
 
1496
                                       X86::NoRegister, X86::NoRegister, 
 
1497
                                       X86::NoRegister, X86::NoRegister, 
 
1498
                                       X86::NoRegister, X86::NoRegister, 
 
1499
                                       X86::RIP, X86::EIP, 
 
1500
                                       X86::NoRegister, X86::NoRegister, 
 
1501
                                       X86::NoRegister, X86::NoRegister, 
 
1502
                                       X86::NoRegister, X86::NoRegister, 
 
1503
                                       X86::RAX, X86::AH, 
 
1504
                                       X86::NoRegister, X86::NoRegister, 
 
1505
                                       X86::R11, X86::R11W, 
 
1506
                                       X86::NoRegister, X86::NoRegister, 
 
1507
                                       X86::R11D, X86::R11W, 
 
1508
                                       X86::EAX, X86::AX, 
 
1509
                                       X86::NoRegister, X86::NoRegister, 
 
1510
                                       X86::YMM5, X86::XMM5, 
 
1511
                                       X86::NoRegister, X86::NoRegister, 
 
1512
                                       X86::NoRegister, X86::NoRegister, 
 
1513
                                       X86::NoRegister, X86::NoRegister, 
 
1514
                                       X86::NoRegister, X86::NoRegister, 
 
1515
                                       X86::NoRegister, X86::NoRegister, 
 
1516
                                       X86::NoRegister, X86::NoRegister, 
 
1517
                                       X86::RBX, X86::EBX, 
 
1518
                                       X86::NoRegister, X86::NoRegister, 
 
1519
                                       X86::NoRegister, X86::NoRegister, 
 
1520
                                       X86::NoRegister, X86::NoRegister, 
 
1521
                                       X86::NoRegister, X86::NoRegister, 
 
1522
                                       X86::RDI, X86::DIL, 
 
1523
                                       X86::NoRegister, X86::NoRegister, 
 
1524
                                       X86::NoRegister, X86::NoRegister, 
 
1525
                                       X86::NoRegister, X86::NoRegister, 
 
1526
                                       X86::BX, X86::BH, 
 
1527
                                       X86::R15, X86::R15B, 
 
1528
                                       X86::NoRegister, X86::NoRegister, 
 
1529
                                       X86::R15D, X86::R15B, 
 
1530
                                       X86::R15W, X86::R15B, 
 
1531
                                       X86::NoRegister, X86::NoRegister, 
 
1532
                                       X86::NoRegister, X86::NoRegister, 
 
1533
                                       X86::NoRegister, X86::NoRegister, 
 
1534
                                       X86::NoRegister, X86::NoRegister, 
 
1535
                                       X86::NoRegister, X86::NoRegister, 
 
1536
                                       X86::ESI, X86::SI, 
 
1537
                                       X86::NoRegister, X86::NoRegister, 
 
1538
                                       X86::NoRegister, X86::NoRegister, 
 
1539
                                       X86::NoRegister, X86::NoRegister, 
 
1540
                                       X86::RAX, X86::AL, 
 
1541
                                       X86::NoRegister, X86::NoRegister, 
 
1542
                                       X86::NoRegister, X86::NoRegister, 
 
1543
                                       X86::NoRegister, X86::NoRegister, 
 
1544
                                       X86::NoRegister, X86::NoRegister, 
 
1545
                                       X86::NoRegister, X86::NoRegister, 
 
1546
                                       X86::NoRegister, X86::NoRegister, 
 
1547
                                       X86::EBX, X86::BH, 
 
1548
                                       X86::YMM6, X86::XMM6, 
 
1549
                                       X86::NoRegister, X86::NoRegister, 
 
1550
                                       X86::NoRegister, X86::NoRegister, 
 
1551
                                       X86::NoRegister, X86::NoRegister, 
 
1552
                                       X86::NoRegister, X86::NoRegister, 
 
1553
                                       X86::NoRegister, X86::NoRegister, 
 
1554
                                       X86::NoRegister, X86::NoRegister, 
 
1555
                                       X86::NoRegister, X86::NoRegister, 
 
1556
                                       X86::NoRegister, X86::NoRegister, 
 
1557
                                       X86::NoRegister, X86::NoRegister, 
 
1558
                                       X86::NoRegister, X86::NoRegister, 
 
1559
                                       X86::NoRegister, X86::NoRegister, 
 
1560
                                       X86::RDX, X86::DL, 
 
1561
                                       X86::NoRegister, X86::NoRegister, 
 
1562
                                       X86::NoRegister, X86::NoRegister, 
 
1563
                                       X86::BX, X86::BL, 
 
1564
                                       X86::R15, X86::R15D, 
 
1565
                                       X86::NoRegister, X86::NoRegister, 
 
1566
                                       X86::NoRegister, X86::NoRegister, 
 
1567
                                       X86::NoRegister, X86::NoRegister, 
 
1568
                                       X86::NoRegister, X86::NoRegister, 
 
1569
                                       X86::NoRegister, X86::NoRegister, 
 
1570
                                       X86::NoRegister, X86::NoRegister, 
 
1571
                                       X86::NoRegister, X86::NoRegister, 
 
1572
                                       X86::NoRegister, X86::NoRegister, 
 
1573
                                       X86::ESI, X86::SIL, 
 
1574
                                       X86::RSI, X86::ESI, 
 
1575
                                       X86::NoRegister, X86::NoRegister, 
 
1576
                                       X86::NoRegister, X86::NoRegister, 
 
1577
                                       X86::RAX, X86::AX, 
 
1578
                                       X86::NoRegister, X86::NoRegister, 
 
1579
                                       X86::NoRegister, X86::NoRegister, 
 
1580
                                       X86::NoRegister, X86::NoRegister, 
 
1581
                                       X86::NoRegister, X86::NoRegister, 
 
1582
                                       X86::NoRegister, X86::NoRegister, 
 
1583
                                       X86::R12, X86::R12B, 
 
1584
                                       X86::EBX, X86::BL, 
 
1585
                                       X86::R12D, X86::R12B, 
 
1586
                                       X86::R12W, X86::R12B, 
 
1587
                                       X86::NoRegister, X86::NoRegister, 
 
1588
                                       X86::YMM7, X86::XMM7, 
 
1589
                                       X86::NoRegister, X86::NoRegister, 
 
1590
                                       X86::NoRegister, X86::NoRegister, 
 
1591
                                       X86::NoRegister, X86::NoRegister, 
 
1592
                                       X86::NoRegister, X86::NoRegister, 
 
1593
                                       X86::NoRegister, X86::NoRegister, 
 
1594
                                       X86::NoRegister, X86::NoRegister, 
 
1595
                                       X86::NoRegister, X86::NoRegister, 
 
1596
                                       X86::NoRegister, X86::NoRegister, 
 
1597
                                       X86::NoRegister, X86::NoRegister, 
 
1598
                                       X86::NoRegister, X86::NoRegister, 
 
1599
                                       X86::NoRegister, X86::NoRegister, 
 
1600
                                       X86::NoRegister, X86::NoRegister, 
 
1601
                                       X86::R15, X86::R15W, 
 
1602
                                       X86::NoRegister, X86::NoRegister, 
 
1603
                                       X86::R15D, X86::R15W, 
 
1604
                                       X86::RSI, X86::SI, 
 
1605
                                       X86::NoRegister, X86::NoRegister, 
 
1606
                                       X86::YMM0, X86::XMM0, 
 
1607
                                       X86::NoRegister, X86::NoRegister, 
 
1608
                                       X86::NoRegister, X86::NoRegister, 
 
1609
                                       X86::NoRegister, X86::NoRegister, 
 
1610
                                       X86::NoRegister, X86::NoRegister, 
 
1611
                                       X86::ESP, X86::SP, 
 
1612
                                       X86::RSP, X86::ESP, 
 
1613
                                       X86::NoRegister, X86::NoRegister, 
 
1614
                                       X86::NoRegister, X86::NoRegister, 
 
1615
                                       X86::NoRegister, X86::NoRegister, 
 
1616
                                       X86::RBX, X86::BH, 
 
1617
                                       X86::NoRegister, X86::NoRegister, 
 
1618
                                       X86::NoRegister, X86::NoRegister, 
 
1619
                                       X86::NoRegister, X86::NoRegister, 
 
1620
                                       X86::EBP, X86::BP, 
 
1621
                                       X86::NoRegister, X86::NoRegister, 
 
1622
                                       X86::R12, X86::R12D, 
 
1623
                                       X86::NoRegister, X86::NoRegister, 
 
1624
                                       X86::YMM8, X86::XMM8, 
 
1625
                                       X86::NoRegister, X86::NoRegister, 
 
1626
                                       X86::NoRegister, X86::NoRegister, 
 
1627
                                       X86::NoRegister, X86::NoRegister, 
 
1628
                                       X86::NoRegister, X86::NoRegister, 
 
1629
                                       X86::NoRegister, X86::NoRegister, 
 
1630
                                       X86::NoRegister, X86::NoRegister, 
 
1631
                                       X86::NoRegister, X86::NoRegister, 
 
1632
                                       X86::NoRegister, X86::NoRegister, 
 
1633
                                       X86::NoRegister, X86::NoRegister, 
 
1634
                                       X86::NoRegister, X86::NoRegister, 
 
1635
                                       X86::BP, X86::BPL, 
 
1636
                                       X86::NoRegister, X86::NoRegister, 
 
1637
                                       X86::NoRegister, X86::NoRegister, 
 
1638
                                       X86::NoRegister, X86::NoRegister, 
 
1639
                                       X86::NoRegister, X86::NoRegister, 
 
1640
                                       X86::NoRegister, X86::NoRegister, 
 
1641
                                       X86::RSI, X86::SIL, 
 
1642
                                       X86::YMM1, X86::XMM1, 
 
1643
                                       X86::SI, X86::SIL, 
 
1644
                                       X86::NoRegister, X86::NoRegister, 
 
1645
                                       X86::NoRegister, X86::NoRegister, 
 
1646
                                       X86::NoRegister, X86::NoRegister, 
 
1647
                                       X86::NoRegister, X86::NoRegister, 
 
1648
                                       X86::ESP, X86::SPL, 
 
1649
                                       X86::NoRegister, X86::NoRegister, 
 
1650
                                       X86::NoRegister, X86::NoRegister, 
 
1651
                                       X86::NoRegister, X86::NoRegister, 
 
1652
                                       X86::NoRegister, X86::NoRegister, 
 
1653
                                       X86::RBX, X86::BL, 
 
1654
                                       X86::NoRegister, X86::NoRegister, 
 
1655
                                       X86::NoRegister, X86::NoRegister, 
 
1656
                                       X86::NoRegister, X86::NoRegister, 
 
1657
                                       X86::EBP, X86::BPL, 
 
1658
                                       X86::NoRegister, X86::NoRegister, 
 
1659
                                       X86::R12, X86::R12W, 
 
1660
                                       X86::NoRegister, X86::NoRegister, 
 
1661
                                       X86::R12D, X86::R12W, 
 
1662
                                       X86::YMM9, X86::XMM9, 
 
1663
                                       X86::NoRegister, X86::NoRegister, 
 
1664
                                       X86::NoRegister, X86::NoRegister, 
 
1665
                                       X86::NoRegister, X86::NoRegister, 
 
1666
                                       X86::NoRegister, X86::NoRegister, 
 
1667
                                       X86::NoRegister, X86::NoRegister, 
 
1668
                                       X86::NoRegister, X86::NoRegister, 
 
1669
                                       X86::NoRegister, X86::NoRegister, 
 
1670
                                       X86::NoRegister, X86::NoRegister, 
 
1671
                                       X86::NoRegister, X86::NoRegister, 
 
1672
                                       X86::NoRegister, X86::NoRegister, 
 
1673
                                       X86::NoRegister, X86::NoRegister, 
 
1674
                                       X86::NoRegister, X86::NoRegister, 
 
1675
                                       X86::NoRegister, X86::NoRegister, 
 
1676
                                       X86::NoRegister, X86::NoRegister, 
 
1677
                                       X86::NoRegister, X86::NoRegister, 
 
1678
                                       X86::NoRegister, X86::NoRegister, 
 
1679
                                       X86::R8, X86::R8B, 
 
1680
                                       X86::YMM10, X86::XMM10, 
 
1681
                                       X86::R8D, X86::R8B, 
 
1682
                                       X86::R8W, X86::R8B, 
 
1683
                                       X86::NoRegister, X86::NoRegister, 
 
1684
                                       X86::NoRegister, X86::NoRegister, 
 
1685
                                       X86::RSP, X86::SP, 
 
1686
                                       X86::NoRegister, X86::NoRegister, 
 
1687
                                       X86::NoRegister, X86::NoRegister, 
 
1688
                                       X86::NoRegister, X86::NoRegister, 
 
1689
                                       X86::RBP, X86::BP, 
 
1690
                                       X86::NoRegister, X86::NoRegister, 
 
1691
                                       X86::NoRegister, X86::NoRegister, 
 
1692
                                       X86::NoRegister, X86::NoRegister, 
 
1693
                                       X86::NoRegister, X86::NoRegister, 
 
1694
                                       X86::NoRegister, X86::NoRegister, 
 
1695
                                       X86::EBX, X86::BX, 
 
1696
                                       X86::NoRegister, X86::NoRegister, 
 
1697
                                       X86::NoRegister, X86::NoRegister, 
 
1698
                                       X86::NoRegister, X86::NoRegister, 
 
1699
                                       X86::NoRegister, X86::NoRegister, 
 
1700
                                       X86::NoRegister, X86::NoRegister, 
 
1701
                                       X86::NoRegister, X86::NoRegister, 
 
1702
                                       X86::NoRegister, X86::NoRegister, 
 
1703
                                       X86::NoRegister, X86::NoRegister, 
 
1704
                                       X86::NoRegister, X86::NoRegister, 
 
1705
                                       X86::NoRegister, X86::NoRegister, 
 
1706
                                       X86::NoRegister, X86::NoRegister, 
 
1707
                                       X86::NoRegister, X86::NoRegister, 
 
1708
                                       X86::NoRegister, X86::NoRegister, 
 
1709
                                       X86::NoRegister, X86::NoRegister, 
 
1710
                                       X86::NoRegister, X86::NoRegister, 
 
1711
                                       X86::NoRegister, X86::NoRegister, 
 
1712
                                       X86::NoRegister, X86::NoRegister, 
 
1713
                                       X86::NoRegister, X86::NoRegister, 
 
1714
                                       X86::NoRegister, X86::NoRegister, 
 
1715
                                       X86::CX, X86::CH, 
 
1716
                                       X86::R8, X86::R8D, 
 
1717
                                       X86::NoRegister, X86::NoRegister, 
 
1718
                                       X86::RSP, X86::SPL, 
 
1719
                                       X86::SP, X86::SPL, 
 
1720
                                       X86::YMM11, X86::XMM11, 
 
1721
                                       X86::NoRegister, X86::NoRegister, 
 
1722
                                       X86::NoRegister, X86::NoRegister, 
 
1723
                                       X86::NoRegister, X86::NoRegister, 
 
1724
                                       X86::NoRegister, X86::NoRegister, 
 
1725
                                       X86::NoRegister, X86::NoRegister, 
 
1726
                                       X86::RBP, X86::BPL, 
 
1727
                                       X86::NoRegister, X86::NoRegister, 
 
1728
                                       X86::NoRegister, X86::NoRegister, 
 
1729
                                       X86::NoRegister, X86::NoRegister, 
 
1730
                                       X86::NoRegister, X86::NoRegister, 
 
1731
                                       X86::NoRegister, X86::NoRegister, 
 
1732
                                       X86::NoRegister, X86::NoRegister, 
 
1733
                                       X86::NoRegister, X86::NoRegister, 
 
1734
                                       X86::NoRegister, X86::NoRegister, 
 
1735
                                       X86::R13, X86::R13B, 
 
1736
                                       X86::NoRegister, X86::NoRegister, 
 
1737
                                       X86::R13D, X86::R13B, 
 
1738
                                       X86::R13W, X86::R13B, 
 
1739
                                       X86::NoRegister, X86::NoRegister, 
 
1740
                                       X86::NoRegister, X86::NoRegister, 
 
1741
                                       X86::ECX, X86::CH, 
 
1742
                                       X86::NoRegister, X86::NoRegister, 
 
1743
                                       X86::NoRegister, X86::NoRegister, 
 
1744
                                       X86::NoRegister, X86::NoRegister, 
 
1745
                                       X86::NoRegister, X86::NoRegister, 
 
1746
                                       X86::NoRegister, X86::NoRegister, 
 
1747
                                       X86::NoRegister, X86::NoRegister, 
 
1748
                                       X86::NoRegister, X86::NoRegister, 
 
1749
                                       X86::NoRegister, X86::NoRegister, 
 
1750
                                       X86::NoRegister, X86::NoRegister, 
 
1751
                                       X86::NoRegister, X86::NoRegister, 
 
1752
                                       X86::CX, X86::CL, 
 
1753
                                       X86::R8, X86::R8W, 
 
1754
                                       X86::NoRegister, X86::NoRegister, 
 
1755
                                       X86::R8D, X86::R8W, 
 
1756
                                       X86::YMM12, X86::XMM12, 
 
1757
                                       X86::NoRegister, X86::NoRegister, 
 
1758
                                       X86::NoRegister, X86::NoRegister, 
 
1759
                                       X86::NoRegister, X86::NoRegister, 
 
1760
                                       X86::NoRegister, X86::NoRegister, 
 
1761
                                       X86::NoRegister, X86::NoRegister, 
 
1762
                                       X86::NoRegister, X86::NoRegister, 
 
1763
                                       X86::NoRegister, X86::NoRegister, 
 
1764
                                       X86::RBX, X86::BX, 
 
1765
                                       X86::NoRegister, X86::NoRegister, 
 
1766
                                       X86::NoRegister, X86::NoRegister, 
 
1767
                                       X86::NoRegister, X86::NoRegister, 
 
1768
                                       X86::NoRegister, X86::NoRegister, 
 
1769
                                       X86::NoRegister, X86::NoRegister, 
 
1770
                                       X86::NoRegister, X86::NoRegister, 
 
1771
                                       X86::NoRegister, X86::NoRegister, 
 
1772
                                       X86::R13, X86::R13D, 
 
1773
                                       X86::NoRegister, X86::NoRegister, 
 
1774
                                       X86::NoRegister, X86::NoRegister, 
 
1775
                                       X86::NoRegister, X86::NoRegister, 
 
1776
                                       X86::NoRegister, X86::NoRegister, 
 
1777
                                       X86::NoRegister, X86::NoRegister, 
 
1778
                                       X86::ECX, X86::CL, 
 
1779
                                       X86::NoRegister, X86::NoRegister, 
 
1780
                                       X86::NoRegister, X86::NoRegister, 
 
1781
                                       X86::NoRegister, X86::NoRegister, 
 
1782
                                       X86::NoRegister, X86::NoRegister, 
 
1783
                                       X86::NoRegister, X86::NoRegister, 
 
1784
                                       X86::NoRegister, X86::NoRegister, 
 
1785
                                       X86::NoRegister, X86::NoRegister, 
 
1786
                                       X86::NoRegister, X86::NoRegister, 
 
1787
                                       X86::NoRegister, X86::NoRegister, 
 
1788
                                       X86::NoRegister, X86::NoRegister, 
 
1789
                                       X86::NoRegister, X86::NoRegister, 
 
1790
                                       X86::NoRegister, X86::NoRegister, 
 
1791
                                       X86::R10, X86::R10B, 
 
1792
                                       X86::NoRegister, X86::NoRegister, 
 
1793
                                       X86::R10D, X86::R10B, 
 
1794
                                       X86::R10W, X86::R10B, 
 
1795
                                       X86::NoRegister, X86::NoRegister, 
 
1796
                                       X86::YMM13, X86::XMM13, 
 
1797
                                       X86::NoRegister, X86::NoRegister, 
 
1798
                                       X86::NoRegister, X86::NoRegister, 
 
1799
                                       X86::NoRegister, X86::NoRegister, 
 
1800
                                       X86::NoRegister, X86::NoRegister, 
 
1801
                                       X86::NoRegister, X86::NoRegister, 
 
1802
                                       X86::NoRegister, X86::NoRegister, 
 
1803
                                       X86::NoRegister, X86::NoRegister, 
 
1804
                                       X86::NoRegister, X86::NoRegister, 
 
1805
                                       X86::NoRegister, X86::NoRegister, 
 
1806
                                       X86::NoRegister, X86::NoRegister, 
 
1807
                                       X86::NoRegister, X86::NoRegister, 
 
1808
                                       X86::NoRegister, X86::NoRegister, 
 
1809
                                       X86::R13, X86::R13W, 
 
1810
                                       X86::NoRegister, X86::NoRegister, 
 
1811
                                       X86::R13D, X86::R13W, 
 
1812
                                       X86::NoRegister, X86::NoRegister, 
 
1813
                                       X86::RCX, X86::CH, 
 
1814
                                       X86::NoRegister, X86::NoRegister, 
 
1815
                                       X86::NoRegister, X86::NoRegister, 
 
1816
                                       X86::NoRegister, X86::NoRegister, 
 
1817
                                       X86::NoRegister, X86::NoRegister, 
 
1818
                                       X86::NoRegister, X86::NoRegister, 
 
1819
                                       X86::NoRegister, X86::NoRegister, 
 
1820
                                       X86::NoRegister, X86::NoRegister, 
 
1821
                                       X86::NoRegister, X86::NoRegister, 
 
1822
                                       X86::NoRegister, X86::NoRegister, 
 
1823
                                       X86::NoRegister, X86::NoRegister, 
 
1824
                                       X86::NoRegister, X86::NoRegister, 
 
1825
                                       X86::NoRegister, X86::NoRegister, 
 
1826
                                       X86::NoRegister, X86::NoRegister, 
 
1827
                                       X86::NoRegister, X86::NoRegister, 
 
1828
                                       X86::R10, X86::R10D, 
 
1829
                                       X86::NoRegister, X86::NoRegister, 
 
1830
                                       X86::NoRegister, X86::NoRegister, 
 
1831
                                       X86::R9, X86::R9B, 
 
1832
                                       X86::YMM14, X86::XMM14, 
 
1833
                                       X86::R9D, X86::R9B, 
 
1834
                                       X86::R9W, X86::R9B, 
 
1835
                                       X86::NoRegister, X86::NoRegister, 
 
1836
                                       X86::NoRegister, X86::NoRegister, 
 
1837
                                       X86::NoRegister, X86::NoRegister, 
 
1838
                                       X86::NoRegister, X86::NoRegister, 
 
1839
                                       X86::NoRegister, X86::NoRegister, 
 
1840
                                       X86::NoRegister, X86::NoRegister, 
 
1841
                                       X86::NoRegister, X86::NoRegister, 
 
1842
                                       X86::NoRegister, X86::NoRegister, 
 
1843
                                       X86::NoRegister, X86::NoRegister, 
 
1844
                                       X86::NoRegister, X86::NoRegister, 
 
1845
                                       X86::NoRegister, X86::NoRegister, 
 
1846
                                       X86::NoRegister, X86::NoRegister, 
 
1847
                                       X86::NoRegister, X86::NoRegister, 
 
1848
                                       X86::RCX, X86::CL, 
 
1849
                                       X86::NoRegister, X86::NoRegister, 
 
1850
                                       X86::NoRegister, X86::NoRegister, 
 
1851
                                       X86::NoRegister, X86::NoRegister, 
 
1852
                                       X86::ECX, X86::CX, 
 
1853
                                       X86::NoRegister, X86::NoRegister, 
 
1854
                                       X86::NoRegister, X86::NoRegister, 
 
1855
                                       X86::NoRegister, X86::NoRegister, 
 
1856
                                       X86::NoRegister, X86::NoRegister, 
 
1857
                                       X86::NoRegister, X86::NoRegister, 
 
1858
                                       X86::NoRegister, X86::NoRegister, 
 
1859
                                       X86::NoRegister, X86::NoRegister, 
 
1860
                                       X86::EDX, X86::DX, 
 
1861
                                       X86::NoRegister, X86::NoRegister, 
 
1862
                                       X86::RCX, X86::ECX, 
 
1863
                                       X86::NoRegister, X86::NoRegister, 
 
1864
                                       X86::NoRegister, X86::NoRegister, 
 
1865
                                       X86::R10, X86::R10W, 
 
1866
                                       X86::NoRegister, X86::NoRegister, 
 
1867
                                       X86::R10D, X86::R10W, 
 
1868
                                       X86::R9, X86::R9D, 
 
1869
                                       X86::NoRegister, X86::NoRegister, 
 
1870
                                       X86::YMM15, X86::XMM15, 
 
1871
                                       X86::NoRegister, X86::NoRegister, 
 
1872
                                       X86::NoRegister, X86::NoRegister, 
 
1873
                                       X86::NoRegister, X86::NoRegister, 
 
1874
                                       X86::NoRegister, X86::NoRegister, 
 
1875
                                       X86::NoRegister, X86::NoRegister, 
 
1876
                                       X86::NoRegister, X86::NoRegister, 
 
1877
                                       X86::DX, X86::DH, 
 
1878
                                       X86::NoRegister, X86::NoRegister, 
 
1879
                                       X86::NoRegister, X86::NoRegister, 
 
1880
                                       X86::NoRegister, X86::NoRegister, 
 
1881
X86::NoRegister, X86::NoRegister };
 
1882
  const unsigned SubregHashTableSize = 512;
 
1883
 
 
1884
 
 
1885
  // Number of hash collisions: 23
 
1886
  const unsigned SuperregHashTable[] = { X86::DX, X86::RDX, 
 
1887
                                       X86::NoRegister, X86::NoRegister, 
 
1888
                                       X86::NoRegister, X86::NoRegister, 
 
1889
                                       X86::NoRegister, X86::NoRegister, 
 
1890
                                       X86::NoRegister, X86::NoRegister, 
 
1891
                                       X86::NoRegister, X86::NoRegister, 
 
1892
                                       X86::NoRegister, X86::NoRegister, 
 
1893
                                       X86::NoRegister, X86::NoRegister, 
 
1894
                                       X86::NoRegister, X86::NoRegister, 
 
1895
                                       X86::NoRegister, X86::NoRegister, 
 
1896
                                       X86::NoRegister, X86::NoRegister, 
 
1897
                                       X86::BP, X86::RBP, 
 
1898
                                       X86::BPL, X86::RBP, 
 
1899
                                       X86::NoRegister, X86::NoRegister, 
 
1900
                                       X86::EDX, X86::RDX, 
 
1901
                                       X86::NoRegister, X86::NoRegister, 
 
1902
                                       X86::XMM14, X86::YMM14, 
 
1903
                                       X86::NoRegister, X86::NoRegister, 
 
1904
                                       X86::BP, X86::EBP, 
 
1905
                                       X86::BPL, X86::EBP, 
 
1906
                                       X86::NoRegister, X86::NoRegister, 
 
1907
                                       X86::DIL, X86::DI, 
 
1908
                                       X86::NoRegister, X86::NoRegister, 
 
1909
                                       X86::NoRegister, X86::NoRegister, 
 
1910
                                       X86::R9B, X86::R9W, 
 
1911
                                       X86::R11B, X86::R11, 
 
1912
                                       X86::R11D, X86::R11, 
 
1913
                                       X86::R11W, X86::R11, 
 
1914
                                       X86::NoRegister, X86::NoRegister, 
 
1915
                                       X86::NoRegister, X86::NoRegister, 
 
1916
                                       X86::NoRegister, X86::NoRegister, 
 
1917
                                       X86::NoRegister, X86::NoRegister, 
 
1918
                                       X86::NoRegister, X86::NoRegister, 
 
1919
                                       X86::EBP, X86::RBP, 
 
1920
                                       X86::NoRegister, X86::NoRegister, 
 
1921
                                       X86::NoRegister, X86::NoRegister, 
 
1922
                                       X86::NoRegister, X86::NoRegister, 
 
1923
                                       X86::NoRegister, X86::NoRegister, 
 
1924
                                       X86::NoRegister, X86::NoRegister, 
 
1925
                                       X86::NoRegister, X86::NoRegister, 
 
1926
                                       X86::NoRegister, X86::NoRegister, 
 
1927
                                       X86::NoRegister, X86::NoRegister, 
 
1928
                                       X86::R14D, X86::R14, 
 
1929
                                       X86::R14B, X86::R14D, 
 
1930
                                       X86::NoRegister, X86::NoRegister, 
 
1931
                                       X86::R14W, X86::R14D, 
 
1932
                                       X86::BH, X86::RBX, 
 
1933
                                       X86::BL, X86::RBX, 
 
1934
                                       X86::NoRegister, X86::NoRegister, 
 
1935
                                       X86::NoRegister, X86::NoRegister, 
 
1936
                                       X86::BX, X86::RBX, 
 
1937
                                       X86::NoRegister, X86::NoRegister, 
 
1938
                                       X86::XMM15, X86::YMM15, 
 
1939
                                       X86::BH, X86::EBX, 
 
1940
                                       X86::BL, X86::EBX, 
 
1941
                                       X86::EIP, X86::RIP, 
 
1942
                                       X86::NoRegister, X86::NoRegister, 
 
1943
                                       X86::BX, X86::EBX, 
 
1944
                                       X86::NoRegister, X86::NoRegister, 
 
1945
                                       X86::NoRegister, X86::NoRegister, 
 
1946
                                       X86::NoRegister, X86::NoRegister, 
 
1947
                                       X86::NoRegister, X86::NoRegister, 
 
1948
                                       X86::NoRegister, X86::NoRegister, 
 
1949
                                       X86::NoRegister, X86::NoRegister, 
 
1950
                                       X86::NoRegister, X86::NoRegister, 
 
1951
                                       X86::NoRegister, X86::NoRegister, 
 
1952
                                       X86::IP, X86::RIP, 
 
1953
                                       X86::NoRegister, X86::NoRegister, 
 
1954
                                       X86::NoRegister, X86::NoRegister, 
 
1955
                                       X86::NoRegister, X86::NoRegister, 
 
1956
                                       X86::NoRegister, X86::NoRegister, 
 
1957
                                       X86::EBX, X86::RBX, 
 
1958
                                       X86::NoRegister, X86::NoRegister, 
 
1959
                                       X86::IP, X86::EIP, 
 
1960
                                       X86::NoRegister, X86::NoRegister, 
 
1961
                                       X86::NoRegister, X86::NoRegister, 
 
1962
                                       X86::NoRegister, X86::NoRegister, 
 
1963
                                       X86::NoRegister, X86::NoRegister, 
 
1964
                                       X86::NoRegister, X86::NoRegister, 
 
1965
                                       X86::NoRegister, X86::NoRegister, 
 
1966
                                       X86::R14B, X86::R14W, 
 
1967
                                       X86::NoRegister, X86::NoRegister, 
 
1968
                                       X86::NoRegister, X86::NoRegister, 
 
1969
                                       X86::NoRegister, X86::NoRegister, 
 
1970
                                       X86::NoRegister, X86::NoRegister, 
 
1971
                                       X86::NoRegister, X86::NoRegister, 
 
1972
                                       X86::NoRegister, X86::NoRegister, 
 
1973
                                       X86::NoRegister, X86::NoRegister, 
 
1974
                                       X86::NoRegister, X86::NoRegister, 
 
1975
                                       X86::NoRegister, X86::NoRegister, 
 
1976
                                       X86::XMM2, X86::YMM2, 
 
1977
                                       X86::NoRegister, X86::NoRegister, 
 
1978
                                       X86::ESI, X86::RSI, 
 
1979
                                       X86::NoRegister, X86::NoRegister, 
 
1980
                                       X86::NoRegister, X86::NoRegister, 
 
1981
                                       X86::NoRegister, X86::NoRegister, 
 
1982
                                       X86::NoRegister, X86::NoRegister, 
 
1983
                                       X86::NoRegister, X86::NoRegister, 
 
1984
                                       X86::NoRegister, X86::NoRegister, 
 
1985
                                       X86::R11B, X86::R11D, 
 
1986
                                       X86::NoRegister, X86::NoRegister, 
 
1987
                                       X86::R11W, X86::R11D, 
 
1988
                                       X86::NoRegister, X86::NoRegister, 
 
1989
                                       X86::NoRegister, X86::NoRegister, 
 
1990
                                       X86::NoRegister, X86::NoRegister, 
 
1991
                                       X86::NoRegister, X86::NoRegister, 
 
1992
                                       X86::NoRegister, X86::NoRegister, 
 
1993
                                       X86::NoRegister, X86::NoRegister, 
 
1994
                                       X86::NoRegister, X86::NoRegister, 
 
1995
                                       X86::NoRegister, X86::NoRegister, 
 
1996
                                       X86::NoRegister, X86::NoRegister, 
 
1997
                                       X86::NoRegister, X86::NoRegister, 
 
1998
                                       X86::AH, X86::AX, 
 
1999
                                       X86::AL, X86::AX, 
 
2000
                                       X86::NoRegister, X86::NoRegister, 
 
2001
                                       X86::NoRegister, X86::NoRegister, 
 
2002
                                       X86::NoRegister, X86::NoRegister, 
 
2003
                                       X86::NoRegister, X86::NoRegister, 
 
2004
                                       X86::NoRegister, X86::NoRegister, 
 
2005
                                       X86::NoRegister, X86::NoRegister, 
 
2006
                                       X86::NoRegister, X86::NoRegister, 
 
2007
                                       X86::R15B, X86::R15, 
 
2008
                                       X86::R15D, X86::R15, 
 
2009
                                       X86::R15W, X86::R15, 
 
2010
                                       X86::NoRegister, X86::NoRegister, 
 
2011
                                       X86::NoRegister, X86::NoRegister, 
 
2012
                                       X86::NoRegister, X86::NoRegister, 
 
2013
                                       X86::NoRegister, X86::NoRegister, 
 
2014
                                       X86::XMM3, X86::YMM3, 
 
2015
                                       X86::NoRegister, X86::NoRegister, 
 
2016
                                       X86::ESP, X86::RSP, 
 
2017
                                       X86::NoRegister, X86::NoRegister, 
 
2018
                                       X86::NoRegister, X86::NoRegister, 
 
2019
                                       X86::NoRegister, X86::NoRegister, 
 
2020
                                       X86::NoRegister, X86::NoRegister, 
 
2021
                                       X86::NoRegister, X86::NoRegister, 
 
2022
                                       X86::R11B, X86::R11W, 
 
2023
                                       X86::NoRegister, X86::NoRegister, 
 
2024
                                       X86::NoRegister, X86::NoRegister, 
 
2025
                                       X86::NoRegister, X86::NoRegister, 
 
2026
                                       X86::NoRegister, X86::NoRegister, 
 
2027
                                       X86::NoRegister, X86::NoRegister, 
 
2028
                                       X86::NoRegister, X86::NoRegister, 
 
2029
                                       X86::NoRegister, X86::NoRegister, 
 
2030
                                       X86::NoRegister, X86::NoRegister, 
 
2031
                                       X86::NoRegister, X86::NoRegister, 
 
2032
                                       X86::NoRegister, X86::NoRegister, 
 
2033
                                       X86::NoRegister, X86::NoRegister, 
 
2034
                                       X86::NoRegister, X86::NoRegister, 
 
2035
                                       X86::NoRegister, X86::NoRegister, 
 
2036
                                       X86::NoRegister, X86::NoRegister, 
 
2037
                                       X86::NoRegister, X86::NoRegister, 
 
2038
                                       X86::NoRegister, X86::NoRegister, 
 
2039
                                       X86::NoRegister, X86::NoRegister, 
 
2040
                                       X86::NoRegister, X86::NoRegister, 
 
2041
                                       X86::NoRegister, X86::NoRegister, 
 
2042
                                       X86::NoRegister, X86::NoRegister, 
 
2043
                                       X86::NoRegister, X86::NoRegister, 
 
2044
                                       X86::NoRegister, X86::NoRegister, 
 
2045
                                       X86::NoRegister, X86::NoRegister, 
 
2046
                                       X86::NoRegister, X86::NoRegister, 
 
2047
                                       X86::NoRegister, X86::NoRegister, 
 
2048
                                       X86::SI, X86::RSI, 
 
2049
                                       X86::SIL, X86::RSI, 
 
2050
                                       X86::NoRegister, X86::NoRegister, 
 
2051
                                       X86::NoRegister, X86::NoRegister, 
 
2052
                                       X86::XMM4, X86::YMM4, 
 
2053
                                       X86::NoRegister, X86::NoRegister, 
 
2054
                                       X86::NoRegister, X86::NoRegister, 
 
2055
                                       X86::NoRegister, X86::NoRegister, 
 
2056
                                       X86::NoRegister, X86::NoRegister, 
 
2057
                                       X86::NoRegister, X86::NoRegister, 
 
2058
                                       X86::NoRegister, X86::NoRegister, 
 
2059
                                       X86::NoRegister, X86::NoRegister, 
 
2060
                                       X86::NoRegister, X86::NoRegister, 
 
2061
                                       X86::NoRegister, X86::NoRegister, 
 
2062
                                       X86::NoRegister, X86::NoRegister, 
 
2063
                                       X86::R12B, X86::R12, 
 
2064
                                       X86::R12D, X86::R12, 
 
2065
                                       X86::R12W, X86::R12, 
 
2066
                                       X86::NoRegister, X86::NoRegister, 
 
2067
                                       X86::NoRegister, X86::NoRegister, 
 
2068
                                       X86::NoRegister, X86::NoRegister, 
 
2069
                                       X86::NoRegister, X86::NoRegister, 
 
2070
                                       X86::NoRegister, X86::NoRegister, 
 
2071
                                       X86::NoRegister, X86::NoRegister, 
 
2072
                                       X86::NoRegister, X86::NoRegister, 
 
2073
                                       X86::NoRegister, X86::NoRegister, 
 
2074
                                       X86::NoRegister, X86::NoRegister, 
 
2075
                                       X86::NoRegister, X86::NoRegister, 
 
2076
                                       X86::NoRegister, X86::NoRegister, 
 
2077
                                       X86::NoRegister, X86::NoRegister, 
 
2078
                                       X86::NoRegister, X86::NoRegister, 
 
2079
                                       X86::NoRegister, X86::NoRegister, 
 
2080
                                       X86::NoRegister, X86::NoRegister, 
 
2081
                                       X86::R15B, X86::R15D, 
 
2082
                                       X86::NoRegister, X86::NoRegister, 
 
2083
                                       X86::R15W, X86::R15D, 
 
2084
                                       X86::NoRegister, X86::NoRegister, 
 
2085
                                       X86::NoRegister, X86::NoRegister, 
 
2086
                                       X86::NoRegister, X86::NoRegister, 
 
2087
                                       X86::SP, X86::RSP, 
 
2088
                                       X86::SPL, X86::RSP, 
 
2089
                                       X86::NoRegister, X86::NoRegister, 
 
2090
                                       X86::XMM5, X86::YMM5, 
 
2091
                                       X86::NoRegister, X86::NoRegister, 
 
2092
                                       X86::SI, X86::ESI, 
 
2093
                                       X86::SIL, X86::ESI, 
 
2094
                                       X86::NoRegister, X86::NoRegister, 
 
2095
                                       X86::NoRegister, X86::NoRegister, 
 
2096
                                       X86::NoRegister, X86::NoRegister, 
 
2097
                                       X86::NoRegister, X86::NoRegister, 
 
2098
                                       X86::NoRegister, X86::NoRegister, 
 
2099
                                       X86::NoRegister, X86::NoRegister, 
 
2100
                                       X86::NoRegister, X86::NoRegister, 
 
2101
                                       X86::NoRegister, X86::NoRegister, 
 
2102
                                       X86::NoRegister, X86::NoRegister, 
 
2103
                                       X86::NoRegister, X86::NoRegister, 
 
2104
                                       X86::NoRegister, X86::NoRegister, 
 
2105
                                       X86::NoRegister, X86::NoRegister, 
 
2106
                                       X86::NoRegister, X86::NoRegister, 
 
2107
                                       X86::NoRegister, X86::NoRegister, 
 
2108
                                       X86::NoRegister, X86::NoRegister, 
 
2109
                                       X86::NoRegister, X86::NoRegister, 
 
2110
                                       X86::NoRegister, X86::NoRegister, 
 
2111
                                       X86::NoRegister, X86::NoRegister, 
 
2112
                                       X86::NoRegister, X86::NoRegister, 
 
2113
                                       X86::NoRegister, X86::NoRegister, 
 
2114
                                       X86::NoRegister, X86::NoRegister, 
 
2115
                                       X86::BPL, X86::BP, 
 
2116
                                       X86::NoRegister, X86::NoRegister, 
 
2117
                                       X86::NoRegister, X86::NoRegister, 
 
2118
                                       X86::R15B, X86::R15W, 
 
2119
                                       X86::NoRegister, X86::NoRegister, 
 
2120
                                       X86::NoRegister, X86::NoRegister, 
 
2121
                                       X86::NoRegister, X86::NoRegister, 
 
2122
                                       X86::NoRegister, X86::NoRegister, 
 
2123
                                       X86::SIL, X86::SI, 
 
2124
                                       X86::NoRegister, X86::NoRegister, 
 
2125
                                       X86::NoRegister, X86::NoRegister, 
 
2126
                                       X86::NoRegister, X86::NoRegister, 
 
2127
                                       X86::NoRegister, X86::NoRegister, 
 
2128
                                       X86::XMM6, X86::YMM6, 
 
2129
                                       X86::NoRegister, X86::NoRegister, 
 
2130
                                       X86::NoRegister, X86::NoRegister, 
 
2131
                                       X86::SP, X86::ESP, 
 
2132
                                       X86::SPL, X86::ESP, 
 
2133
                                       X86::NoRegister, X86::NoRegister, 
 
2134
                                       X86::NoRegister, X86::NoRegister, 
 
2135
                                       X86::NoRegister, X86::NoRegister, 
 
2136
                                       X86::NoRegister, X86::NoRegister, 
 
2137
                                       X86::R12B, X86::R12D, 
 
2138
                                       X86::NoRegister, X86::NoRegister, 
 
2139
                                       X86::R12W, X86::R12D, 
 
2140
                                       X86::NoRegister, X86::NoRegister, 
 
2141
                                       X86::NoRegister, X86::NoRegister, 
 
2142
                                       X86::NoRegister, X86::NoRegister, 
 
2143
                                       X86::NoRegister, X86::NoRegister, 
 
2144
                                       X86::NoRegister, X86::NoRegister, 
 
2145
                                       X86::NoRegister, X86::NoRegister, 
 
2146
                                       X86::NoRegister, X86::NoRegister, 
 
2147
                                       X86::NoRegister, X86::NoRegister, 
 
2148
                                       X86::NoRegister, X86::NoRegister, 
 
2149
                                       X86::NoRegister, X86::NoRegister, 
 
2150
                                       X86::NoRegister, X86::NoRegister, 
 
2151
                                       X86::NoRegister, X86::NoRegister, 
 
2152
                                       X86::NoRegister, X86::NoRegister, 
 
2153
                                       X86::NoRegister, X86::NoRegister, 
 
2154
                                       X86::NoRegister, X86::NoRegister, 
 
2155
                                       X86::NoRegister, X86::NoRegister, 
 
2156
                                       X86::NoRegister, X86::NoRegister, 
 
2157
                                       X86::NoRegister, X86::NoRegister, 
 
2158
                                       X86::NoRegister, X86::NoRegister, 
 
2159
                                       X86::R8B, X86::R8, 
 
2160
                                       X86::R8D, X86::R8, 
 
2161
                                       X86::R8W, X86::R8, 
 
2162
                                       X86::NoRegister, X86::NoRegister, 
 
2163
                                       X86::NoRegister, X86::NoRegister, 
 
2164
                                       X86::NoRegister, X86::NoRegister, 
 
2165
                                       X86::NoRegister, X86::NoRegister, 
 
2166
                                       X86::XMM7, X86::YMM7, 
 
2167
                                       X86::NoRegister, X86::NoRegister, 
 
2168
                                       X86::NoRegister, X86::NoRegister, 
 
2169
                                       X86::NoRegister, X86::NoRegister, 
 
2170
                                       X86::NoRegister, X86::NoRegister, 
 
2171
                                       X86::NoRegister, X86::NoRegister, 
 
2172
                                       X86::NoRegister, X86::NoRegister, 
 
2173
                                       X86::NoRegister, X86::NoRegister, 
 
2174
                                       X86::R12B, X86::R12W, 
 
2175
                                       X86::NoRegister, X86::NoRegister, 
 
2176
                                       X86::NoRegister, X86::NoRegister, 
 
2177
                                       X86::NoRegister, X86::NoRegister, 
 
2178
                                       X86::NoRegister, X86::NoRegister, 
 
2179
                                       X86::NoRegister, X86::NoRegister, 
 
2180
                                       X86::NoRegister, X86::NoRegister, 
 
2181
                                       X86::NoRegister, X86::NoRegister, 
 
2182
                                       X86::NoRegister, X86::NoRegister, 
 
2183
                                       X86::NoRegister, X86::NoRegister, 
 
2184
                                       X86::XMM0, X86::YMM0, 
 
2185
                                       X86::NoRegister, X86::NoRegister, 
 
2186
                                       X86::BH, X86::BX, 
 
2187
                                       X86::BL, X86::BX, 
 
2188
                                       X86::NoRegister, X86::NoRegister, 
 
2189
                                       X86::NoRegister, X86::NoRegister, 
 
2190
                                       X86::NoRegister, X86::NoRegister, 
 
2191
                                       X86::NoRegister, X86::NoRegister, 
 
2192
                                       X86::NoRegister, X86::NoRegister, 
 
2193
                                       X86::NoRegister, X86::NoRegister, 
 
2194
                                       X86::NoRegister, X86::NoRegister, 
 
2195
                                       X86::NoRegister, X86::NoRegister, 
 
2196
                                       X86::NoRegister, X86::NoRegister, 
 
2197
                                       X86::NoRegister, X86::NoRegister, 
 
2198
                                       X86::NoRegister, X86::NoRegister, 
 
2199
                                       X86::SPL, X86::SP, 
 
2200
                                       X86::NoRegister, X86::NoRegister, 
 
2201
                                       X86::NoRegister, X86::NoRegister, 
 
2202
                                       X86::NoRegister, X86::NoRegister, 
 
2203
                                       X86::NoRegister, X86::NoRegister, 
 
2204
                                       X86::XMM8, X86::YMM8, 
 
2205
                                       X86::NoRegister, X86::NoRegister, 
 
2206
                                       X86::NoRegister, X86::NoRegister, 
 
2207
                                       X86::NoRegister, X86::NoRegister, 
 
2208
                                       X86::NoRegister, X86::NoRegister, 
 
2209
                                       X86::NoRegister, X86::NoRegister, 
 
2210
                                       X86::NoRegister, X86::NoRegister, 
 
2211
                                       X86::NoRegister, X86::NoRegister, 
 
2212
                                       X86::NoRegister, X86::NoRegister, 
 
2213
                                       X86::NoRegister, X86::NoRegister, 
 
2214
                                       X86::NoRegister, X86::NoRegister, 
 
2215
                                       X86::R13B, X86::R13, 
 
2216
                                       X86::R13D, X86::R13, 
 
2217
                                       X86::R13W, X86::R13, 
 
2218
                                       X86::NoRegister, X86::NoRegister, 
 
2219
                                       X86::NoRegister, X86::NoRegister, 
 
2220
                                       X86::NoRegister, X86::NoRegister, 
 
2221
                                       X86::NoRegister, X86::NoRegister, 
 
2222
                                       X86::XMM1, X86::YMM1, 
 
2223
                                       X86::NoRegister, X86::NoRegister, 
 
2224
                                       X86::NoRegister, X86::NoRegister, 
 
2225
                                       X86::NoRegister, X86::NoRegister, 
 
2226
                                       X86::NoRegister, X86::NoRegister, 
 
2227
                                       X86::NoRegister, X86::NoRegister, 
 
2228
                                       X86::NoRegister, X86::NoRegister, 
 
2229
                                       X86::NoRegister, X86::NoRegister, 
 
2230
                                       X86::NoRegister, X86::NoRegister, 
 
2231
                                       X86::NoRegister, X86::NoRegister, 
 
2232
                                       X86::NoRegister, X86::NoRegister, 
 
2233
                                       X86::R8B, X86::R8D, 
 
2234
                                       X86::NoRegister, X86::NoRegister, 
 
2235
                                       X86::R8W, X86::R8D, 
 
2236
                                       X86::NoRegister, X86::NoRegister, 
 
2237
                                       X86::NoRegister, X86::NoRegister, 
 
2238
                                       X86::NoRegister, X86::NoRegister, 
 
2239
                                       X86::NoRegister, X86::NoRegister, 
 
2240
                                       X86::NoRegister, X86::NoRegister, 
 
2241
                                       X86::NoRegister, X86::NoRegister, 
 
2242
                                       X86::XMM9, X86::YMM9, 
 
2243
                                       X86::NoRegister, X86::NoRegister, 
 
2244
                                       X86::NoRegister, X86::NoRegister, 
 
2245
                                       X86::NoRegister, X86::NoRegister, 
 
2246
                                       X86::NoRegister, X86::NoRegister, 
 
2247
                                       X86::NoRegister, X86::NoRegister, 
 
2248
                                       X86::NoRegister, X86::NoRegister, 
 
2249
                                       X86::NoRegister, X86::NoRegister, 
 
2250
                                       X86::NoRegister, X86::NoRegister, 
 
2251
                                       X86::NoRegister, X86::NoRegister, 
 
2252
                                       X86::NoRegister, X86::NoRegister, 
 
2253
                                       X86::NoRegister, X86::NoRegister, 
 
2254
                                       X86::NoRegister, X86::NoRegister, 
 
2255
                                       X86::NoRegister, X86::NoRegister, 
 
2256
                                       X86::NoRegister, X86::NoRegister, 
 
2257
                                       X86::NoRegister, X86::NoRegister, 
 
2258
                                       X86::NoRegister, X86::NoRegister, 
 
2259
                                       X86::NoRegister, X86::NoRegister, 
 
2260
                                       X86::XMM10, X86::YMM10, 
 
2261
                                       X86::NoRegister, X86::NoRegister, 
 
2262
                                       X86::NoRegister, X86::NoRegister, 
 
2263
                                       X86::NoRegister, X86::NoRegister, 
 
2264
                                       X86::NoRegister, X86::NoRegister, 
 
2265
                                       X86::NoRegister, X86::NoRegister, 
 
2266
                                       X86::NoRegister, X86::NoRegister, 
 
2267
                                       X86::NoRegister, X86::NoRegister, 
 
2268
                                       X86::NoRegister, X86::NoRegister, 
 
2269
                                       X86::NoRegister, X86::NoRegister, 
 
2270
                                       X86::R8B, X86::R8W, 
 
2271
                                       X86::R10B, X86::R10, 
 
2272
                                       X86::R10D, X86::R10, 
 
2273
                                       X86::R10W, X86::R10, 
 
2274
                                       X86::NoRegister, X86::NoRegister, 
 
2275
                                       X86::NoRegister, X86::NoRegister, 
 
2276
                                       X86::NoRegister, X86::NoRegister, 
 
2277
                                       X86::CH, X86::ECX, 
 
2278
                                       X86::CL, X86::ECX, 
 
2279
                                       X86::NoRegister, X86::NoRegister, 
 
2280
                                       X86::CX, X86::ECX, 
 
2281
                                       X86::NoRegister, X86::NoRegister, 
 
2282
                                       X86::NoRegister, X86::NoRegister, 
 
2283
                                       X86::NoRegister, X86::NoRegister, 
 
2284
                                       X86::NoRegister, X86::NoRegister, 
 
2285
                                       X86::NoRegister, X86::NoRegister, 
 
2286
                                       X86::NoRegister, X86::NoRegister, 
 
2287
                                       X86::NoRegister, X86::NoRegister, 
 
2288
                                       X86::NoRegister, X86::NoRegister, 
 
2289
                                       X86::R13B, X86::R13D, 
 
2290
                                       X86::NoRegister, X86::NoRegister, 
 
2291
                                       X86::R13W, X86::R13D, 
 
2292
                                       X86::NoRegister, X86::NoRegister, 
 
2293
                                       X86::NoRegister, X86::NoRegister, 
 
2294
                                       X86::NoRegister, X86::NoRegister, 
 
2295
                                       X86::NoRegister, X86::NoRegister, 
 
2296
                                       X86::NoRegister, X86::NoRegister, 
 
2297
                                       X86::NoRegister, X86::NoRegister, 
 
2298
                                       X86::XMM11, X86::YMM11, 
 
2299
                                       X86::NoRegister, X86::NoRegister, 
 
2300
                                       X86::NoRegister, X86::NoRegister, 
 
2301
                                       X86::NoRegister, X86::NoRegister, 
 
2302
                                       X86::NoRegister, X86::NoRegister, 
 
2303
                                       X86::NoRegister, X86::NoRegister, 
 
2304
                                       X86::NoRegister, X86::NoRegister, 
 
2305
                                       X86::NoRegister, X86::NoRegister, 
 
2306
                                       X86::NoRegister, X86::NoRegister, 
 
2307
                                       X86::CH, X86::RCX, 
 
2308
                                       X86::CL, X86::RCX, 
 
2309
                                       X86::NoRegister, X86::NoRegister, 
 
2310
                                       X86::CX, X86::RCX, 
 
2311
                                       X86::R9B, X86::R9, 
 
2312
                                       X86::R9D, X86::R9, 
 
2313
                                       X86::R9W, X86::R9, 
 
2314
                                       X86::NoRegister, X86::NoRegister, 
 
2315
                                       X86::NoRegister, X86::NoRegister, 
 
2316
                                       X86::NoRegister, X86::NoRegister, 
 
2317
                                       X86::NoRegister, X86::NoRegister, 
 
2318
                                       X86::NoRegister, X86::NoRegister, 
 
2319
                                       X86::DI, X86::EDI, 
 
2320
                                       X86::DIL, X86::EDI, 
 
2321
                                       X86::NoRegister, X86::NoRegister, 
 
2322
                                       X86::NoRegister, X86::NoRegister, 
 
2323
                                       X86::NoRegister, X86::NoRegister, 
 
2324
                                       X86::NoRegister, X86::NoRegister, 
 
2325
                                       X86::NoRegister, X86::NoRegister, 
 
2326
                                       X86::R13B, X86::R13W, 
 
2327
                                       X86::NoRegister, X86::NoRegister, 
 
2328
                                       X86::NoRegister, X86::NoRegister, 
 
2329
                                       X86::NoRegister, X86::NoRegister, 
 
2330
                                       X86::NoRegister, X86::NoRegister, 
 
2331
                                       X86::NoRegister, X86::NoRegister, 
 
2332
                                       X86::NoRegister, X86::NoRegister, 
 
2333
                                       X86::NoRegister, X86::NoRegister, 
 
2334
                                       X86::NoRegister, X86::NoRegister, 
 
2335
                                       X86::NoRegister, X86::NoRegister, 
 
2336
                                       X86::ECX, X86::RCX, 
 
2337
                                       X86::NoRegister, X86::NoRegister, 
 
2338
                                       X86::XMM12, X86::YMM12, 
 
2339
                                       X86::CH, X86::CX, 
 
2340
                                       X86::CL, X86::CX, 
 
2341
                                       X86::NoRegister, X86::NoRegister, 
 
2342
                                       X86::NoRegister, X86::NoRegister, 
 
2343
                                       X86::NoRegister, X86::NoRegister, 
 
2344
                                       X86::NoRegister, X86::NoRegister, 
 
2345
                                       X86::R10B, X86::R10D, 
 
2346
                                       X86::NoRegister, X86::NoRegister, 
 
2347
                                       X86::R10W, X86::R10D, 
 
2348
                                       X86::NoRegister, X86::NoRegister, 
 
2349
                                       X86::DH, X86::DX, 
 
2350
                                       X86::DIL, X86::RDI, 
 
2351
                                       X86::DI, X86::RDI, 
 
2352
                                       X86::DL, X86::DX, 
 
2353
                                       X86::NoRegister, X86::NoRegister, 
 
2354
                                       X86::NoRegister, X86::NoRegister, 
 
2355
                                       X86::DH, X86::EDX, 
 
2356
                                       X86::NoRegister, X86::NoRegister, 
 
2357
                                       X86::NoRegister, X86::NoRegister, 
 
2358
                                       X86::DL, X86::EDX, 
 
2359
                                       X86::NoRegister, X86::NoRegister, 
 
2360
                                       X86::NoRegister, X86::NoRegister, 
 
2361
                                       X86::NoRegister, X86::NoRegister, 
 
2362
                                       X86::NoRegister, X86::NoRegister, 
 
2363
                                       X86::NoRegister, X86::NoRegister, 
 
2364
                                       X86::NoRegister, X86::NoRegister, 
 
2365
                                       X86::NoRegister, X86::NoRegister, 
 
2366
                                       X86::NoRegister, X86::NoRegister, 
 
2367
                                       X86::AH, X86::RAX, 
 
2368
                                       X86::AL, X86::RAX, 
 
2369
                                       X86::AX, X86::RAX, 
 
2370
                                       X86::DX, X86::EDX, 
 
2371
                                       X86::R14W, X86::R14, 
 
2372
                                       X86::NoRegister, X86::NoRegister, 
 
2373
                                       X86::R14B, X86::R14, 
 
2374
                                       X86::AH, X86::EAX, 
 
2375
                                       X86::AL, X86::EAX, 
 
2376
                                       X86::AX, X86::EAX, 
 
2377
                                       X86::NoRegister, X86::NoRegister, 
 
2378
                                       X86::NoRegister, X86::NoRegister, 
 
2379
                                       X86::NoRegister, X86::NoRegister, 
 
2380
                                       X86::EDI, X86::RDI, 
 
2381
                                       X86::NoRegister, X86::NoRegister, 
 
2382
                                       X86::R10B, X86::R10W, 
 
2383
                                       X86::NoRegister, X86::NoRegister, 
 
2384
                                       X86::NoRegister, X86::NoRegister, 
 
2385
                                       X86::DH, X86::RDX, 
 
2386
                                       X86::XMM13, X86::YMM13, 
 
2387
                                       X86::R9B, X86::R9D, 
 
2388
                                       X86::DL, X86::RDX, 
 
2389
                                       X86::R9W, X86::R9D, 
 
2390
                                       X86::NoRegister, X86::NoRegister, 
 
2391
                                       X86::NoRegister, X86::NoRegister, 
 
2392
                                       X86::NoRegister, X86::NoRegister, 
 
2393
                                       X86::EAX, X86::RAX, 
 
2394
                                       X86::NoRegister, X86::NoRegister, 
 
2395
                                       X86::NoRegister, X86::NoRegister, 
 
2396
                                       X86::NoRegister, X86::NoRegister, 
 
2397
X86::NoRegister, X86::NoRegister };
 
2398
  const unsigned SuperregHashTableSize = 512;
 
2399
 
 
2400
 
 
2401
  // Number of hash collisions: 31
 
2402
  const unsigned AliasesHashTable[] = { X86::DX, X86::RDX, 
 
2403
                                       X86::NoRegister, X86::NoRegister, 
 
2404
                                       X86::NoRegister, X86::NoRegister, 
 
2405
                                       X86::NoRegister, X86::NoRegister, 
 
2406
                                       X86::NoRegister, X86::NoRegister, 
 
2407
                                       X86::R14, X86::R14B, 
 
2408
                                       X86::NoRegister, X86::NoRegister, 
 
2409
                                       X86::R14D, X86::R14B, 
 
2410
                                       X86::R14W, X86::R14B, 
 
2411
                                       X86::NoRegister, X86::NoRegister, 
 
2412
                                       X86::NoRegister, X86::NoRegister, 
 
2413
                                       X86::NoRegister, X86::NoRegister, 
 
2414
                                       X86::NoRegister, X86::NoRegister, 
 
2415
                                       X86::NoRegister, X86::NoRegister, 
 
2416
                                       X86::EDX, X86::RDX, 
 
2417
                                       X86::NoRegister, X86::NoRegister, 
 
2418
                                       X86::NoRegister, X86::NoRegister, 
 
2419
                                       X86::NoRegister, X86::NoRegister, 
 
2420
                                       X86::BP, X86::EBP, 
 
2421
                                       X86::BPL, X86::EBP, 
 
2422
                                       X86::NoRegister, X86::NoRegister, 
 
2423
                                       X86::NoRegister, X86::NoRegister, 
 
2424
                                       X86::NoRegister, X86::NoRegister, 
 
2425
                                       X86::NoRegister, X86::NoRegister, 
 
2426
                                       X86::NoRegister, X86::NoRegister, 
 
2427
                                       X86::NoRegister, X86::NoRegister, 
 
2428
                                       X86::YMM2, X86::XMM2, 
 
2429
                                       X86::NoRegister, X86::NoRegister, 
 
2430
                                       X86::NoRegister, X86::NoRegister, 
 
2431
                                       X86::EIP, X86::IP, 
 
2432
                                       X86::NoRegister, X86::NoRegister, 
 
2433
                                       X86::NoRegister, X86::NoRegister, 
 
2434
                                       X86::NoRegister, X86::NoRegister, 
 
2435
                                       X86::NoRegister, X86::NoRegister, 
 
2436
                                       X86::NoRegister, X86::NoRegister, 
 
2437
                                       X86::NoRegister, X86::NoRegister, 
 
2438
                                       X86::NoRegister, X86::NoRegister, 
 
2439
                                       X86::NoRegister, X86::NoRegister, 
 
2440
                                       X86::NoRegister, X86::NoRegister, 
 
2441
                                       X86::NoRegister, X86::NoRegister, 
 
2442
                                       X86::AX, X86::AH, 
 
2443
                                       X86::NoRegister, X86::NoRegister, 
 
2444
                                       X86::R14, X86::R14D, 
 
2445
                                       X86::R14B, X86::R14D, 
 
2446
                                       X86::NoRegister, X86::NoRegister, 
 
2447
                                       X86::R14W, X86::R14D, 
 
2448
                                       X86::NoRegister, X86::NoRegister, 
 
2449
                                       X86::NoRegister, X86::NoRegister, 
 
2450
                                       X86::RDX, X86::DX, 
 
2451
                                       X86::NoRegister, X86::NoRegister, 
 
2452
                                       X86::NoRegister, X86::NoRegister, 
 
2453
                                       X86::NoRegister, X86::NoRegister, 
 
2454
                                       X86::NoRegister, X86::NoRegister, 
 
2455
                                       X86::BH, X86::EBX, 
 
2456
                                       X86::BL, X86::EBX, 
 
2457
                                       X86::EIP, X86::RIP, 
 
2458
                                       X86::NoRegister, X86::NoRegister, 
 
2459
                                       X86::BX, X86::EBX, 
 
2460
                                       X86::NoRegister, X86::NoRegister, 
 
2461
                                       X86::NoRegister, X86::NoRegister, 
 
2462
                                       X86::NoRegister, X86::NoRegister, 
 
2463
                                       X86::NoRegister, X86::NoRegister, 
 
2464
                                       X86::NoRegister, X86::NoRegister, 
 
2465
                                       X86::NoRegister, X86::NoRegister, 
 
2466
                                       X86::EAX, X86::AH, 
 
2467
                                       X86::NoRegister, X86::NoRegister, 
 
2468
                                       X86::IP, X86::RIP, 
 
2469
                                       X86::NoRegister, X86::NoRegister, 
 
2470
                                       X86::NoRegister, X86::NoRegister, 
 
2471
                                       X86::NoRegister, X86::NoRegister, 
 
2472
                                       X86::YMM3, X86::XMM3, 
 
2473
                                       X86::RAX, X86::EAX, 
 
2474
                                       X86::NoRegister, X86::NoRegister, 
 
2475
                                       X86::NoRegister, X86::NoRegister, 
 
2476
                                       X86::NoRegister, X86::NoRegister, 
 
2477
                                       X86::NoRegister, X86::NoRegister, 
 
2478
                                       X86::NoRegister, X86::NoRegister, 
 
2479
                                       X86::AX, X86::AL, 
 
2480
                                       X86::NoRegister, X86::NoRegister, 
 
2481
                                       X86::R14, X86::R14W, 
 
2482
                                       X86::R14B, X86::R14W, 
 
2483
                                       X86::R14D, X86::R14W, 
 
2484
                                       X86::NoRegister, X86::NoRegister, 
 
2485
                                       X86::NoRegister, X86::NoRegister, 
 
2486
                                       X86::NoRegister, X86::NoRegister, 
 
2487
                                       X86::NoRegister, X86::NoRegister, 
 
2488
                                       X86::NoRegister, X86::NoRegister, 
 
2489
                                       X86::NoRegister, X86::NoRegister, 
 
2490
                                       X86::NoRegister, X86::NoRegister, 
 
2491
                                       X86::NoRegister, X86::NoRegister, 
 
2492
                                       X86::NoRegister, X86::NoRegister, 
 
2493
                                       X86::NoRegister, X86::NoRegister, 
 
2494
                                       X86::ESI, X86::RSI, 
 
2495
                                       X86::NoRegister, X86::NoRegister, 
 
2496
                                       X86::NoRegister, X86::NoRegister, 
 
2497
                                       X86::NoRegister, X86::NoRegister, 
 
2498
                                       X86::NoRegister, X86::NoRegister, 
 
2499
                                       X86::NoRegister, X86::NoRegister, 
 
2500
                                       X86::RIP, X86::IP, 
 
2501
                                       X86::NoRegister, X86::NoRegister, 
 
2502
                                       X86::NoRegister, X86::NoRegister, 
 
2503
                                       X86::EAX, X86::AL, 
 
2504
                                       X86::YMM4, X86::XMM4, 
 
2505
                                       X86::NoRegister, X86::NoRegister, 
 
2506
                                       X86::NoRegister, X86::NoRegister, 
 
2507
                                       X86::NoRegister, X86::NoRegister, 
 
2508
                                       X86::NoRegister, X86::NoRegister, 
 
2509
                                       X86::NoRegister, X86::NoRegister, 
 
2510
                                       X86::NoRegister, X86::NoRegister, 
 
2511
                                       X86::RBP, X86::EBP, 
 
2512
                                       X86::NoRegister, X86::NoRegister, 
 
2513
                                       X86::NoRegister, X86::NoRegister, 
 
2514
                                       X86::AH, X86::AX, 
 
2515
                                       X86::AL, X86::AX, 
 
2516
                                       X86::NoRegister, X86::NoRegister, 
 
2517
                                       X86::NoRegister, X86::NoRegister, 
 
2518
                                       X86::NoRegister, X86::NoRegister, 
 
2519
                                       X86::NoRegister, X86::NoRegister, 
 
2520
                                       X86::NoRegister, X86::NoRegister, 
 
2521
                                       X86::NoRegister, X86::NoRegister, 
 
2522
                                       X86::NoRegister, X86::NoRegister, 
 
2523
                                       X86::R15B, X86::R15, 
 
2524
                                       X86::R15D, X86::R15, 
 
2525
                                       X86::R15W, X86::R15, 
 
2526
                                       X86::NoRegister, X86::NoRegister, 
 
2527
                                       X86::NoRegister, X86::NoRegister, 
 
2528
                                       X86::NoRegister, X86::NoRegister, 
 
2529
                                       X86::NoRegister, X86::NoRegister, 
 
2530
                                       X86::NoRegister, X86::NoRegister, 
 
2531
                                       X86::NoRegister, X86::NoRegister, 
 
2532
                                       X86::ESP, X86::RSP, 
 
2533
                                       X86::NoRegister, X86::NoRegister, 
 
2534
                                       X86::NoRegister, X86::NoRegister, 
 
2535
                                       X86::RAX, X86::AH, 
 
2536
                                       X86::NoRegister, X86::NoRegister, 
 
2537
                                       X86::NoRegister, X86::NoRegister, 
 
2538
                                       X86::NoRegister, X86::NoRegister, 
 
2539
                                       X86::NoRegister, X86::NoRegister, 
 
2540
                                       X86::EAX, X86::AX, 
 
2541
                                       X86::NoRegister, X86::NoRegister, 
 
2542
                                       X86::YMM5, X86::XMM5, 
 
2543
                                       X86::NoRegister, X86::NoRegister, 
 
2544
                                       X86::NoRegister, X86::NoRegister, 
 
2545
                                       X86::NoRegister, X86::NoRegister, 
 
2546
                                       X86::NoRegister, X86::NoRegister, 
 
2547
                                       X86::NoRegister, X86::NoRegister, 
 
2548
                                       X86::NoRegister, X86::NoRegister, 
 
2549
                                       X86::RBX, X86::EBX, 
 
2550
                                       X86::NoRegister, X86::NoRegister, 
 
2551
                                       X86::NoRegister, X86::NoRegister, 
 
2552
                                       X86::NoRegister, X86::NoRegister, 
 
2553
                                       X86::NoRegister, X86::NoRegister, 
 
2554
                                       X86::NoRegister, X86::NoRegister, 
 
2555
                                       X86::NoRegister, X86::NoRegister, 
 
2556
                                       X86::NoRegister, X86::NoRegister, 
 
2557
                                       X86::NoRegister, X86::NoRegister, 
 
2558
                                       X86::BX, X86::BH, 
 
2559
                                       X86::R15, X86::R15B, 
 
2560
                                       X86::NoRegister, X86::NoRegister, 
 
2561
                                       X86::R15D, X86::R15B, 
 
2562
                                       X86::R15W, X86::R15B, 
 
2563
                                       X86::NoRegister, X86::NoRegister, 
 
2564
                                       X86::SI, X86::RSI, 
 
2565
                                       X86::SIL, X86::RSI, 
 
2566
                                       X86::NoRegister, X86::NoRegister, 
 
2567
                                       X86::NoRegister, X86::NoRegister, 
 
2568
                                       X86::ESI, X86::SI, 
 
2569
                                       X86::NoRegister, X86::NoRegister, 
 
2570
                                       X86::NoRegister, X86::NoRegister, 
 
2571
                                       X86::NoRegister, X86::NoRegister, 
 
2572
                                       X86::RAX, X86::AL, 
 
2573
                                       X86::NoRegister, X86::NoRegister, 
 
2574
                                       X86::NoRegister, X86::NoRegister, 
 
2575
                                       X86::NoRegister, X86::NoRegister, 
 
2576
                                       X86::NoRegister, X86::NoRegister, 
 
2577
                                       X86::NoRegister, X86::NoRegister, 
 
2578
                                       X86::NoRegister, X86::NoRegister, 
 
2579
                                       X86::EBX, X86::BH, 
 
2580
                                       X86::YMM6, X86::XMM6, 
 
2581
                                       X86::NoRegister, X86::NoRegister, 
 
2582
                                       X86::NoRegister, X86::NoRegister, 
 
2583
                                       X86::NoRegister, X86::NoRegister, 
 
2584
                                       X86::NoRegister, X86::NoRegister, 
 
2585
                                       X86::NoRegister, X86::NoRegister, 
 
2586
                                       X86::NoRegister, X86::NoRegister, 
 
2587
                                       X86::NoRegister, X86::NoRegister, 
 
2588
                                       X86::NoRegister, X86::NoRegister, 
 
2589
                                       X86::NoRegister, X86::NoRegister, 
 
2590
                                       X86::NoRegister, X86::NoRegister, 
 
2591
                                       X86::NoRegister, X86::NoRegister, 
 
2592
                                       X86::NoRegister, X86::NoRegister, 
 
2593
                                       X86::NoRegister, X86::NoRegister, 
 
2594
                                       X86::NoRegister, X86::NoRegister, 
 
2595
                                       X86::BX, X86::BL, 
 
2596
                                       X86::R15, X86::R15D, 
 
2597
                                       X86::R15B, X86::R15D, 
 
2598
                                       X86::NoRegister, X86::NoRegister, 
 
2599
                                       X86::R15W, X86::R15D, 
 
2600
                                       X86::NoRegister, X86::NoRegister, 
 
2601
                                       X86::NoRegister, X86::NoRegister, 
 
2602
                                       X86::NoRegister, X86::NoRegister, 
 
2603
                                       X86::SP, X86::RSP, 
 
2604
                                       X86::SPL, X86::RSP, 
 
2605
                                       X86::ESI, X86::SIL, 
 
2606
                                       X86::NoRegister, X86::NoRegister, 
 
2607
                                       X86::NoRegister, X86::NoRegister, 
 
2608
                                       X86::NoRegister, X86::NoRegister, 
 
2609
                                       X86::RAX, X86::AX, 
 
2610
                                       X86::NoRegister, X86::NoRegister, 
 
2611
                                       X86::NoRegister, X86::NoRegister, 
 
2612
                                       X86::NoRegister, X86::NoRegister, 
 
2613
                                       X86::NoRegister, X86::NoRegister, 
 
2614
                                       X86::NoRegister, X86::NoRegister, 
 
2615
                                       X86::NoRegister, X86::NoRegister, 
 
2616
                                       X86::EBX, X86::BL, 
 
2617
                                       X86::NoRegister, X86::NoRegister, 
 
2618
                                       X86::YMM7, X86::XMM7, 
 
2619
                                       X86::NoRegister, X86::NoRegister, 
 
2620
                                       X86::NoRegister, X86::NoRegister, 
 
2621
                                       X86::NoRegister, X86::NoRegister, 
 
2622
                                       X86::NoRegister, X86::NoRegister, 
 
2623
                                       X86::NoRegister, X86::NoRegister, 
 
2624
                                       X86::NoRegister, X86::NoRegister, 
 
2625
                                       X86::NoRegister, X86::NoRegister, 
 
2626
                                       X86::NoRegister, X86::NoRegister, 
 
2627
                                       X86::NoRegister, X86::NoRegister, 
 
2628
                                       X86::NoRegister, X86::NoRegister, 
 
2629
                                       X86::NoRegister, X86::NoRegister, 
 
2630
                                       X86::NoRegister, X86::NoRegister, 
 
2631
                                       X86::BPL, X86::BP, 
 
2632
                                       X86::NoRegister, X86::NoRegister, 
 
2633
                                       X86::R15, X86::R15W, 
 
2634
                                       X86::R15B, X86::R15W, 
 
2635
                                       X86::R15D, X86::R15W, 
 
2636
                                       X86::RSI, X86::SI, 
 
2637
                                       X86::NoRegister, X86::NoRegister, 
 
2638
                                       X86::NoRegister, X86::NoRegister, 
 
2639
                                       X86::SIL, X86::SI, 
 
2640
                                       X86::NoRegister, X86::NoRegister, 
 
2641
                                       X86::NoRegister, X86::NoRegister, 
 
2642
                                       X86::NoRegister, X86::NoRegister, 
 
2643
                                       X86::ESP, X86::SP, 
 
2644
                                       X86::NoRegister, X86::NoRegister, 
 
2645
                                       X86::NoRegister, X86::NoRegister, 
 
2646
                                       X86::NoRegister, X86::NoRegister, 
 
2647
                                       X86::NoRegister, X86::NoRegister, 
 
2648
                                       X86::RBX, X86::BH, 
 
2649
                                       X86::NoRegister, X86::NoRegister, 
 
2650
                                       X86::NoRegister, X86::NoRegister, 
 
2651
                                       X86::NoRegister, X86::NoRegister, 
 
2652
                                       X86::EBP, X86::BP, 
 
2653
                                       X86::NoRegister, X86::NoRegister, 
 
2654
                                       X86::NoRegister, X86::NoRegister, 
 
2655
                                       X86::NoRegister, X86::NoRegister, 
 
2656
                                       X86::YMM8, X86::XMM8, 
 
2657
                                       X86::NoRegister, X86::NoRegister, 
 
2658
                                       X86::NoRegister, X86::NoRegister, 
 
2659
                                       X86::NoRegister, X86::NoRegister, 
 
2660
                                       X86::NoRegister, X86::NoRegister, 
 
2661
                                       X86::NoRegister, X86::NoRegister, 
 
2662
                                       X86::NoRegister, X86::NoRegister, 
 
2663
                                       X86::NoRegister, X86::NoRegister, 
 
2664
                                       X86::NoRegister, X86::NoRegister, 
 
2665
                                       X86::NoRegister, X86::NoRegister, 
 
2666
                                       X86::NoRegister, X86::NoRegister, 
 
2667
                                       X86::BP, X86::BPL, 
 
2668
                                       X86::NoRegister, X86::NoRegister, 
 
2669
                                       X86::NoRegister, X86::NoRegister, 
 
2670
                                       X86::NoRegister, X86::NoRegister, 
 
2671
                                       X86::NoRegister, X86::NoRegister, 
 
2672
                                       X86::NoRegister, X86::NoRegister, 
 
2673
                                       X86::RSI, X86::SIL, 
 
2674
                                       X86::NoRegister, X86::NoRegister, 
 
2675
                                       X86::R8B, X86::R8, 
 
2676
                                       X86::R8D, X86::R8, 
 
2677
                                       X86::R8W, X86::R8, 
 
2678
                                       X86::NoRegister, X86::NoRegister, 
 
2679
                                       X86::NoRegister, X86::NoRegister, 
 
2680
                                       X86::ESP, X86::SPL, 
 
2681
                                       X86::SI, X86::SIL, 
 
2682
                                       X86::NoRegister, X86::NoRegister, 
 
2683
                                       X86::NoRegister, X86::NoRegister, 
 
2684
                                       X86::NoRegister, X86::NoRegister, 
 
2685
                                       X86::RBX, X86::BL, 
 
2686
                                       X86::NoRegister, X86::NoRegister, 
 
2687
                                       X86::NoRegister, X86::NoRegister, 
 
2688
                                       X86::NoRegister, X86::NoRegister, 
 
2689
                                       X86::EBP, X86::BPL, 
 
2690
                                       X86::NoRegister, X86::NoRegister, 
 
2691
                                       X86::NoRegister, X86::NoRegister, 
 
2692
                                       X86::NoRegister, X86::NoRegister, 
 
2693
                                       X86::NoRegister, X86::NoRegister, 
 
2694
                                       X86::YMM9, X86::XMM9, 
 
2695
                                       X86::NoRegister, X86::NoRegister, 
 
2696
                                       X86::NoRegister, X86::NoRegister, 
 
2697
                                       X86::NoRegister, X86::NoRegister, 
 
2698
                                       X86::NoRegister, X86::NoRegister, 
 
2699
                                       X86::NoRegister, X86::NoRegister, 
 
2700
                                       X86::XMM0, X86::YMM0, 
 
2701
                                       X86::NoRegister, X86::NoRegister, 
 
2702
                                       X86::BH, X86::BX, 
 
2703
                                       X86::BL, X86::BX, 
 
2704
                                       X86::NoRegister, X86::NoRegister, 
 
2705
                                       X86::NoRegister, X86::NoRegister, 
 
2706
                                       X86::NoRegister, X86::NoRegister, 
 
2707
                                       X86::NoRegister, X86::NoRegister, 
 
2708
                                       X86::NoRegister, X86::NoRegister, 
 
2709
                                       X86::NoRegister, X86::NoRegister, 
 
2710
                                       X86::NoRegister, X86::NoRegister, 
 
2711
                                       X86::R8, X86::R8B, 
 
2712
                                       X86::NoRegister, X86::NoRegister, 
 
2713
                                       X86::R8D, X86::R8B, 
 
2714
                                       X86::R8W, X86::R8B, 
 
2715
                                       X86::SPL, X86::SP, 
 
2716
                                       X86::NoRegister, X86::NoRegister, 
 
2717
                                       X86::RSP, X86::SP, 
 
2718
                                       X86::NoRegister, X86::NoRegister, 
 
2719
                                       X86::NoRegister, X86::NoRegister, 
 
2720
                                       X86::NoRegister, X86::NoRegister, 
 
2721
                                       X86::RBP, X86::BP, 
 
2722
                                       X86::NoRegister, X86::NoRegister, 
 
2723
                                       X86::NoRegister, X86::NoRegister, 
 
2724
                                       X86::NoRegister, X86::NoRegister, 
 
2725
                                       X86::NoRegister, X86::NoRegister, 
 
2726
                                       X86::NoRegister, X86::NoRegister, 
 
2727
                                       X86::EBX, X86::BX, 
 
2728
                                       X86::NoRegister, X86::NoRegister, 
 
2729
                                       X86::NoRegister, X86::NoRegister, 
 
2730
                                       X86::NoRegister, X86::NoRegister, 
 
2731
                                       X86::NoRegister, X86::NoRegister, 
 
2732
                                       X86::NoRegister, X86::NoRegister, 
 
2733
                                       X86::NoRegister, X86::NoRegister, 
 
2734
                                       X86::NoRegister, X86::NoRegister, 
 
2735
                                       X86::NoRegister, X86::NoRegister, 
 
2736
                                       X86::NoRegister, X86::NoRegister, 
 
2737
                                       X86::NoRegister, X86::NoRegister, 
 
2738
                                       X86::XMM1, X86::YMM1, 
 
2739
                                       X86::NoRegister, X86::NoRegister, 
 
2740
                                       X86::NoRegister, X86::NoRegister, 
 
2741
                                       X86::NoRegister, X86::NoRegister, 
 
2742
                                       X86::NoRegister, X86::NoRegister, 
 
2743
                                       X86::NoRegister, X86::NoRegister, 
 
2744
                                       X86::NoRegister, X86::NoRegister, 
 
2745
                                       X86::NoRegister, X86::NoRegister, 
 
2746
                                       X86::NoRegister, X86::NoRegister, 
 
2747
                                       X86::CX, X86::CH, 
 
2748
                                       X86::R8, X86::R8D, 
 
2749
                                       X86::R8B, X86::R8D, 
 
2750
                                       X86::RSP, X86::SPL, 
 
2751
                                       X86::R8W, X86::R8D, 
 
2752
                                       X86::NoRegister, X86::NoRegister, 
 
2753
                                       X86::SP, X86::SPL, 
 
2754
                                       X86::NoRegister, X86::NoRegister, 
 
2755
                                       X86::NoRegister, X86::NoRegister, 
 
2756
                                       X86::NoRegister, X86::NoRegister, 
 
2757
                                       X86::NoRegister, X86::NoRegister, 
 
2758
                                       X86::RBP, X86::BPL, 
 
2759
                                       X86::NoRegister, X86::NoRegister, 
 
2760
                                       X86::NoRegister, X86::NoRegister, 
 
2761
                                       X86::NoRegister, X86::NoRegister, 
 
2762
                                       X86::NoRegister, X86::NoRegister, 
 
2763
                                       X86::NoRegister, X86::NoRegister, 
 
2764
                                       X86::NoRegister, X86::NoRegister, 
 
2765
                                       X86::NoRegister, X86::NoRegister, 
 
2766
                                       X86::NoRegister, X86::NoRegister, 
 
2767
                                       X86::NoRegister, X86::NoRegister, 
 
2768
                                       X86::NoRegister, X86::NoRegister, 
 
2769
                                       X86::NoRegister, X86::NoRegister, 
 
2770
                                       X86::NoRegister, X86::NoRegister, 
 
2771
                                       X86::NoRegister, X86::NoRegister, 
 
2772
                                       X86::NoRegister, X86::NoRegister, 
 
2773
                                       X86::ECX, X86::CH, 
 
2774
                                       X86::NoRegister, X86::NoRegister, 
 
2775
                                       X86::NoRegister, X86::NoRegister, 
 
2776
                                       X86::XMM10, X86::YMM10, 
 
2777
                                       X86::NoRegister, X86::NoRegister, 
 
2778
                                       X86::NoRegister, X86::NoRegister, 
 
2779
                                       X86::NoRegister, X86::NoRegister, 
 
2780
                                       X86::NoRegister, X86::NoRegister, 
 
2781
                                       X86::NoRegister, X86::NoRegister, 
 
2782
                                       X86::NoRegister, X86::NoRegister, 
 
2783
                                       X86::NoRegister, X86::NoRegister, 
 
2784
                                       X86::CX, X86::CL, 
 
2785
                                       X86::R8, X86::R8W, 
 
2786
                                       X86::R8B, X86::R8W, 
 
2787
                                       X86::R10B, X86::R10, 
 
2788
                                       X86::R10D, X86::R10, 
 
2789
                                       X86::R10W, X86::R10, 
 
2790
                                       X86::NoRegister, X86::NoRegister, 
 
2791
                                       X86::NoRegister, X86::NoRegister, 
 
2792
                                       X86::NoRegister, X86::NoRegister, 
 
2793
                                       X86::CH, X86::ECX, 
 
2794
                                       X86::CL, X86::ECX, 
 
2795
                                       X86::NoRegister, X86::NoRegister, 
 
2796
                                       X86::CX, X86::ECX, 
 
2797
                                       X86::NoRegister, X86::NoRegister, 
 
2798
                                       X86::RBX, X86::BX, 
 
2799
                                       X86::R8D, X86::R8W, 
 
2800
                                       X86::NoRegister, X86::NoRegister, 
 
2801
                                       X86::NoRegister, X86::NoRegister, 
 
2802
                                       X86::NoRegister, X86::NoRegister, 
 
2803
                                       X86::NoRegister, X86::NoRegister, 
 
2804
                                       X86::NoRegister, X86::NoRegister, 
 
2805
                                       X86::NoRegister, X86::NoRegister, 
 
2806
                                       X86::NoRegister, X86::NoRegister, 
 
2807
                                       X86::NoRegister, X86::NoRegister, 
 
2808
                                       X86::NoRegister, X86::NoRegister, 
 
2809
                                       X86::NoRegister, X86::NoRegister, 
 
2810
                                       X86::ECX, X86::CL, 
 
2811
                                       X86::NoRegister, X86::NoRegister, 
 
2812
                                       X86::NoRegister, X86::NoRegister, 
 
2813
                                       X86::NoRegister, X86::NoRegister, 
 
2814
                                       X86::XMM11, X86::YMM11, 
 
2815
                                       X86::NoRegister, X86::NoRegister, 
 
2816
                                       X86::NoRegister, X86::NoRegister, 
 
2817
                                       X86::NoRegister, X86::NoRegister, 
 
2818
                                       X86::NoRegister, X86::NoRegister, 
 
2819
                                       X86::NoRegister, X86::NoRegister, 
 
2820
                                       X86::NoRegister, X86::NoRegister, 
 
2821
                                       X86::NoRegister, X86::NoRegister, 
 
2822
                                       X86::NoRegister, X86::NoRegister, 
 
2823
                                       X86::R10, X86::R10B, 
 
2824
                                       X86::NoRegister, X86::NoRegister, 
 
2825
                                       X86::R10D, X86::R10B, 
 
2826
                                       X86::R10W, X86::R10B, 
 
2827
                                       X86::R9B, X86::R9, 
 
2828
                                       X86::R9D, X86::R9, 
 
2829
                                       X86::R9W, X86::R9, 
 
2830
                                       X86::NoRegister, X86::NoRegister, 
 
2831
                                       X86::NoRegister, X86::NoRegister, 
 
2832
                                       X86::NoRegister, X86::NoRegister, 
 
2833
                                       X86::NoRegister, X86::NoRegister, 
 
2834
                                       X86::NoRegister, X86::NoRegister, 
 
2835
                                       X86::DI, X86::EDI, 
 
2836
                                       X86::DIL, X86::EDI, 
 
2837
                                       X86::NoRegister, X86::NoRegister, 
 
2838
                                       X86::NoRegister, X86::NoRegister, 
 
2839
                                       X86::NoRegister, X86::NoRegister, 
 
2840
                                       X86::NoRegister, X86::NoRegister, 
 
2841
                                       X86::NoRegister, X86::NoRegister, 
 
2842
                                       X86::NoRegister, X86::NoRegister, 
 
2843
                                       X86::RCX, X86::CH, 
 
2844
                                       X86::NoRegister, X86::NoRegister, 
 
2845
                                       X86::NoRegister, X86::NoRegister, 
 
2846
                                       X86::NoRegister, X86::NoRegister, 
 
2847
                                       X86::NoRegister, X86::NoRegister, 
 
2848
                                       X86::NoRegister, X86::NoRegister, 
 
2849
                                       X86::NoRegister, X86::NoRegister, 
 
2850
                                       X86::NoRegister, X86::NoRegister, 
 
2851
                                       X86::NoRegister, X86::NoRegister, 
 
2852
                                       X86::XMM12, X86::YMM12, 
 
2853
                                       X86::NoRegister, X86::NoRegister, 
 
2854
                                       X86::NoRegister, X86::NoRegister, 
 
2855
                                       X86::CH, X86::CX, 
 
2856
                                       X86::CL, X86::CX, 
 
2857
                                       X86::NoRegister, X86::NoRegister, 
 
2858
                                       X86::NoRegister, X86::NoRegister, 
 
2859
                                       X86::NoRegister, X86::NoRegister, 
 
2860
                                       X86::R10, X86::R10D, 
 
2861
                                       X86::R10B, X86::R10D, 
 
2862
                                       X86::NoRegister, X86::NoRegister, 
 
2863
                                       X86::R10W, X86::R10D, 
 
2864
                                       X86::NoRegister, X86::NoRegister, 
 
2865
                                       X86::R9, X86::R9B, 
 
2866
                                       X86::R9W, X86::R9B, 
 
2867
                                       X86::R9D, X86::R9B, 
 
2868
                                       X86::NoRegister, X86::NoRegister, 
 
2869
                                       X86::NoRegister, X86::NoRegister, 
 
2870
                                       X86::NoRegister, X86::NoRegister, 
 
2871
                                       X86::DH, X86::EDX, 
 
2872
                                       X86::NoRegister, X86::NoRegister, 
 
2873
                                       X86::NoRegister, X86::NoRegister, 
 
2874
                                       X86::DL, X86::EDX, 
 
2875
                                       X86::NoRegister, X86::NoRegister, 
 
2876
                                       X86::NoRegister, X86::NoRegister, 
 
2877
                                       X86::NoRegister, X86::NoRegister, 
 
2878
                                       X86::NoRegister, X86::NoRegister, 
 
2879
                                       X86::NoRegister, X86::NoRegister, 
 
2880
                                       X86::RCX, X86::CL, 
 
2881
                                       X86::NoRegister, X86::NoRegister, 
 
2882
                                       X86::NoRegister, X86::NoRegister, 
 
2883
                                       X86::AH, X86::RAX, 
 
2884
                                       X86::AL, X86::RAX, 
 
2885
                                       X86::AX, X86::RAX, 
 
2886
                                       X86::DX, X86::EDX, 
 
2887
                                       X86::NoRegister, X86::NoRegister, 
 
2888
                                       X86::NoRegister, X86::NoRegister, 
 
2889
                                       X86::NoRegister, X86::NoRegister, 
 
2890
                                       X86::ECX, X86::CX, 
 
2891
                                       X86::NoRegister, X86::NoRegister, 
 
2892
                                       X86::RCX, X86::ECX, 
 
2893
                                       X86::NoRegister, X86::NoRegister, 
 
2894
                                       X86::NoRegister, X86::NoRegister, 
 
2895
                                       X86::NoRegister, X86::NoRegister, 
 
2896
                                       X86::XMM13, X86::YMM13, 
 
2897
                                       X86::R10, X86::R10W, 
 
2898
                                       X86::R10B, X86::R10W, 
 
2899
                                       X86::R10D, X86::R10W, 
 
2900
                                       X86::R9, X86::R9D, 
 
2901
                                       X86::R9B, X86::R9D, 
 
2902
                                       X86::NoRegister, X86::NoRegister, 
 
2903
                                       X86::R9W, X86::R9D, 
 
2904
                                       X86::NoRegister, X86::NoRegister, 
 
2905
                                       X86::NoRegister, X86::NoRegister, 
 
2906
                                       X86::NoRegister, X86::NoRegister, 
 
2907
                                       X86::NoRegister, X86::NoRegister, 
 
2908
                                       X86::NoRegister, X86::NoRegister, 
 
2909
                                       X86::DX, X86::DH, 
 
2910
                                       X86::NoRegister, X86::NoRegister, 
 
2911
                                       X86::EAX, X86::RAX, 
 
2912
                                       X86::NoRegister, X86::NoRegister, 
 
2913
                                       X86::NoRegister, X86::NoRegister, 
 
2914
                                       X86::NoRegister, X86::NoRegister, 
 
2915
                                       X86::NoRegister, X86::NoRegister, 
 
2916
                                       X86::NoRegister, X86::NoRegister, 
 
2917
                                       X86::NoRegister, X86::NoRegister, 
 
2918
                                       X86::NoRegister, X86::NoRegister, 
 
2919
                                       X86::NoRegister, X86::NoRegister, 
 
2920
                                       X86::NoRegister, X86::NoRegister, 
 
2921
                                       X86::NoRegister, X86::NoRegister, 
 
2922
                                       X86::NoRegister, X86::NoRegister, 
 
2923
                                       X86::EDX, X86::DH, 
 
2924
                                       X86::NoRegister, X86::NoRegister, 
 
2925
                                       X86::BP, X86::RBP, 
 
2926
                                       X86::BPL, X86::RBP, 
 
2927
                                       X86::NoRegister, X86::NoRegister, 
 
2928
                                       X86::XMM14, X86::YMM14, 
 
2929
                                       X86::NoRegister, X86::NoRegister, 
 
2930
                                       X86::RDI, X86::EDI, 
 
2931
                                       X86::NoRegister, X86::NoRegister, 
 
2932
                                       X86::NoRegister, X86::NoRegister, 
 
2933
                                       X86::NoRegister, X86::NoRegister, 
 
2934
                                       X86::NoRegister, X86::NoRegister, 
 
2935
                                       X86::DIL, X86::DI, 
 
2936
                                       X86::NoRegister, X86::NoRegister, 
 
2937
                                       X86::R9, X86::R9W, 
 
2938
                                       X86::R9B, X86::R9W, 
 
2939
                                       X86::R11B, X86::R11, 
 
2940
                                       X86::R11D, X86::R11, 
 
2941
                                       X86::R11W, X86::R11, 
 
2942
                                       X86::NoRegister, X86::NoRegister, 
 
2943
                                       X86::NoRegister, X86::NoRegister, 
 
2944
                                       X86::NoRegister, X86::NoRegister, 
 
2945
                                       X86::R9D, X86::R9W, 
 
2946
                                       X86::NoRegister, X86::NoRegister, 
 
2947
                                       X86::EBP, X86::RBP, 
 
2948
                                       X86::NoRegister, X86::NoRegister, 
 
2949
                                       X86::NoRegister, X86::NoRegister, 
 
2950
                                       X86::NoRegister, X86::NoRegister, 
 
2951
                                       X86::NoRegister, X86::NoRegister, 
 
2952
                                       X86::NoRegister, X86::NoRegister, 
 
2953
                                       X86::NoRegister, X86::NoRegister, 
 
2954
                                       X86::RCX, X86::CX, 
 
2955
                                       X86::NoRegister, X86::NoRegister, 
 
2956
                                       X86::NoRegister, X86::NoRegister, 
 
2957
                                       X86::NoRegister, X86::NoRegister, 
 
2958
                                       X86::NoRegister, X86::NoRegister, 
 
2959
                                       X86::EDI, X86::DI, 
 
2960
                                       X86::BH, X86::RBX, 
 
2961
                                       X86::BL, X86::RBX, 
 
2962
                                       X86::NoRegister, X86::NoRegister, 
 
2963
                                       X86::NoRegister, X86::NoRegister, 
 
2964
                                       X86::BX, X86::RBX, 
 
2965
                                       X86::NoRegister, X86::NoRegister, 
 
2966
                                       X86::XMM15, X86::YMM15, 
 
2967
                                       X86::NoRegister, X86::NoRegister, 
 
2968
                                       X86::RDX, X86::EDX, 
 
2969
                                       X86::NoRegister, X86::NoRegister, 
 
2970
                                       X86::NoRegister, X86::NoRegister, 
 
2971
                                       X86::DI, X86::DIL, 
 
2972
                                       X86::NoRegister, X86::NoRegister, 
 
2973
                                       X86::NoRegister, X86::NoRegister, 
 
2974
                                       X86::NoRegister, X86::NoRegister, 
 
2975
                                       X86::R11, X86::R11B, 
 
2976
                                       X86::NoRegister, X86::NoRegister, 
 
2977
                                       X86::R11D, X86::R11B, 
 
2978
                                       X86::R11W, X86::R11B, 
 
2979
                                       X86::NoRegister, X86::NoRegister, 
 
2980
                                       X86::NoRegister, X86::NoRegister, 
 
2981
                                       X86::NoRegister, X86::NoRegister, 
 
2982
                                       X86::NoRegister, X86::NoRegister, 
 
2983
                                       X86::NoRegister, X86::NoRegister, 
 
2984
                                       X86::NoRegister, X86::NoRegister, 
 
2985
                                       X86::EBX, X86::RBX, 
 
2986
                                       X86::NoRegister, X86::NoRegister, 
 
2987
                                       X86::IP, X86::EIP, 
 
2988
                                       X86::NoRegister, X86::NoRegister, 
 
2989
                                       X86::NoRegister, X86::NoRegister, 
 
2990
                                       X86::NoRegister, X86::NoRegister, 
 
2991
                                       X86::NoRegister, X86::NoRegister, 
 
2992
                                       X86::NoRegister, X86::NoRegister, 
 
2993
                                       X86::RDX, X86::DH, 
 
2994
                                       X86::NoRegister, X86::NoRegister, 
 
2995
                                       X86::NoRegister, X86::NoRegister, 
 
2996
                                       X86::EDI, X86::DIL, 
 
2997
                                       X86::NoRegister, X86::NoRegister, 
 
2998
                                       X86::NoRegister, X86::NoRegister, 
 
2999
                                       X86::NoRegister, X86::NoRegister, 
 
3000
                                       X86::NoRegister, X86::NoRegister, 
 
3001
                                       X86::NoRegister, X86::NoRegister, 
 
3002
                                       X86::NoRegister, X86::NoRegister, 
 
3003
                                       X86::NoRegister, X86::NoRegister, 
 
3004
                                       X86::XMM2, X86::YMM2, 
 
3005
                                       X86::NoRegister, X86::NoRegister, 
 
3006
                                       X86::NoRegister, X86::NoRegister, 
 
3007
                                       X86::NoRegister, X86::NoRegister, 
 
3008
                                       X86::NoRegister, X86::NoRegister, 
 
3009
                                       X86::NoRegister, X86::NoRegister, 
 
3010
                                       X86::NoRegister, X86::NoRegister, 
 
3011
                                       X86::NoRegister, X86::NoRegister, 
 
3012
                                       X86::R11, X86::R11D, 
 
3013
                                       X86::R11B, X86::R11D, 
 
3014
                                       X86::NoRegister, X86::NoRegister, 
 
3015
                                       X86::R11W, X86::R11D, 
 
3016
                                       X86::NoRegister, X86::NoRegister, 
 
3017
                                       X86::NoRegister, X86::NoRegister, 
 
3018
                                       X86::NoRegister, X86::NoRegister, 
 
3019
                                       X86::NoRegister, X86::NoRegister, 
 
3020
                                       X86::DX, X86::DL, 
 
3021
                                       X86::NoRegister, X86::NoRegister, 
 
3022
                                       X86::NoRegister, X86::NoRegister, 
 
3023
                                       X86::NoRegister, X86::NoRegister, 
 
3024
                                       X86::NoRegister, X86::NoRegister, 
 
3025
                                       X86::NoRegister, X86::NoRegister, 
 
3026
                                       X86::NoRegister, X86::NoRegister, 
 
3027
                                       X86::NoRegister, X86::NoRegister, 
 
3028
                                       X86::NoRegister, X86::NoRegister, 
 
3029
                                       X86::RDI, X86::DI, 
 
3030
                                       X86::NoRegister, X86::NoRegister, 
 
3031
                                       X86::NoRegister, X86::NoRegister, 
 
3032
                                       X86::NoRegister, X86::NoRegister, 
 
3033
                                       X86::NoRegister, X86::NoRegister, 
 
3034
                                       X86::EDX, X86::DL, 
 
3035
                                       X86::NoRegister, X86::NoRegister, 
 
3036
                                       X86::NoRegister, X86::NoRegister, 
 
3037
                                       X86::NoRegister, X86::NoRegister, 
 
3038
                                       X86::NoRegister, X86::NoRegister, 
 
3039
                                       X86::NoRegister, X86::NoRegister, 
 
3040
                                       X86::NoRegister, X86::NoRegister, 
 
3041
                                       X86::NoRegister, X86::NoRegister, 
 
3042
                                       X86::XMM3, X86::YMM3, 
 
3043
                                       X86::RIP, X86::EIP, 
 
3044
                                       X86::NoRegister, X86::NoRegister, 
 
3045
                                       X86::NoRegister, X86::NoRegister, 
 
3046
                                       X86::NoRegister, X86::NoRegister, 
 
3047
                                       X86::NoRegister, X86::NoRegister, 
 
3048
                                       X86::NoRegister, X86::NoRegister, 
 
3049
                                       X86::R11, X86::R11W, 
 
3050
                                       X86::R11B, X86::R11W, 
 
3051
                                       X86::R11D, X86::R11W, 
 
3052
                                       X86::NoRegister, X86::NoRegister, 
 
3053
                                       X86::NoRegister, X86::NoRegister, 
 
3054
                                       X86::NoRegister, X86::NoRegister, 
 
3055
                                       X86::NoRegister, X86::NoRegister, 
 
3056
                                       X86::NoRegister, X86::NoRegister, 
 
3057
                                       X86::NoRegister, X86::NoRegister, 
 
3058
                                       X86::NoRegister, X86::NoRegister, 
 
3059
                                       X86::NoRegister, X86::NoRegister, 
 
3060
                                       X86::NoRegister, X86::NoRegister, 
 
3061
                                       X86::NoRegister, X86::NoRegister, 
 
3062
                                       X86::NoRegister, X86::NoRegister, 
 
3063
                                       X86::NoRegister, X86::NoRegister, 
 
3064
                                       X86::NoRegister, X86::NoRegister, 
 
3065
                                       X86::NoRegister, X86::NoRegister, 
 
3066
                                       X86::RDI, X86::DIL, 
 
3067
                                       X86::NoRegister, X86::NoRegister, 
 
3068
                                       X86::NoRegister, X86::NoRegister, 
 
3069
                                       X86::NoRegister, X86::NoRegister, 
 
3070
                                       X86::NoRegister, X86::NoRegister, 
 
3071
                                       X86::NoRegister, X86::NoRegister, 
 
3072
                                       X86::NoRegister, X86::NoRegister, 
 
3073
                                       X86::NoRegister, X86::NoRegister, 
 
3074
                                       X86::NoRegister, X86::NoRegister, 
 
3075
                                       X86::NoRegister, X86::NoRegister, 
 
3076
                                       X86::NoRegister, X86::NoRegister, 
 
3077
                                       X86::NoRegister, X86::NoRegister, 
 
3078
                                       X86::NoRegister, X86::NoRegister, 
 
3079
                                       X86::NoRegister, X86::NoRegister, 
 
3080
                                       X86::XMM4, X86::YMM4, 
 
3081
                                       X86::NoRegister, X86::NoRegister, 
 
3082
                                       X86::NoRegister, X86::NoRegister, 
 
3083
                                       X86::NoRegister, X86::NoRegister, 
 
3084
                                       X86::NoRegister, X86::NoRegister, 
 
3085
                                       X86::NoRegister, X86::NoRegister, 
 
3086
                                       X86::NoRegister, X86::NoRegister, 
 
3087
                                       X86::NoRegister, X86::NoRegister, 
 
3088
                                       X86::NoRegister, X86::NoRegister, 
 
3089
                                       X86::NoRegister, X86::NoRegister, 
 
3090
                                       X86::NoRegister, X86::NoRegister, 
 
3091
                                       X86::R12B, X86::R12, 
 
3092
                                       X86::R12D, X86::R12, 
 
3093
                                       X86::R12W, X86::R12, 
 
3094
                                       X86::NoRegister, X86::NoRegister, 
 
3095
                                       X86::NoRegister, X86::NoRegister, 
 
3096
                                       X86::NoRegister, X86::NoRegister, 
 
3097
                                       X86::NoRegister, X86::NoRegister, 
 
3098
                                       X86::NoRegister, X86::NoRegister, 
 
3099
                                       X86::NoRegister, X86::NoRegister, 
 
3100
                                       X86::NoRegister, X86::NoRegister, 
 
3101
                                       X86::NoRegister, X86::NoRegister, 
 
3102
                                       X86::NoRegister, X86::NoRegister, 
 
3103
                                       X86::NoRegister, X86::NoRegister, 
 
3104
                                       X86::RDX, X86::DL, 
 
3105
                                       X86::NoRegister, X86::NoRegister, 
 
3106
                                       X86::NoRegister, X86::NoRegister, 
 
3107
                                       X86::NoRegister, X86::NoRegister, 
 
3108
                                       X86::NoRegister, X86::NoRegister, 
 
3109
                                       X86::NoRegister, X86::NoRegister, 
 
3110
                                       X86::NoRegister, X86::NoRegister, 
 
3111
                                       X86::NoRegister, X86::NoRegister, 
 
3112
                                       X86::NoRegister, X86::NoRegister, 
 
3113
                                       X86::NoRegister, X86::NoRegister, 
 
3114
                                       X86::NoRegister, X86::NoRegister, 
 
3115
                                       X86::NoRegister, X86::NoRegister, 
 
3116
                                       X86::NoRegister, X86::NoRegister, 
 
3117
                                       X86::NoRegister, X86::NoRegister, 
 
3118
                                       X86::RSI, X86::ESI, 
 
3119
                                       X86::NoRegister, X86::NoRegister, 
 
3120
                                       X86::SI, X86::ESI, 
 
3121
                                       X86::SIL, X86::ESI, 
 
3122
                                       X86::NoRegister, X86::NoRegister, 
 
3123
                                       X86::NoRegister, X86::NoRegister, 
 
3124
                                       X86::XMM5, X86::YMM5, 
 
3125
                                       X86::NoRegister, X86::NoRegister, 
 
3126
                                       X86::NoRegister, X86::NoRegister, 
 
3127
                                       X86::R12, X86::R12B, 
 
3128
                                       X86::NoRegister, X86::NoRegister, 
 
3129
                                       X86::R12D, X86::R12B, 
 
3130
                                       X86::R12W, X86::R12B, 
 
3131
                                       X86::NoRegister, X86::NoRegister, 
 
3132
                                       X86::NoRegister, X86::NoRegister, 
 
3133
                                       X86::NoRegister, X86::NoRegister, 
 
3134
                                       X86::NoRegister, X86::NoRegister, 
 
3135
                                       X86::NoRegister, X86::NoRegister, 
 
3136
                                       X86::NoRegister, X86::NoRegister, 
 
3137
                                       X86::NoRegister, X86::NoRegister, 
 
3138
                                       X86::NoRegister, X86::NoRegister, 
 
3139
                                       X86::NoRegister, X86::NoRegister, 
 
3140
                                       X86::NoRegister, X86::NoRegister, 
 
3141
                                       X86::NoRegister, X86::NoRegister, 
 
3142
                                       X86::NoRegister, X86::NoRegister, 
 
3143
                                       X86::NoRegister, X86::NoRegister, 
 
3144
                                       X86::NoRegister, X86::NoRegister, 
 
3145
                                       X86::NoRegister, X86::NoRegister, 
 
3146
                                       X86::NoRegister, X86::NoRegister, 
 
3147
                                       X86::NoRegister, X86::NoRegister, 
 
3148
                                       X86::YMM0, X86::XMM0, 
 
3149
                                       X86::NoRegister, X86::NoRegister, 
 
3150
                                       X86::NoRegister, X86::NoRegister, 
 
3151
                                       X86::NoRegister, X86::NoRegister, 
 
3152
                                       X86::NoRegister, X86::NoRegister, 
 
3153
                                       X86::NoRegister, X86::NoRegister, 
 
3154
                                       X86::NoRegister, X86::NoRegister, 
 
3155
                                       X86::NoRegister, X86::NoRegister, 
 
3156
                                       X86::RSP, X86::ESP, 
 
3157
                                       X86::NoRegister, X86::NoRegister, 
 
3158
                                       X86::XMM6, X86::YMM6, 
 
3159
                                       X86::SP, X86::ESP, 
 
3160
                                       X86::SPL, X86::ESP, 
 
3161
                                       X86::NoRegister, X86::NoRegister, 
 
3162
                                       X86::NoRegister, X86::NoRegister, 
 
3163
                                       X86::NoRegister, X86::NoRegister, 
 
3164
                                       X86::R12, X86::R12D, 
 
3165
                                       X86::R12B, X86::R12D, 
 
3166
                                       X86::NoRegister, X86::NoRegister, 
 
3167
                                       X86::R12W, X86::R12D, 
 
3168
                                       X86::NoRegister, X86::NoRegister, 
 
3169
                                       X86::NoRegister, X86::NoRegister, 
 
3170
                                       X86::NoRegister, X86::NoRegister, 
 
3171
                                       X86::NoRegister, X86::NoRegister, 
 
3172
                                       X86::NoRegister, X86::NoRegister, 
 
3173
                                       X86::NoRegister, X86::NoRegister, 
 
3174
                                       X86::NoRegister, X86::NoRegister, 
 
3175
                                       X86::NoRegister, X86::NoRegister, 
 
3176
                                       X86::NoRegister, X86::NoRegister, 
 
3177
                                       X86::NoRegister, X86::NoRegister, 
 
3178
                                       X86::NoRegister, X86::NoRegister, 
 
3179
                                       X86::NoRegister, X86::NoRegister, 
 
3180
                                       X86::NoRegister, X86::NoRegister, 
 
3181
                                       X86::NoRegister, X86::NoRegister, 
 
3182
                                       X86::NoRegister, X86::NoRegister, 
 
3183
                                       X86::NoRegister, X86::NoRegister, 
 
3184
                                       X86::NoRegister, X86::NoRegister, 
 
3185
                                       X86::NoRegister, X86::NoRegister, 
 
3186
                                       X86::YMM1, X86::XMM1, 
 
3187
                                       X86::NoRegister, X86::NoRegister, 
 
3188
                                       X86::NoRegister, X86::NoRegister, 
 
3189
                                       X86::NoRegister, X86::NoRegister, 
 
3190
                                       X86::NoRegister, X86::NoRegister, 
 
3191
                                       X86::NoRegister, X86::NoRegister, 
 
3192
                                       X86::NoRegister, X86::NoRegister, 
 
3193
                                       X86::NoRegister, X86::NoRegister, 
 
3194
                                       X86::XMM7, X86::YMM7, 
 
3195
                                       X86::NoRegister, X86::NoRegister, 
 
3196
                                       X86::NoRegister, X86::NoRegister, 
 
3197
                                       X86::NoRegister, X86::NoRegister, 
 
3198
                                       X86::NoRegister, X86::NoRegister, 
 
3199
                                       X86::NoRegister, X86::NoRegister, 
 
3200
                                       X86::NoRegister, X86::NoRegister, 
 
3201
                                       X86::R12, X86::R12W, 
 
3202
                                       X86::R12B, X86::R12W, 
 
3203
                                       X86::R12D, X86::R12W, 
 
3204
                                       X86::NoRegister, X86::NoRegister, 
 
3205
                                       X86::NoRegister, X86::NoRegister, 
 
3206
                                       X86::NoRegister, X86::NoRegister, 
 
3207
                                       X86::NoRegister, X86::NoRegister, 
 
3208
                                       X86::NoRegister, X86::NoRegister, 
 
3209
                                       X86::NoRegister, X86::NoRegister, 
 
3210
                                       X86::NoRegister, X86::NoRegister, 
 
3211
                                       X86::NoRegister, X86::NoRegister, 
 
3212
                                       X86::NoRegister, X86::NoRegister, 
 
3213
                                       X86::NoRegister, X86::NoRegister, 
 
3214
                                       X86::NoRegister, X86::NoRegister, 
 
3215
                                       X86::NoRegister, X86::NoRegister, 
 
3216
                                       X86::NoRegister, X86::NoRegister, 
 
3217
                                       X86::NoRegister, X86::NoRegister, 
 
3218
                                       X86::NoRegister, X86::NoRegister, 
 
3219
                                       X86::NoRegister, X86::NoRegister, 
 
3220
                                       X86::NoRegister, X86::NoRegister, 
 
3221
                                       X86::NoRegister, X86::NoRegister, 
 
3222
                                       X86::NoRegister, X86::NoRegister, 
 
3223
                                       X86::NoRegister, X86::NoRegister, 
 
3224
                                       X86::YMM10, X86::XMM10, 
 
3225
                                       X86::NoRegister, X86::NoRegister, 
 
3226
                                       X86::NoRegister, X86::NoRegister, 
 
3227
                                       X86::NoRegister, X86::NoRegister, 
 
3228
                                       X86::NoRegister, X86::NoRegister, 
 
3229
                                       X86::NoRegister, X86::NoRegister, 
 
3230
                                       X86::NoRegister, X86::NoRegister, 
 
3231
                                       X86::NoRegister, X86::NoRegister, 
 
3232
                                       X86::XMM8, X86::YMM8, 
 
3233
                                       X86::NoRegister, X86::NoRegister, 
 
3234
                                       X86::NoRegister, X86::NoRegister, 
 
3235
                                       X86::NoRegister, X86::NoRegister, 
 
3236
                                       X86::NoRegister, X86::NoRegister, 
 
3237
                                       X86::NoRegister, X86::NoRegister, 
 
3238
                                       X86::NoRegister, X86::NoRegister, 
 
3239
                                       X86::NoRegister, X86::NoRegister, 
 
3240
                                       X86::NoRegister, X86::NoRegister, 
 
3241
                                       X86::NoRegister, X86::NoRegister, 
 
3242
                                       X86::NoRegister, X86::NoRegister, 
 
3243
                                       X86::R13B, X86::R13, 
 
3244
                                       X86::R13D, X86::R13, 
 
3245
                                       X86::R13W, X86::R13, 
 
3246
                                       X86::NoRegister, X86::NoRegister, 
 
3247
                                       X86::NoRegister, X86::NoRegister, 
 
3248
                                       X86::NoRegister, X86::NoRegister, 
 
3249
                                       X86::NoRegister, X86::NoRegister, 
 
3250
                                       X86::NoRegister, X86::NoRegister, 
 
3251
                                       X86::NoRegister, X86::NoRegister, 
 
3252
                                       X86::NoRegister, X86::NoRegister, 
 
3253
                                       X86::NoRegister, X86::NoRegister, 
 
3254
                                       X86::NoRegister, X86::NoRegister, 
 
3255
                                       X86::NoRegister, X86::NoRegister, 
 
3256
                                       X86::NoRegister, X86::NoRegister, 
 
3257
                                       X86::NoRegister, X86::NoRegister, 
 
3258
                                       X86::NoRegister, X86::NoRegister, 
 
3259
                                       X86::NoRegister, X86::NoRegister, 
 
3260
                                       X86::NoRegister, X86::NoRegister, 
 
3261
                                       X86::NoRegister, X86::NoRegister, 
 
3262
                                       X86::YMM11, X86::XMM11, 
 
3263
                                       X86::NoRegister, X86::NoRegister, 
 
3264
                                       X86::NoRegister, X86::NoRegister, 
 
3265
                                       X86::NoRegister, X86::NoRegister, 
 
3266
                                       X86::NoRegister, X86::NoRegister, 
 
3267
                                       X86::NoRegister, X86::NoRegister, 
 
3268
                                       X86::NoRegister, X86::NoRegister, 
 
3269
                                       X86::NoRegister, X86::NoRegister, 
 
3270
                                       X86::XMM9, X86::YMM9, 
 
3271
                                       X86::NoRegister, X86::NoRegister, 
 
3272
                                       X86::NoRegister, X86::NoRegister, 
 
3273
                                       X86::NoRegister, X86::NoRegister, 
 
3274
                                       X86::NoRegister, X86::NoRegister, 
 
3275
                                       X86::NoRegister, X86::NoRegister, 
 
3276
                                       X86::NoRegister, X86::NoRegister, 
 
3277
                                       X86::NoRegister, X86::NoRegister, 
 
3278
                                       X86::NoRegister, X86::NoRegister, 
 
3279
                                       X86::R13, X86::R13B, 
 
3280
                                       X86::NoRegister, X86::NoRegister, 
 
3281
                                       X86::R13D, X86::R13B, 
 
3282
                                       X86::R13W, X86::R13B, 
 
3283
                                       X86::NoRegister, X86::NoRegister, 
 
3284
                                       X86::NoRegister, X86::NoRegister, 
 
3285
                                       X86::NoRegister, X86::NoRegister, 
 
3286
                                       X86::NoRegister, X86::NoRegister, 
 
3287
                                       X86::NoRegister, X86::NoRegister, 
 
3288
                                       X86::NoRegister, X86::NoRegister, 
 
3289
                                       X86::NoRegister, X86::NoRegister, 
 
3290
                                       X86::NoRegister, X86::NoRegister, 
 
3291
                                       X86::NoRegister, X86::NoRegister, 
 
3292
                                       X86::NoRegister, X86::NoRegister, 
 
3293
                                       X86::NoRegister, X86::NoRegister, 
 
3294
                                       X86::NoRegister, X86::NoRegister, 
 
3295
                                       X86::NoRegister, X86::NoRegister, 
 
3296
                                       X86::NoRegister, X86::NoRegister, 
 
3297
                                       X86::NoRegister, X86::NoRegister, 
 
3298
                                       X86::NoRegister, X86::NoRegister, 
 
3299
                                       X86::NoRegister, X86::NoRegister, 
 
3300
                                       X86::YMM12, X86::XMM12, 
 
3301
                                       X86::NoRegister, X86::NoRegister, 
 
3302
                                       X86::NoRegister, X86::NoRegister, 
 
3303
                                       X86::NoRegister, X86::NoRegister, 
 
3304
                                       X86::NoRegister, X86::NoRegister, 
 
3305
                                       X86::NoRegister, X86::NoRegister, 
 
3306
                                       X86::NoRegister, X86::NoRegister, 
 
3307
                                       X86::NoRegister, X86::NoRegister, 
 
3308
                                       X86::NoRegister, X86::NoRegister, 
 
3309
                                       X86::NoRegister, X86::NoRegister, 
 
3310
                                       X86::NoRegister, X86::NoRegister, 
 
3311
                                       X86::NoRegister, X86::NoRegister, 
 
3312
                                       X86::NoRegister, X86::NoRegister, 
 
3313
                                       X86::NoRegister, X86::NoRegister, 
 
3314
                                       X86::NoRegister, X86::NoRegister, 
 
3315
                                       X86::NoRegister, X86::NoRegister, 
 
3316
                                       X86::R13, X86::R13D, 
 
3317
                                       X86::R13B, X86::R13D, 
 
3318
                                       X86::NoRegister, X86::NoRegister, 
 
3319
                                       X86::R13W, X86::R13D, 
 
3320
                                       X86::NoRegister, X86::NoRegister, 
 
3321
                                       X86::NoRegister, X86::NoRegister, 
 
3322
                                       X86::NoRegister, X86::NoRegister, 
 
3323
                                       X86::NoRegister, X86::NoRegister, 
 
3324
                                       X86::NoRegister, X86::NoRegister, 
 
3325
                                       X86::NoRegister, X86::NoRegister, 
 
3326
                                       X86::NoRegister, X86::NoRegister, 
 
3327
                                       X86::NoRegister, X86::NoRegister, 
 
3328
                                       X86::NoRegister, X86::NoRegister, 
 
3329
                                       X86::NoRegister, X86::NoRegister, 
 
3330
                                       X86::NoRegister, X86::NoRegister, 
 
3331
                                       X86::NoRegister, X86::NoRegister, 
 
3332
                                       X86::NoRegister, X86::NoRegister, 
 
3333
                                       X86::NoRegister, X86::NoRegister, 
 
3334
                                       X86::NoRegister, X86::NoRegister, 
 
3335
                                       X86::CH, X86::RCX, 
 
3336
                                       X86::CL, X86::RCX, 
 
3337
                                       X86::NoRegister, X86::NoRegister, 
 
3338
                                       X86::CX, X86::RCX, 
 
3339
                                       X86::NoRegister, X86::NoRegister, 
 
3340
                                       X86::YMM13, X86::XMM13, 
 
3341
                                       X86::NoRegister, X86::NoRegister, 
 
3342
                                       X86::NoRegister, X86::NoRegister, 
 
3343
                                       X86::NoRegister, X86::NoRegister, 
 
3344
                                       X86::NoRegister, X86::NoRegister, 
 
3345
                                       X86::NoRegister, X86::NoRegister, 
 
3346
                                       X86::NoRegister, X86::NoRegister, 
 
3347
                                       X86::NoRegister, X86::NoRegister, 
 
3348
                                       X86::NoRegister, X86::NoRegister, 
 
3349
                                       X86::NoRegister, X86::NoRegister, 
 
3350
                                       X86::NoRegister, X86::NoRegister, 
 
3351
                                       X86::NoRegister, X86::NoRegister, 
 
3352
                                       X86::NoRegister, X86::NoRegister, 
 
3353
                                       X86::R13, X86::R13W, 
 
3354
                                       X86::R13B, X86::R13W, 
 
3355
                                       X86::R13D, X86::R13W, 
 
3356
                                       X86::NoRegister, X86::NoRegister, 
 
3357
                                       X86::NoRegister, X86::NoRegister, 
 
3358
                                       X86::NoRegister, X86::NoRegister, 
 
3359
                                       X86::NoRegister, X86::NoRegister, 
 
3360
                                       X86::NoRegister, X86::NoRegister, 
 
3361
                                       X86::NoRegister, X86::NoRegister, 
 
3362
                                       X86::NoRegister, X86::NoRegister, 
 
3363
                                       X86::NoRegister, X86::NoRegister, 
 
3364
                                       X86::ECX, X86::RCX, 
 
3365
                                       X86::NoRegister, X86::NoRegister, 
 
3366
                                       X86::NoRegister, X86::NoRegister, 
 
3367
                                       X86::NoRegister, X86::NoRegister, 
 
3368
                                       X86::NoRegister, X86::NoRegister, 
 
3369
                                       X86::NoRegister, X86::NoRegister, 
 
3370
                                       X86::NoRegister, X86::NoRegister, 
 
3371
                                       X86::NoRegister, X86::NoRegister, 
 
3372
                                       X86::NoRegister, X86::NoRegister, 
 
3373
                                       X86::NoRegister, X86::NoRegister, 
 
3374
                                       X86::NoRegister, X86::NoRegister, 
 
3375
                                       X86::NoRegister, X86::NoRegister, 
 
3376
                                       X86::YMM14, X86::XMM14, 
 
3377
                                       X86::DH, X86::DX, 
 
3378
                                       X86::DIL, X86::RDI, 
 
3379
                                       X86::DI, X86::RDI, 
 
3380
                                       X86::DL, X86::DX, 
 
3381
                                       X86::NoRegister, X86::NoRegister, 
 
3382
                                       X86::NoRegister, X86::NoRegister, 
 
3383
                                       X86::NoRegister, X86::NoRegister, 
 
3384
                                       X86::NoRegister, X86::NoRegister, 
 
3385
                                       X86::NoRegister, X86::NoRegister, 
 
3386
                                       X86::NoRegister, X86::NoRegister, 
 
3387
                                       X86::NoRegister, X86::NoRegister, 
 
3388
                                       X86::NoRegister, X86::NoRegister, 
 
3389
                                       X86::NoRegister, X86::NoRegister, 
 
3390
                                       X86::NoRegister, X86::NoRegister, 
 
3391
                                       X86::NoRegister, X86::NoRegister, 
 
3392
                                       X86::NoRegister, X86::NoRegister, 
 
3393
                                       X86::NoRegister, X86::NoRegister, 
 
3394
                                       X86::NoRegister, X86::NoRegister, 
 
3395
                                       X86::R14B, X86::R14, 
 
3396
                                       X86::R14D, X86::R14, 
 
3397
                                       X86::R14W, X86::R14, 
 
3398
                                       X86::NoRegister, X86::NoRegister, 
 
3399
                                       X86::NoRegister, X86::NoRegister, 
 
3400
                                       X86::NoRegister, X86::NoRegister, 
 
3401
                                       X86::NoRegister, X86::NoRegister, 
 
3402
                                       X86::AH, X86::EAX, 
 
3403
                                       X86::AL, X86::EAX, 
 
3404
                                       X86::AX, X86::EAX, 
 
3405
                                       X86::NoRegister, X86::NoRegister, 
 
3406
                                       X86::EDX, X86::DX, 
 
3407
                                       X86::NoRegister, X86::NoRegister, 
 
3408
                                       X86::EDI, X86::RDI, 
 
3409
                                       X86::NoRegister, X86::NoRegister, 
 
3410
                                       X86::NoRegister, X86::NoRegister, 
 
3411
                                       X86::NoRegister, X86::NoRegister, 
 
3412
                                       X86::NoRegister, X86::NoRegister, 
 
3413
                                       X86::DH, X86::RDX, 
 
3414
                                       X86::YMM15, X86::XMM15, 
 
3415
                                       X86::NoRegister, X86::NoRegister, 
 
3416
                                       X86::DL, X86::RDX, 
 
3417
                                       X86::NoRegister, X86::NoRegister, 
 
3418
                                       X86::NoRegister, X86::NoRegister, 
 
3419
                                       X86::NoRegister, X86::NoRegister, 
 
3420
                                       X86::NoRegister, X86::NoRegister, 
 
3421
                                       X86::NoRegister, X86::NoRegister, 
 
3422
                                       X86::NoRegister, X86::NoRegister, 
 
3423
                                       X86::NoRegister, X86::NoRegister, 
 
3424
                                       X86::NoRegister, X86::NoRegister, 
 
3425
X86::NoRegister, X86::NoRegister };
 
3426
  const unsigned AliasesHashTableSize = 1024;
 
3427
 
 
3428
 
 
3429
  // Register Alias Sets...
 
3430
  const unsigned Empty_AliasSet[] = { 0 };
 
3431
  const unsigned AH_AliasSet[] = { X86::AX, X86::EAX, X86::RAX, 0 };
 
3432
  const unsigned AL_AliasSet[] = { X86::AX, X86::EAX, X86::RAX, 0 };
 
3433
  const unsigned AX_AliasSet[] = { X86::AL, X86::AH, X86::EAX, X86::RAX, 0 };
 
3434
  const unsigned BH_AliasSet[] = { X86::BX, X86::EBX, X86::RBX, 0 };
 
3435
  const unsigned BL_AliasSet[] = { X86::BX, X86::EBX, X86::RBX, 0 };
 
3436
  const unsigned BP_AliasSet[] = { X86::BPL, X86::EBP, X86::RBP, 0 };
 
3437
  const unsigned BPL_AliasSet[] = { X86::BP, X86::EBP, X86::RBP, 0 };
 
3438
  const unsigned BX_AliasSet[] = { X86::BL, X86::BH, X86::EBX, X86::RBX, 0 };
 
3439
  const unsigned CH_AliasSet[] = { X86::CX, X86::ECX, X86::RCX, 0 };
 
3440
  const unsigned CL_AliasSet[] = { X86::CX, X86::ECX, X86::RCX, 0 };
 
3441
  const unsigned CS_AliasSet[] = { 0 };
 
3442
  const unsigned CX_AliasSet[] = { X86::CL, X86::CH, X86::ECX, X86::RCX, 0 };
 
3443
  const unsigned DH_AliasSet[] = { X86::DX, X86::EDX, X86::RDX, 0 };
 
3444
  const unsigned DI_AliasSet[] = { X86::DIL, X86::EDI, X86::RDI, 0 };
 
3445
  const unsigned DIL_AliasSet[] = { X86::DI, X86::EDI, X86::RDI, 0 };
 
3446
  const unsigned DL_AliasSet[] = { X86::DX, X86::EDX, X86::RDX, 0 };
 
3447
  const unsigned DR0_AliasSet[] = { 0 };
 
3448
  const unsigned DR1_AliasSet[] = { 0 };
 
3449
  const unsigned DR2_AliasSet[] = { 0 };
 
3450
  const unsigned DR3_AliasSet[] = { 0 };
 
3451
  const unsigned DR4_AliasSet[] = { 0 };
 
3452
  const unsigned DR5_AliasSet[] = { 0 };
 
3453
  const unsigned DR6_AliasSet[] = { 0 };
 
3454
  const unsigned DR7_AliasSet[] = { 0 };
 
3455
  const unsigned DS_AliasSet[] = { 0 };
 
3456
  const unsigned DX_AliasSet[] = { X86::DL, X86::DH, X86::EDX, X86::RDX, 0 };
 
3457
  const unsigned EAX_AliasSet[] = { X86::AL, X86::AH, X86::AX, X86::RAX, 0 };
 
3458
  const unsigned EBP_AliasSet[] = { X86::BPL, X86::BP, X86::RBP, 0 };
 
3459
  const unsigned EBX_AliasSet[] = { X86::BL, X86::BH, X86::BX, X86::RBX, 0 };
 
3460
  const unsigned ECR0_AliasSet[] = { 0 };
 
3461
  const unsigned ECR1_AliasSet[] = { 0 };
 
3462
  const unsigned ECR2_AliasSet[] = { 0 };
 
3463
  const unsigned ECR3_AliasSet[] = { 0 };
 
3464
  const unsigned ECR4_AliasSet[] = { 0 };
 
3465
  const unsigned ECR5_AliasSet[] = { 0 };
 
3466
  const unsigned ECR6_AliasSet[] = { 0 };
 
3467
  const unsigned ECR7_AliasSet[] = { 0 };
 
3468
  const unsigned ECX_AliasSet[] = { X86::CL, X86::CH, X86::CX, X86::RCX, 0 };
 
3469
  const unsigned EDI_AliasSet[] = { X86::DIL, X86::DI, X86::RDI, 0 };
 
3470
  const unsigned EDX_AliasSet[] = { X86::DL, X86::DH, X86::DX, X86::RDX, 0 };
 
3471
  const unsigned EFLAGS_AliasSet[] = { 0 };
 
3472
  const unsigned EIP_AliasSet[] = { X86::IP, X86::RIP, 0 };
 
3473
  const unsigned ES_AliasSet[] = { 0 };
 
3474
  const unsigned ESI_AliasSet[] = { X86::SIL, X86::SI, X86::RSI, 0 };
 
3475
  const unsigned ESP_AliasSet[] = { X86::SPL, X86::SP, X86::RSP, 0 };
 
3476
  const unsigned FP0_AliasSet[] = { 0 };
 
3477
  const unsigned FP1_AliasSet[] = { 0 };
 
3478
  const unsigned FP2_AliasSet[] = { 0 };
 
3479
  const unsigned FP3_AliasSet[] = { 0 };
 
3480
  const unsigned FP4_AliasSet[] = { 0 };
 
3481
  const unsigned FP5_AliasSet[] = { 0 };
 
3482
  const unsigned FP6_AliasSet[] = { 0 };
 
3483
  const unsigned FS_AliasSet[] = { 0 };
 
3484
  const unsigned GS_AliasSet[] = { 0 };
 
3485
  const unsigned IP_AliasSet[] = { X86::EIP, X86::RIP, 0 };
 
3486
  const unsigned MM0_AliasSet[] = { 0 };
 
3487
  const unsigned MM1_AliasSet[] = { 0 };
 
3488
  const unsigned MM2_AliasSet[] = { 0 };
 
3489
  const unsigned MM3_AliasSet[] = { 0 };
 
3490
  const unsigned MM4_AliasSet[] = { 0 };
 
3491
  const unsigned MM5_AliasSet[] = { 0 };
 
3492
  const unsigned MM6_AliasSet[] = { 0 };
 
3493
  const unsigned MM7_AliasSet[] = { 0 };
 
3494
  const unsigned R10_AliasSet[] = { X86::R10B, X86::R10W, X86::R10D, 0 };
 
3495
  const unsigned R10B_AliasSet[] = { X86::R10W, X86::R10D, X86::R10, 0 };
 
3496
  const unsigned R10D_AliasSet[] = { X86::R10B, X86::R10W, X86::R10, 0 };
 
3497
  const unsigned R10W_AliasSet[] = { X86::R10B, X86::R10D, X86::R10, 0 };
 
3498
  const unsigned R11_AliasSet[] = { X86::R11B, X86::R11W, X86::R11D, 0 };
 
3499
  const unsigned R11B_AliasSet[] = { X86::R11W, X86::R11D, X86::R11, 0 };
 
3500
  const unsigned R11D_AliasSet[] = { X86::R11B, X86::R11W, X86::R11, 0 };
 
3501
  const unsigned R11W_AliasSet[] = { X86::R11B, X86::R11D, X86::R11, 0 };
 
3502
  const unsigned R12_AliasSet[] = { X86::R12B, X86::R12W, X86::R12D, 0 };
 
3503
  const unsigned R12B_AliasSet[] = { X86::R12W, X86::R12D, X86::R12, 0 };
 
3504
  const unsigned R12D_AliasSet[] = { X86::R12B, X86::R12W, X86::R12, 0 };
 
3505
  const unsigned R12W_AliasSet[] = { X86::R12B, X86::R12D, X86::R12, 0 };
 
3506
  const unsigned R13_AliasSet[] = { X86::R13B, X86::R13W, X86::R13D, 0 };
 
3507
  const unsigned R13B_AliasSet[] = { X86::R13W, X86::R13D, X86::R13, 0 };
 
3508
  const unsigned R13D_AliasSet[] = { X86::R13B, X86::R13W, X86::R13, 0 };
 
3509
  const unsigned R13W_AliasSet[] = { X86::R13B, X86::R13D, X86::R13, 0 };
 
3510
  const unsigned R14_AliasSet[] = { X86::R14B, X86::R14W, X86::R14D, 0 };
 
3511
  const unsigned R14B_AliasSet[] = { X86::R14W, X86::R14D, X86::R14, 0 };
 
3512
  const unsigned R14D_AliasSet[] = { X86::R14B, X86::R14W, X86::R14, 0 };
 
3513
  const unsigned R14W_AliasSet[] = { X86::R14B, X86::R14D, X86::R14, 0 };
 
3514
  const unsigned R15_AliasSet[] = { X86::R15B, X86::R15W, X86::R15D, 0 };
 
3515
  const unsigned R15B_AliasSet[] = { X86::R15W, X86::R15D, X86::R15, 0 };
 
3516
  const unsigned R15D_AliasSet[] = { X86::R15B, X86::R15W, X86::R15, 0 };
 
3517
  const unsigned R15W_AliasSet[] = { X86::R15B, X86::R15D, X86::R15, 0 };
 
3518
  const unsigned R8_AliasSet[] = { X86::R8B, X86::R8W, X86::R8D, 0 };
 
3519
  const unsigned R8B_AliasSet[] = { X86::R8W, X86::R8D, X86::R8, 0 };
 
3520
  const unsigned R8D_AliasSet[] = { X86::R8B, X86::R8W, X86::R8, 0 };
 
3521
  const unsigned R8W_AliasSet[] = { X86::R8B, X86::R8D, X86::R8, 0 };
 
3522
  const unsigned R9_AliasSet[] = { X86::R9B, X86::R9W, X86::R9D, 0 };
 
3523
  const unsigned R9B_AliasSet[] = { X86::R9W, X86::R9D, X86::R9, 0 };
 
3524
  const unsigned R9D_AliasSet[] = { X86::R9B, X86::R9W, X86::R9, 0 };
 
3525
  const unsigned R9W_AliasSet[] = { X86::R9B, X86::R9D, X86::R9, 0 };
 
3526
  const unsigned RAX_AliasSet[] = { X86::AL, X86::AH, X86::AX, X86::EAX, 0 };
 
3527
  const unsigned RBP_AliasSet[] = { X86::BPL, X86::BP, X86::EBP, 0 };
 
3528
  const unsigned RBX_AliasSet[] = { X86::BL, X86::BH, X86::BX, X86::EBX, 0 };
 
3529
  const unsigned RCR0_AliasSet[] = { 0 };
 
3530
  const unsigned RCR1_AliasSet[] = { 0 };
 
3531
  const unsigned RCR2_AliasSet[] = { 0 };
 
3532
  const unsigned RCR3_AliasSet[] = { 0 };
 
3533
  const unsigned RCR4_AliasSet[] = { 0 };
 
3534
  const unsigned RCR5_AliasSet[] = { 0 };
 
3535
  const unsigned RCR6_AliasSet[] = { 0 };
 
3536
  const unsigned RCR7_AliasSet[] = { 0 };
 
3537
  const unsigned RCR8_AliasSet[] = { 0 };
 
3538
  const unsigned RCX_AliasSet[] = { X86::CL, X86::CH, X86::CX, X86::ECX, 0 };
 
3539
  const unsigned RDI_AliasSet[] = { X86::DIL, X86::DI, X86::EDI, 0 };
 
3540
  const unsigned RDX_AliasSet[] = { X86::DL, X86::DH, X86::DX, X86::EDX, 0 };
 
3541
  const unsigned RIP_AliasSet[] = { X86::IP, X86::EIP, 0 };
 
3542
  const unsigned RSI_AliasSet[] = { X86::SIL, X86::SI, X86::ESI, 0 };
 
3543
  const unsigned RSP_AliasSet[] = { X86::SPL, X86::SP, X86::ESP, 0 };
 
3544
  const unsigned SI_AliasSet[] = { X86::SIL, X86::ESI, X86::RSI, 0 };
 
3545
  const unsigned SIL_AliasSet[] = { X86::SI, X86::ESI, X86::RSI, 0 };
 
3546
  const unsigned SP_AliasSet[] = { X86::SPL, X86::ESP, X86::RSP, 0 };
 
3547
  const unsigned SPL_AliasSet[] = { X86::SP, X86::ESP, X86::RSP, 0 };
 
3548
  const unsigned SS_AliasSet[] = { 0 };
 
3549
  const unsigned ST0_AliasSet[] = { 0 };
 
3550
  const unsigned ST1_AliasSet[] = { 0 };
 
3551
  const unsigned ST2_AliasSet[] = { 0 };
 
3552
  const unsigned ST3_AliasSet[] = { 0 };
 
3553
  const unsigned ST4_AliasSet[] = { 0 };
 
3554
  const unsigned ST5_AliasSet[] = { 0 };
 
3555
  const unsigned ST6_AliasSet[] = { 0 };
 
3556
  const unsigned ST7_AliasSet[] = { 0 };
 
3557
  const unsigned XMM0_AliasSet[] = { X86::YMM0, 0 };
 
3558
  const unsigned XMM1_AliasSet[] = { X86::YMM1, 0 };
 
3559
  const unsigned XMM10_AliasSet[] = { X86::YMM10, 0 };
 
3560
  const unsigned XMM11_AliasSet[] = { X86::YMM11, 0 };
 
3561
  const unsigned XMM12_AliasSet[] = { X86::YMM12, 0 };
 
3562
  const unsigned XMM13_AliasSet[] = { X86::YMM13, 0 };
 
3563
  const unsigned XMM14_AliasSet[] = { X86::YMM14, 0 };
 
3564
  const unsigned XMM15_AliasSet[] = { X86::YMM15, 0 };
 
3565
  const unsigned XMM2_AliasSet[] = { X86::YMM2, 0 };
 
3566
  const unsigned XMM3_AliasSet[] = { X86::YMM3, 0 };
 
3567
  const unsigned XMM4_AliasSet[] = { X86::YMM4, 0 };
 
3568
  const unsigned XMM5_AliasSet[] = { X86::YMM5, 0 };
 
3569
  const unsigned XMM6_AliasSet[] = { X86::YMM6, 0 };
 
3570
  const unsigned XMM7_AliasSet[] = { X86::YMM7, 0 };
 
3571
  const unsigned XMM8_AliasSet[] = { X86::YMM8, 0 };
 
3572
  const unsigned XMM9_AliasSet[] = { X86::YMM9, 0 };
 
3573
  const unsigned YMM0_AliasSet[] = { X86::XMM0, 0 };
 
3574
  const unsigned YMM1_AliasSet[] = { X86::XMM1, 0 };
 
3575
  const unsigned YMM10_AliasSet[] = { X86::XMM10, 0 };
 
3576
  const unsigned YMM11_AliasSet[] = { X86::XMM11, 0 };
 
3577
  const unsigned YMM12_AliasSet[] = { X86::XMM12, 0 };
 
3578
  const unsigned YMM13_AliasSet[] = { X86::XMM13, 0 };
 
3579
  const unsigned YMM14_AliasSet[] = { X86::XMM14, 0 };
 
3580
  const unsigned YMM15_AliasSet[] = { X86::XMM15, 0 };
 
3581
  const unsigned YMM2_AliasSet[] = { X86::XMM2, 0 };
 
3582
  const unsigned YMM3_AliasSet[] = { X86::XMM3, 0 };
 
3583
  const unsigned YMM4_AliasSet[] = { X86::XMM4, 0 };
 
3584
  const unsigned YMM5_AliasSet[] = { X86::XMM5, 0 };
 
3585
  const unsigned YMM6_AliasSet[] = { X86::XMM6, 0 };
 
3586
  const unsigned YMM7_AliasSet[] = { X86::XMM7, 0 };
 
3587
  const unsigned YMM8_AliasSet[] = { X86::XMM8, 0 };
 
3588
  const unsigned YMM9_AliasSet[] = { X86::XMM9, 0 };
 
3589
 
 
3590
 
 
3591
  // Register Sub-registers Sets...
 
3592
  const unsigned Empty_SubRegsSet[] = { 0 };
 
3593
  const unsigned AH_SubRegsSet[] = { 0 };
 
3594
  const unsigned AL_SubRegsSet[] = { 0 };
 
3595
  const unsigned AX_SubRegsSet[] = { X86::AL, X86::AH, 0 };
 
3596
  const unsigned BH_SubRegsSet[] = { 0 };
 
3597
  const unsigned BL_SubRegsSet[] = { 0 };
 
3598
  const unsigned BP_SubRegsSet[] = { X86::BPL, 0 };
 
3599
  const unsigned BPL_SubRegsSet[] = { 0 };
 
3600
  const unsigned BX_SubRegsSet[] = { X86::BL, X86::BH, 0 };
 
3601
  const unsigned CH_SubRegsSet[] = { 0 };
 
3602
  const unsigned CL_SubRegsSet[] = { 0 };
 
3603
  const unsigned CS_SubRegsSet[] = { 0 };
 
3604
  const unsigned CX_SubRegsSet[] = { X86::CL, X86::CH, 0 };
 
3605
  const unsigned DH_SubRegsSet[] = { 0 };
 
3606
  const unsigned DI_SubRegsSet[] = { X86::DIL, 0 };
 
3607
  const unsigned DIL_SubRegsSet[] = { 0 };
 
3608
  const unsigned DL_SubRegsSet[] = { 0 };
 
3609
  const unsigned DR0_SubRegsSet[] = { 0 };
 
3610
  const unsigned DR1_SubRegsSet[] = { 0 };
 
3611
  const unsigned DR2_SubRegsSet[] = { 0 };
 
3612
  const unsigned DR3_SubRegsSet[] = { 0 };
 
3613
  const unsigned DR4_SubRegsSet[] = { 0 };
 
3614
  const unsigned DR5_SubRegsSet[] = { 0 };
 
3615
  const unsigned DR6_SubRegsSet[] = { 0 };
 
3616
  const unsigned DR7_SubRegsSet[] = { 0 };
 
3617
  const unsigned DS_SubRegsSet[] = { 0 };
 
3618
  const unsigned DX_SubRegsSet[] = { X86::DL, X86::DH, 0 };
 
3619
  const unsigned EAX_SubRegsSet[] = { X86::AX, X86::AL, X86::AH, 0 };
 
3620
  const unsigned EBP_SubRegsSet[] = { X86::BP, X86::BPL, 0 };
 
3621
  const unsigned EBX_SubRegsSet[] = { X86::BX, X86::BL, X86::BH, 0 };
 
3622
  const unsigned ECR0_SubRegsSet[] = { 0 };
 
3623
  const unsigned ECR1_SubRegsSet[] = { 0 };
 
3624
  const unsigned ECR2_SubRegsSet[] = { 0 };
 
3625
  const unsigned ECR3_SubRegsSet[] = { 0 };
 
3626
  const unsigned ECR4_SubRegsSet[] = { 0 };
 
3627
  const unsigned ECR5_SubRegsSet[] = { 0 };
 
3628
  const unsigned ECR6_SubRegsSet[] = { 0 };
 
3629
  const unsigned ECR7_SubRegsSet[] = { 0 };
 
3630
  const unsigned ECX_SubRegsSet[] = { X86::CX, X86::CL, X86::CH, 0 };
 
3631
  const unsigned EDI_SubRegsSet[] = { X86::DI, X86::DIL, 0 };
 
3632
  const unsigned EDX_SubRegsSet[] = { X86::DX, X86::DL, X86::DH, 0 };
 
3633
  const unsigned EFLAGS_SubRegsSet[] = { 0 };
 
3634
  const unsigned EIP_SubRegsSet[] = { X86::IP, 0 };
 
3635
  const unsigned ES_SubRegsSet[] = { 0 };
 
3636
  const unsigned ESI_SubRegsSet[] = { X86::SI, X86::SIL, 0 };
 
3637
  const unsigned ESP_SubRegsSet[] = { X86::SP, X86::SPL, 0 };
 
3638
  const unsigned FP0_SubRegsSet[] = { 0 };
 
3639
  const unsigned FP1_SubRegsSet[] = { 0 };
 
3640
  const unsigned FP2_SubRegsSet[] = { 0 };
 
3641
  const unsigned FP3_SubRegsSet[] = { 0 };
 
3642
  const unsigned FP4_SubRegsSet[] = { 0 };
 
3643
  const unsigned FP5_SubRegsSet[] = { 0 };
 
3644
  const unsigned FP6_SubRegsSet[] = { 0 };
 
3645
  const unsigned FS_SubRegsSet[] = { 0 };
 
3646
  const unsigned GS_SubRegsSet[] = { 0 };
 
3647
  const unsigned IP_SubRegsSet[] = { 0 };
 
3648
  const unsigned MM0_SubRegsSet[] = { 0 };
 
3649
  const unsigned MM1_SubRegsSet[] = { 0 };
 
3650
  const unsigned MM2_SubRegsSet[] = { 0 };
 
3651
  const unsigned MM3_SubRegsSet[] = { 0 };
 
3652
  const unsigned MM4_SubRegsSet[] = { 0 };
 
3653
  const unsigned MM5_SubRegsSet[] = { 0 };
 
3654
  const unsigned MM6_SubRegsSet[] = { 0 };
 
3655
  const unsigned MM7_SubRegsSet[] = { 0 };
 
3656
  const unsigned R10_SubRegsSet[] = { X86::R10D, X86::R10W, X86::R10B, 0 };
 
3657
  const unsigned R10B_SubRegsSet[] = { 0 };
 
3658
  const unsigned R10D_SubRegsSet[] = { X86::R10W, X86::R10B, 0 };
 
3659
  const unsigned R10W_SubRegsSet[] = { X86::R10B, 0 };
 
3660
  const unsigned R11_SubRegsSet[] = { X86::R11D, X86::R11W, X86::R11B, 0 };
 
3661
  const unsigned R11B_SubRegsSet[] = { 0 };
 
3662
  const unsigned R11D_SubRegsSet[] = { X86::R11W, X86::R11B, 0 };
 
3663
  const unsigned R11W_SubRegsSet[] = { X86::R11B, 0 };
 
3664
  const unsigned R12_SubRegsSet[] = { X86::R12D, X86::R12W, X86::R12B, 0 };
 
3665
  const unsigned R12B_SubRegsSet[] = { 0 };
 
3666
  const unsigned R12D_SubRegsSet[] = { X86::R12W, X86::R12B, 0 };
 
3667
  const unsigned R12W_SubRegsSet[] = { X86::R12B, 0 };
 
3668
  const unsigned R13_SubRegsSet[] = { X86::R13D, X86::R13W, X86::R13B, 0 };
 
3669
  const unsigned R13B_SubRegsSet[] = { 0 };
 
3670
  const unsigned R13D_SubRegsSet[] = { X86::R13W, X86::R13B, 0 };
 
3671
  const unsigned R13W_SubRegsSet[] = { X86::R13B, 0 };
 
3672
  const unsigned R14_SubRegsSet[] = { X86::R14D, X86::R14W, X86::R14B, 0 };
 
3673
  const unsigned R14B_SubRegsSet[] = { 0 };
 
3674
  const unsigned R14D_SubRegsSet[] = { X86::R14W, X86::R14B, 0 };
 
3675
  const unsigned R14W_SubRegsSet[] = { X86::R14B, 0 };
 
3676
  const unsigned R15_SubRegsSet[] = { X86::R15D, X86::R15W, X86::R15B, 0 };
 
3677
  const unsigned R15B_SubRegsSet[] = { 0 };
 
3678
  const unsigned R15D_SubRegsSet[] = { X86::R15W, X86::R15B, 0 };
 
3679
  const unsigned R15W_SubRegsSet[] = { X86::R15B, 0 };
 
3680
  const unsigned R8_SubRegsSet[] = { X86::R8D, X86::R8W, X86::R8B, 0 };
 
3681
  const unsigned R8B_SubRegsSet[] = { 0 };
 
3682
  const unsigned R8D_SubRegsSet[] = { X86::R8W, X86::R8B, 0 };
 
3683
  const unsigned R8W_SubRegsSet[] = { X86::R8B, 0 };
 
3684
  const unsigned R9_SubRegsSet[] = { X86::R9D, X86::R9W, X86::R9B, 0 };
 
3685
  const unsigned R9B_SubRegsSet[] = { 0 };
 
3686
  const unsigned R9D_SubRegsSet[] = { X86::R9W, X86::R9B, 0 };
 
3687
  const unsigned R9W_SubRegsSet[] = { X86::R9B, 0 };
 
3688
  const unsigned RAX_SubRegsSet[] = { X86::EAX, X86::AX, X86::AL, X86::AH, 0 };
 
3689
  const unsigned RBP_SubRegsSet[] = { X86::EBP, X86::BP, X86::BPL, 0 };
 
3690
  const unsigned RBX_SubRegsSet[] = { X86::EBX, X86::BX, X86::BL, X86::BH, 0 };
 
3691
  const unsigned RCR0_SubRegsSet[] = { 0 };
 
3692
  const unsigned RCR1_SubRegsSet[] = { 0 };
 
3693
  const unsigned RCR2_SubRegsSet[] = { 0 };
 
3694
  const unsigned RCR3_SubRegsSet[] = { 0 };
 
3695
  const unsigned RCR4_SubRegsSet[] = { 0 };
 
3696
  const unsigned RCR5_SubRegsSet[] = { 0 };
 
3697
  const unsigned RCR6_SubRegsSet[] = { 0 };
 
3698
  const unsigned RCR7_SubRegsSet[] = { 0 };
 
3699
  const unsigned RCR8_SubRegsSet[] = { 0 };
 
3700
  const unsigned RCX_SubRegsSet[] = { X86::ECX, X86::CX, X86::CL, X86::CH, 0 };
 
3701
  const unsigned RDI_SubRegsSet[] = { X86::EDI, X86::DI, X86::DIL, 0 };
 
3702
  const unsigned RDX_SubRegsSet[] = { X86::EDX, X86::DX, X86::DL, X86::DH, 0 };
 
3703
  const unsigned RIP_SubRegsSet[] = { X86::EIP, X86::IP, 0 };
 
3704
  const unsigned RSI_SubRegsSet[] = { X86::ESI, X86::SI, X86::SIL, 0 };
 
3705
  const unsigned RSP_SubRegsSet[] = { X86::ESP, X86::SP, X86::SPL, 0 };
 
3706
  const unsigned SI_SubRegsSet[] = { X86::SIL, 0 };
 
3707
  const unsigned SIL_SubRegsSet[] = { 0 };
 
3708
  const unsigned SP_SubRegsSet[] = { X86::SPL, 0 };
 
3709
  const unsigned SPL_SubRegsSet[] = { 0 };
 
3710
  const unsigned SS_SubRegsSet[] = { 0 };
 
3711
  const unsigned ST0_SubRegsSet[] = { 0 };
 
3712
  const unsigned ST1_SubRegsSet[] = { 0 };
 
3713
  const unsigned ST2_SubRegsSet[] = { 0 };
 
3714
  const unsigned ST3_SubRegsSet[] = { 0 };
 
3715
  const unsigned ST4_SubRegsSet[] = { 0 };
 
3716
  const unsigned ST5_SubRegsSet[] = { 0 };
 
3717
  const unsigned ST6_SubRegsSet[] = { 0 };
 
3718
  const unsigned ST7_SubRegsSet[] = { 0 };
 
3719
  const unsigned XMM0_SubRegsSet[] = { 0 };
 
3720
  const unsigned XMM1_SubRegsSet[] = { 0 };
 
3721
  const unsigned XMM10_SubRegsSet[] = { 0 };
 
3722
  const unsigned XMM11_SubRegsSet[] = { 0 };
 
3723
  const unsigned XMM12_SubRegsSet[] = { 0 };
 
3724
  const unsigned XMM13_SubRegsSet[] = { 0 };
 
3725
  const unsigned XMM14_SubRegsSet[] = { 0 };
 
3726
  const unsigned XMM15_SubRegsSet[] = { 0 };
 
3727
  const unsigned XMM2_SubRegsSet[] = { 0 };
 
3728
  const unsigned XMM3_SubRegsSet[] = { 0 };
 
3729
  const unsigned XMM4_SubRegsSet[] = { 0 };
 
3730
  const unsigned XMM5_SubRegsSet[] = { 0 };
 
3731
  const unsigned XMM6_SubRegsSet[] = { 0 };
 
3732
  const unsigned XMM7_SubRegsSet[] = { 0 };
 
3733
  const unsigned XMM8_SubRegsSet[] = { 0 };
 
3734
  const unsigned XMM9_SubRegsSet[] = { 0 };
 
3735
  const unsigned YMM0_SubRegsSet[] = { X86::XMM0, 0 };
 
3736
  const unsigned YMM1_SubRegsSet[] = { X86::XMM1, 0 };
 
3737
  const unsigned YMM10_SubRegsSet[] = { X86::XMM10, 0 };
 
3738
  const unsigned YMM11_SubRegsSet[] = { X86::XMM11, 0 };
 
3739
  const unsigned YMM12_SubRegsSet[] = { X86::XMM12, 0 };
 
3740
  const unsigned YMM13_SubRegsSet[] = { X86::XMM13, 0 };
 
3741
  const unsigned YMM14_SubRegsSet[] = { X86::XMM14, 0 };
 
3742
  const unsigned YMM15_SubRegsSet[] = { X86::XMM15, 0 };
 
3743
  const unsigned YMM2_SubRegsSet[] = { X86::XMM2, 0 };
 
3744
  const unsigned YMM3_SubRegsSet[] = { X86::XMM3, 0 };
 
3745
  const unsigned YMM4_SubRegsSet[] = { X86::XMM4, 0 };
 
3746
  const unsigned YMM5_SubRegsSet[] = { X86::XMM5, 0 };
 
3747
  const unsigned YMM6_SubRegsSet[] = { X86::XMM6, 0 };
 
3748
  const unsigned YMM7_SubRegsSet[] = { X86::XMM7, 0 };
 
3749
  const unsigned YMM8_SubRegsSet[] = { X86::XMM8, 0 };
 
3750
  const unsigned YMM9_SubRegsSet[] = { X86::XMM9, 0 };
 
3751
 
 
3752
 
 
3753
  // Register Super-registers Sets...
 
3754
  const unsigned Empty_SuperRegsSet[] = { 0 };
 
3755
  const unsigned AH_SuperRegsSet[] = { X86::RAX, X86::EAX, X86::AX, 0 };
 
3756
  const unsigned AL_SuperRegsSet[] = { X86::RAX, X86::EAX, X86::AX, 0 };
 
3757
  const unsigned AX_SuperRegsSet[] = { X86::RAX, X86::EAX, 0 };
 
3758
  const unsigned BH_SuperRegsSet[] = { X86::RBX, X86::EBX, X86::BX, 0 };
 
3759
  const unsigned BL_SuperRegsSet[] = { X86::RBX, X86::EBX, X86::BX, 0 };
 
3760
  const unsigned BP_SuperRegsSet[] = { X86::RBP, X86::EBP, 0 };
 
3761
  const unsigned BPL_SuperRegsSet[] = { X86::RBP, X86::EBP, X86::BP, 0 };
 
3762
  const unsigned BX_SuperRegsSet[] = { X86::RBX, X86::EBX, 0 };
 
3763
  const unsigned CH_SuperRegsSet[] = { X86::RCX, X86::ECX, X86::CX, 0 };
 
3764
  const unsigned CL_SuperRegsSet[] = { X86::RCX, X86::ECX, X86::CX, 0 };
 
3765
  const unsigned CS_SuperRegsSet[] = { 0 };
 
3766
  const unsigned CX_SuperRegsSet[] = { X86::RCX, X86::ECX, 0 };
 
3767
  const unsigned DH_SuperRegsSet[] = { X86::RDX, X86::EDX, X86::DX, 0 };
 
3768
  const unsigned DI_SuperRegsSet[] = { X86::RDI, X86::EDI, 0 };
 
3769
  const unsigned DIL_SuperRegsSet[] = { X86::RDI, X86::EDI, X86::DI, 0 };
 
3770
  const unsigned DL_SuperRegsSet[] = { X86::RDX, X86::EDX, X86::DX, 0 };
 
3771
  const unsigned DR0_SuperRegsSet[] = { 0 };
 
3772
  const unsigned DR1_SuperRegsSet[] = { 0 };
 
3773
  const unsigned DR2_SuperRegsSet[] = { 0 };
 
3774
  const unsigned DR3_SuperRegsSet[] = { 0 };
 
3775
  const unsigned DR4_SuperRegsSet[] = { 0 };
 
3776
  const unsigned DR5_SuperRegsSet[] = { 0 };
 
3777
  const unsigned DR6_SuperRegsSet[] = { 0 };
 
3778
  const unsigned DR7_SuperRegsSet[] = { 0 };
 
3779
  const unsigned DS_SuperRegsSet[] = { 0 };
 
3780
  const unsigned DX_SuperRegsSet[] = { X86::RDX, X86::EDX, 0 };
 
3781
  const unsigned EAX_SuperRegsSet[] = { X86::RAX, 0 };
 
3782
  const unsigned EBP_SuperRegsSet[] = { X86::RBP, 0 };
 
3783
  const unsigned EBX_SuperRegsSet[] = { X86::RBX, 0 };
 
3784
  const unsigned ECR0_SuperRegsSet[] = { 0 };
 
3785
  const unsigned ECR1_SuperRegsSet[] = { 0 };
 
3786
  const unsigned ECR2_SuperRegsSet[] = { 0 };
 
3787
  const unsigned ECR3_SuperRegsSet[] = { 0 };
 
3788
  const unsigned ECR4_SuperRegsSet[] = { 0 };
 
3789
  const unsigned ECR5_SuperRegsSet[] = { 0 };
 
3790
  const unsigned ECR6_SuperRegsSet[] = { 0 };
 
3791
  const unsigned ECR7_SuperRegsSet[] = { 0 };
 
3792
  const unsigned ECX_SuperRegsSet[] = { X86::RCX, 0 };
 
3793
  const unsigned EDI_SuperRegsSet[] = { X86::RDI, 0 };
 
3794
  const unsigned EDX_SuperRegsSet[] = { X86::RDX, 0 };
 
3795
  const unsigned EFLAGS_SuperRegsSet[] = { 0 };
 
3796
  const unsigned EIP_SuperRegsSet[] = { X86::RIP, 0 };
 
3797
  const unsigned ES_SuperRegsSet[] = { 0 };
 
3798
  const unsigned ESI_SuperRegsSet[] = { X86::RSI, 0 };
 
3799
  const unsigned ESP_SuperRegsSet[] = { X86::RSP, 0 };
 
3800
  const unsigned FP0_SuperRegsSet[] = { 0 };
 
3801
  const unsigned FP1_SuperRegsSet[] = { 0 };
 
3802
  const unsigned FP2_SuperRegsSet[] = { 0 };
 
3803
  const unsigned FP3_SuperRegsSet[] = { 0 };
 
3804
  const unsigned FP4_SuperRegsSet[] = { 0 };
 
3805
  const unsigned FP5_SuperRegsSet[] = { 0 };
 
3806
  const unsigned FP6_SuperRegsSet[] = { 0 };
 
3807
  const unsigned FS_SuperRegsSet[] = { 0 };
 
3808
  const unsigned GS_SuperRegsSet[] = { 0 };
 
3809
  const unsigned IP_SuperRegsSet[] = { X86::RIP, X86::EIP, 0 };
 
3810
  const unsigned MM0_SuperRegsSet[] = { 0 };
 
3811
  const unsigned MM1_SuperRegsSet[] = { 0 };
 
3812
  const unsigned MM2_SuperRegsSet[] = { 0 };
 
3813
  const unsigned MM3_SuperRegsSet[] = { 0 };
 
3814
  const unsigned MM4_SuperRegsSet[] = { 0 };
 
3815
  const unsigned MM5_SuperRegsSet[] = { 0 };
 
3816
  const unsigned MM6_SuperRegsSet[] = { 0 };
 
3817
  const unsigned MM7_SuperRegsSet[] = { 0 };
 
3818
  const unsigned R10_SuperRegsSet[] = { 0 };
 
3819
  const unsigned R10B_SuperRegsSet[] = { X86::R10, X86::R10D, X86::R10W, 0 };
 
3820
  const unsigned R10D_SuperRegsSet[] = { X86::R10, 0 };
 
3821
  const unsigned R10W_SuperRegsSet[] = { X86::R10, X86::R10D, 0 };
 
3822
  const unsigned R11_SuperRegsSet[] = { 0 };
 
3823
  const unsigned R11B_SuperRegsSet[] = { X86::R11, X86::R11D, X86::R11W, 0 };
 
3824
  const unsigned R11D_SuperRegsSet[] = { X86::R11, 0 };
 
3825
  const unsigned R11W_SuperRegsSet[] = { X86::R11, X86::R11D, 0 };
 
3826
  const unsigned R12_SuperRegsSet[] = { 0 };
 
3827
  const unsigned R12B_SuperRegsSet[] = { X86::R12, X86::R12D, X86::R12W, 0 };
 
3828
  const unsigned R12D_SuperRegsSet[] = { X86::R12, 0 };
 
3829
  const unsigned R12W_SuperRegsSet[] = { X86::R12, X86::R12D, 0 };
 
3830
  const unsigned R13_SuperRegsSet[] = { 0 };
 
3831
  const unsigned R13B_SuperRegsSet[] = { X86::R13, X86::R13D, X86::R13W, 0 };
 
3832
  const unsigned R13D_SuperRegsSet[] = { X86::R13, 0 };
 
3833
  const unsigned R13W_SuperRegsSet[] = { X86::R13, X86::R13D, 0 };
 
3834
  const unsigned R14_SuperRegsSet[] = { 0 };
 
3835
  const unsigned R14B_SuperRegsSet[] = { X86::R14, X86::R14D, X86::R14W, 0 };
 
3836
  const unsigned R14D_SuperRegsSet[] = { X86::R14, 0 };
 
3837
  const unsigned R14W_SuperRegsSet[] = { X86::R14, X86::R14D, 0 };
 
3838
  const unsigned R15_SuperRegsSet[] = { 0 };
 
3839
  const unsigned R15B_SuperRegsSet[] = { X86::R15, X86::R15D, X86::R15W, 0 };
 
3840
  const unsigned R15D_SuperRegsSet[] = { X86::R15, 0 };
 
3841
  const unsigned R15W_SuperRegsSet[] = { X86::R15, X86::R15D, 0 };
 
3842
  const unsigned R8_SuperRegsSet[] = { 0 };
 
3843
  const unsigned R8B_SuperRegsSet[] = { X86::R8, X86::R8D, X86::R8W, 0 };
 
3844
  const unsigned R8D_SuperRegsSet[] = { X86::R8, 0 };
 
3845
  const unsigned R8W_SuperRegsSet[] = { X86::R8, X86::R8D, 0 };
 
3846
  const unsigned R9_SuperRegsSet[] = { 0 };
 
3847
  const unsigned R9B_SuperRegsSet[] = { X86::R9, X86::R9D, X86::R9W, 0 };
 
3848
  const unsigned R9D_SuperRegsSet[] = { X86::R9, 0 };
 
3849
  const unsigned R9W_SuperRegsSet[] = { X86::R9, X86::R9D, 0 };
 
3850
  const unsigned RAX_SuperRegsSet[] = { 0 };
 
3851
  const unsigned RBP_SuperRegsSet[] = { 0 };
 
3852
  const unsigned RBX_SuperRegsSet[] = { 0 };
 
3853
  const unsigned RCR0_SuperRegsSet[] = { 0 };
 
3854
  const unsigned RCR1_SuperRegsSet[] = { 0 };
 
3855
  const unsigned RCR2_SuperRegsSet[] = { 0 };
 
3856
  const unsigned RCR3_SuperRegsSet[] = { 0 };
 
3857
  const unsigned RCR4_SuperRegsSet[] = { 0 };
 
3858
  const unsigned RCR5_SuperRegsSet[] = { 0 };
 
3859
  const unsigned RCR6_SuperRegsSet[] = { 0 };
 
3860
  const unsigned RCR7_SuperRegsSet[] = { 0 };
 
3861
  const unsigned RCR8_SuperRegsSet[] = { 0 };
 
3862
  const unsigned RCX_SuperRegsSet[] = { 0 };
 
3863
  const unsigned RDI_SuperRegsSet[] = { 0 };
 
3864
  const unsigned RDX_SuperRegsSet[] = { 0 };
 
3865
  const unsigned RIP_SuperRegsSet[] = { 0 };
 
3866
  const unsigned RSI_SuperRegsSet[] = { 0 };
 
3867
  const unsigned RSP_SuperRegsSet[] = { 0 };
 
3868
  const unsigned SI_SuperRegsSet[] = { X86::RSI, X86::ESI, 0 };
 
3869
  const unsigned SIL_SuperRegsSet[] = { X86::RSI, X86::ESI, X86::SI, 0 };
 
3870
  const unsigned SP_SuperRegsSet[] = { X86::RSP, X86::ESP, 0 };
 
3871
  const unsigned SPL_SuperRegsSet[] = { X86::RSP, X86::ESP, X86::SP, 0 };
 
3872
  const unsigned SS_SuperRegsSet[] = { 0 };
 
3873
  const unsigned ST0_SuperRegsSet[] = { 0 };
 
3874
  const unsigned ST1_SuperRegsSet[] = { 0 };
 
3875
  const unsigned ST2_SuperRegsSet[] = { 0 };
 
3876
  const unsigned ST3_SuperRegsSet[] = { 0 };
 
3877
  const unsigned ST4_SuperRegsSet[] = { 0 };
 
3878
  const unsigned ST5_SuperRegsSet[] = { 0 };
 
3879
  const unsigned ST6_SuperRegsSet[] = { 0 };
 
3880
  const unsigned ST7_SuperRegsSet[] = { 0 };
 
3881
  const unsigned XMM0_SuperRegsSet[] = { X86::YMM0, 0 };
 
3882
  const unsigned XMM1_SuperRegsSet[] = { X86::YMM1, 0 };
 
3883
  const unsigned XMM10_SuperRegsSet[] = { X86::YMM10, 0 };
 
3884
  const unsigned XMM11_SuperRegsSet[] = { X86::YMM11, 0 };
 
3885
  const unsigned XMM12_SuperRegsSet[] = { X86::YMM12, 0 };
 
3886
  const unsigned XMM13_SuperRegsSet[] = { X86::YMM13, 0 };
 
3887
  const unsigned XMM14_SuperRegsSet[] = { X86::YMM14, 0 };
 
3888
  const unsigned XMM15_SuperRegsSet[] = { X86::YMM15, 0 };
 
3889
  const unsigned XMM2_SuperRegsSet[] = { X86::YMM2, 0 };
 
3890
  const unsigned XMM3_SuperRegsSet[] = { X86::YMM3, 0 };
 
3891
  const unsigned XMM4_SuperRegsSet[] = { X86::YMM4, 0 };
 
3892
  const unsigned XMM5_SuperRegsSet[] = { X86::YMM5, 0 };
 
3893
  const unsigned XMM6_SuperRegsSet[] = { X86::YMM6, 0 };
 
3894
  const unsigned XMM7_SuperRegsSet[] = { X86::YMM7, 0 };
 
3895
  const unsigned XMM8_SuperRegsSet[] = { X86::YMM8, 0 };
 
3896
  const unsigned XMM9_SuperRegsSet[] = { X86::YMM9, 0 };
 
3897
  const unsigned YMM0_SuperRegsSet[] = { 0 };
 
3898
  const unsigned YMM1_SuperRegsSet[] = { 0 };
 
3899
  const unsigned YMM10_SuperRegsSet[] = { 0 };
 
3900
  const unsigned YMM11_SuperRegsSet[] = { 0 };
 
3901
  const unsigned YMM12_SuperRegsSet[] = { 0 };
 
3902
  const unsigned YMM13_SuperRegsSet[] = { 0 };
 
3903
  const unsigned YMM14_SuperRegsSet[] = { 0 };
 
3904
  const unsigned YMM15_SuperRegsSet[] = { 0 };
 
3905
  const unsigned YMM2_SuperRegsSet[] = { 0 };
 
3906
  const unsigned YMM3_SuperRegsSet[] = { 0 };
 
3907
  const unsigned YMM4_SuperRegsSet[] = { 0 };
 
3908
  const unsigned YMM5_SuperRegsSet[] = { 0 };
 
3909
  const unsigned YMM6_SuperRegsSet[] = { 0 };
 
3910
  const unsigned YMM7_SuperRegsSet[] = { 0 };
 
3911
  const unsigned YMM8_SuperRegsSet[] = { 0 };
 
3912
  const unsigned YMM9_SuperRegsSet[] = { 0 };
 
3913
 
 
3914
  const TargetRegisterDesc RegisterDescriptors[] = { // Descriptors
 
3915
    { "NOREG",  0,      0,      0 },
 
3916
    { "AH",     AH_AliasSet,    AH_SubRegsSet,  AH_SuperRegsSet },
 
3917
    { "AL",     AL_AliasSet,    AL_SubRegsSet,  AL_SuperRegsSet },
 
3918
    { "AX",     AX_AliasSet,    AX_SubRegsSet,  AX_SuperRegsSet },
 
3919
    { "BH",     BH_AliasSet,    BH_SubRegsSet,  BH_SuperRegsSet },
 
3920
    { "BL",     BL_AliasSet,    BL_SubRegsSet,  BL_SuperRegsSet },
 
3921
    { "BP",     BP_AliasSet,    BP_SubRegsSet,  BP_SuperRegsSet },
 
3922
    { "BPL",    BPL_AliasSet,   BPL_SubRegsSet, BPL_SuperRegsSet },
 
3923
    { "BX",     BX_AliasSet,    BX_SubRegsSet,  BX_SuperRegsSet },
 
3924
    { "CH",     CH_AliasSet,    CH_SubRegsSet,  CH_SuperRegsSet },
 
3925
    { "CL",     CL_AliasSet,    CL_SubRegsSet,  CL_SuperRegsSet },
 
3926
    { "CS",     CS_AliasSet,    CS_SubRegsSet,  CS_SuperRegsSet },
 
3927
    { "CX",     CX_AliasSet,    CX_SubRegsSet,  CX_SuperRegsSet },
 
3928
    { "DH",     DH_AliasSet,    DH_SubRegsSet,  DH_SuperRegsSet },
 
3929
    { "DI",     DI_AliasSet,    DI_SubRegsSet,  DI_SuperRegsSet },
 
3930
    { "DIL",    DIL_AliasSet,   DIL_SubRegsSet, DIL_SuperRegsSet },
 
3931
    { "DL",     DL_AliasSet,    DL_SubRegsSet,  DL_SuperRegsSet },
 
3932
    { "DR0",    DR0_AliasSet,   DR0_SubRegsSet, DR0_SuperRegsSet },
 
3933
    { "DR1",    DR1_AliasSet,   DR1_SubRegsSet, DR1_SuperRegsSet },
 
3934
    { "DR2",    DR2_AliasSet,   DR2_SubRegsSet, DR2_SuperRegsSet },
 
3935
    { "DR3",    DR3_AliasSet,   DR3_SubRegsSet, DR3_SuperRegsSet },
 
3936
    { "DR4",    DR4_AliasSet,   DR4_SubRegsSet, DR4_SuperRegsSet },
 
3937
    { "DR5",    DR5_AliasSet,   DR5_SubRegsSet, DR5_SuperRegsSet },
 
3938
    { "DR6",    DR6_AliasSet,   DR6_SubRegsSet, DR6_SuperRegsSet },
 
3939
    { "DR7",    DR7_AliasSet,   DR7_SubRegsSet, DR7_SuperRegsSet },
 
3940
    { "DS",     DS_AliasSet,    DS_SubRegsSet,  DS_SuperRegsSet },
 
3941
    { "DX",     DX_AliasSet,    DX_SubRegsSet,  DX_SuperRegsSet },
 
3942
    { "EAX",    EAX_AliasSet,   EAX_SubRegsSet, EAX_SuperRegsSet },
 
3943
    { "EBP",    EBP_AliasSet,   EBP_SubRegsSet, EBP_SuperRegsSet },
 
3944
    { "EBX",    EBX_AliasSet,   EBX_SubRegsSet, EBX_SuperRegsSet },
 
3945
    { "ECR0",   ECR0_AliasSet,  ECR0_SubRegsSet,        ECR0_SuperRegsSet },
 
3946
    { "ECR1",   ECR1_AliasSet,  ECR1_SubRegsSet,        ECR1_SuperRegsSet },
 
3947
    { "ECR2",   ECR2_AliasSet,  ECR2_SubRegsSet,        ECR2_SuperRegsSet },
 
3948
    { "ECR3",   ECR3_AliasSet,  ECR3_SubRegsSet,        ECR3_SuperRegsSet },
 
3949
    { "ECR4",   ECR4_AliasSet,  ECR4_SubRegsSet,        ECR4_SuperRegsSet },
 
3950
    { "ECR5",   ECR5_AliasSet,  ECR5_SubRegsSet,        ECR5_SuperRegsSet },
 
3951
    { "ECR6",   ECR6_AliasSet,  ECR6_SubRegsSet,        ECR6_SuperRegsSet },
 
3952
    { "ECR7",   ECR7_AliasSet,  ECR7_SubRegsSet,        ECR7_SuperRegsSet },
 
3953
    { "ECX",    ECX_AliasSet,   ECX_SubRegsSet, ECX_SuperRegsSet },
 
3954
    { "EDI",    EDI_AliasSet,   EDI_SubRegsSet, EDI_SuperRegsSet },
 
3955
    { "EDX",    EDX_AliasSet,   EDX_SubRegsSet, EDX_SuperRegsSet },
 
3956
    { "EFLAGS", EFLAGS_AliasSet,        EFLAGS_SubRegsSet,      EFLAGS_SuperRegsSet },
 
3957
    { "EIP",    EIP_AliasSet,   EIP_SubRegsSet, EIP_SuperRegsSet },
 
3958
    { "ES",     ES_AliasSet,    ES_SubRegsSet,  ES_SuperRegsSet },
 
3959
    { "ESI",    ESI_AliasSet,   ESI_SubRegsSet, ESI_SuperRegsSet },
 
3960
    { "ESP",    ESP_AliasSet,   ESP_SubRegsSet, ESP_SuperRegsSet },
 
3961
    { "FP0",    FP0_AliasSet,   FP0_SubRegsSet, FP0_SuperRegsSet },
 
3962
    { "FP1",    FP1_AliasSet,   FP1_SubRegsSet, FP1_SuperRegsSet },
 
3963
    { "FP2",    FP2_AliasSet,   FP2_SubRegsSet, FP2_SuperRegsSet },
 
3964
    { "FP3",    FP3_AliasSet,   FP3_SubRegsSet, FP3_SuperRegsSet },
 
3965
    { "FP4",    FP4_AliasSet,   FP4_SubRegsSet, FP4_SuperRegsSet },
 
3966
    { "FP5",    FP5_AliasSet,   FP5_SubRegsSet, FP5_SuperRegsSet },
 
3967
    { "FP6",    FP6_AliasSet,   FP6_SubRegsSet, FP6_SuperRegsSet },
 
3968
    { "FS",     FS_AliasSet,    FS_SubRegsSet,  FS_SuperRegsSet },
 
3969
    { "GS",     GS_AliasSet,    GS_SubRegsSet,  GS_SuperRegsSet },
 
3970
    { "IP",     IP_AliasSet,    IP_SubRegsSet,  IP_SuperRegsSet },
 
3971
    { "MM0",    MM0_AliasSet,   MM0_SubRegsSet, MM0_SuperRegsSet },
 
3972
    { "MM1",    MM1_AliasSet,   MM1_SubRegsSet, MM1_SuperRegsSet },
 
3973
    { "MM2",    MM2_AliasSet,   MM2_SubRegsSet, MM2_SuperRegsSet },
 
3974
    { "MM3",    MM3_AliasSet,   MM3_SubRegsSet, MM3_SuperRegsSet },
 
3975
    { "MM4",    MM4_AliasSet,   MM4_SubRegsSet, MM4_SuperRegsSet },
 
3976
    { "MM5",    MM5_AliasSet,   MM5_SubRegsSet, MM5_SuperRegsSet },
 
3977
    { "MM6",    MM6_AliasSet,   MM6_SubRegsSet, MM6_SuperRegsSet },
 
3978
    { "MM7",    MM7_AliasSet,   MM7_SubRegsSet, MM7_SuperRegsSet },
 
3979
    { "R10",    R10_AliasSet,   R10_SubRegsSet, R10_SuperRegsSet },
 
3980
    { "R10B",   R10B_AliasSet,  R10B_SubRegsSet,        R10B_SuperRegsSet },
 
3981
    { "R10D",   R10D_AliasSet,  R10D_SubRegsSet,        R10D_SuperRegsSet },
 
3982
    { "R10W",   R10W_AliasSet,  R10W_SubRegsSet,        R10W_SuperRegsSet },
 
3983
    { "R11",    R11_AliasSet,   R11_SubRegsSet, R11_SuperRegsSet },
 
3984
    { "R11B",   R11B_AliasSet,  R11B_SubRegsSet,        R11B_SuperRegsSet },
 
3985
    { "R11D",   R11D_AliasSet,  R11D_SubRegsSet,        R11D_SuperRegsSet },
 
3986
    { "R11W",   R11W_AliasSet,  R11W_SubRegsSet,        R11W_SuperRegsSet },
 
3987
    { "R12",    R12_AliasSet,   R12_SubRegsSet, R12_SuperRegsSet },
 
3988
    { "R12B",   R12B_AliasSet,  R12B_SubRegsSet,        R12B_SuperRegsSet },
 
3989
    { "R12D",   R12D_AliasSet,  R12D_SubRegsSet,        R12D_SuperRegsSet },
 
3990
    { "R12W",   R12W_AliasSet,  R12W_SubRegsSet,        R12W_SuperRegsSet },
 
3991
    { "R13",    R13_AliasSet,   R13_SubRegsSet, R13_SuperRegsSet },
 
3992
    { "R13B",   R13B_AliasSet,  R13B_SubRegsSet,        R13B_SuperRegsSet },
 
3993
    { "R13D",   R13D_AliasSet,  R13D_SubRegsSet,        R13D_SuperRegsSet },
 
3994
    { "R13W",   R13W_AliasSet,  R13W_SubRegsSet,        R13W_SuperRegsSet },
 
3995
    { "R14",    R14_AliasSet,   R14_SubRegsSet, R14_SuperRegsSet },
 
3996
    { "R14B",   R14B_AliasSet,  R14B_SubRegsSet,        R14B_SuperRegsSet },
 
3997
    { "R14D",   R14D_AliasSet,  R14D_SubRegsSet,        R14D_SuperRegsSet },
 
3998
    { "R14W",   R14W_AliasSet,  R14W_SubRegsSet,        R14W_SuperRegsSet },
 
3999
    { "R15",    R15_AliasSet,   R15_SubRegsSet, R15_SuperRegsSet },
 
4000
    { "R15B",   R15B_AliasSet,  R15B_SubRegsSet,        R15B_SuperRegsSet },
 
4001
    { "R15D",   R15D_AliasSet,  R15D_SubRegsSet,        R15D_SuperRegsSet },
 
4002
    { "R15W",   R15W_AliasSet,  R15W_SubRegsSet,        R15W_SuperRegsSet },
 
4003
    { "R8",     R8_AliasSet,    R8_SubRegsSet,  R8_SuperRegsSet },
 
4004
    { "R8B",    R8B_AliasSet,   R8B_SubRegsSet, R8B_SuperRegsSet },
 
4005
    { "R8D",    R8D_AliasSet,   R8D_SubRegsSet, R8D_SuperRegsSet },
 
4006
    { "R8W",    R8W_AliasSet,   R8W_SubRegsSet, R8W_SuperRegsSet },
 
4007
    { "R9",     R9_AliasSet,    R9_SubRegsSet,  R9_SuperRegsSet },
 
4008
    { "R9B",    R9B_AliasSet,   R9B_SubRegsSet, R9B_SuperRegsSet },
 
4009
    { "R9D",    R9D_AliasSet,   R9D_SubRegsSet, R9D_SuperRegsSet },
 
4010
    { "R9W",    R9W_AliasSet,   R9W_SubRegsSet, R9W_SuperRegsSet },
 
4011
    { "RAX",    RAX_AliasSet,   RAX_SubRegsSet, RAX_SuperRegsSet },
 
4012
    { "RBP",    RBP_AliasSet,   RBP_SubRegsSet, RBP_SuperRegsSet },
 
4013
    { "RBX",    RBX_AliasSet,   RBX_SubRegsSet, RBX_SuperRegsSet },
 
4014
    { "RCR0",   RCR0_AliasSet,  RCR0_SubRegsSet,        RCR0_SuperRegsSet },
 
4015
    { "RCR1",   RCR1_AliasSet,  RCR1_SubRegsSet,        RCR1_SuperRegsSet },
 
4016
    { "RCR2",   RCR2_AliasSet,  RCR2_SubRegsSet,        RCR2_SuperRegsSet },
 
4017
    { "RCR3",   RCR3_AliasSet,  RCR3_SubRegsSet,        RCR3_SuperRegsSet },
 
4018
    { "RCR4",   RCR4_AliasSet,  RCR4_SubRegsSet,        RCR4_SuperRegsSet },
 
4019
    { "RCR5",   RCR5_AliasSet,  RCR5_SubRegsSet,        RCR5_SuperRegsSet },
 
4020
    { "RCR6",   RCR6_AliasSet,  RCR6_SubRegsSet,        RCR6_SuperRegsSet },
 
4021
    { "RCR7",   RCR7_AliasSet,  RCR7_SubRegsSet,        RCR7_SuperRegsSet },
 
4022
    { "RCR8",   RCR8_AliasSet,  RCR8_SubRegsSet,        RCR8_SuperRegsSet },
 
4023
    { "RCX",    RCX_AliasSet,   RCX_SubRegsSet, RCX_SuperRegsSet },
 
4024
    { "RDI",    RDI_AliasSet,   RDI_SubRegsSet, RDI_SuperRegsSet },
 
4025
    { "RDX",    RDX_AliasSet,   RDX_SubRegsSet, RDX_SuperRegsSet },
 
4026
    { "RIP",    RIP_AliasSet,   RIP_SubRegsSet, RIP_SuperRegsSet },
 
4027
    { "RSI",    RSI_AliasSet,   RSI_SubRegsSet, RSI_SuperRegsSet },
 
4028
    { "RSP",    RSP_AliasSet,   RSP_SubRegsSet, RSP_SuperRegsSet },
 
4029
    { "SI",     SI_AliasSet,    SI_SubRegsSet,  SI_SuperRegsSet },
 
4030
    { "SIL",    SIL_AliasSet,   SIL_SubRegsSet, SIL_SuperRegsSet },
 
4031
    { "SP",     SP_AliasSet,    SP_SubRegsSet,  SP_SuperRegsSet },
 
4032
    { "SPL",    SPL_AliasSet,   SPL_SubRegsSet, SPL_SuperRegsSet },
 
4033
    { "SS",     SS_AliasSet,    SS_SubRegsSet,  SS_SuperRegsSet },
 
4034
    { "ST0",    ST0_AliasSet,   ST0_SubRegsSet, ST0_SuperRegsSet },
 
4035
    { "ST1",    ST1_AliasSet,   ST1_SubRegsSet, ST1_SuperRegsSet },
 
4036
    { "ST2",    ST2_AliasSet,   ST2_SubRegsSet, ST2_SuperRegsSet },
 
4037
    { "ST3",    ST3_AliasSet,   ST3_SubRegsSet, ST3_SuperRegsSet },
 
4038
    { "ST4",    ST4_AliasSet,   ST4_SubRegsSet, ST4_SuperRegsSet },
 
4039
    { "ST5",    ST5_AliasSet,   ST5_SubRegsSet, ST5_SuperRegsSet },
 
4040
    { "ST6",    ST6_AliasSet,   ST6_SubRegsSet, ST6_SuperRegsSet },
 
4041
    { "ST7",    ST7_AliasSet,   ST7_SubRegsSet, ST7_SuperRegsSet },
 
4042
    { "XMM0",   XMM0_AliasSet,  XMM0_SubRegsSet,        XMM0_SuperRegsSet },
 
4043
    { "XMM1",   XMM1_AliasSet,  XMM1_SubRegsSet,        XMM1_SuperRegsSet },
 
4044
    { "XMM10",  XMM10_AliasSet, XMM10_SubRegsSet,       XMM10_SuperRegsSet },
 
4045
    { "XMM11",  XMM11_AliasSet, XMM11_SubRegsSet,       XMM11_SuperRegsSet },
 
4046
    { "XMM12",  XMM12_AliasSet, XMM12_SubRegsSet,       XMM12_SuperRegsSet },
 
4047
    { "XMM13",  XMM13_AliasSet, XMM13_SubRegsSet,       XMM13_SuperRegsSet },
 
4048
    { "XMM14",  XMM14_AliasSet, XMM14_SubRegsSet,       XMM14_SuperRegsSet },
 
4049
    { "XMM15",  XMM15_AliasSet, XMM15_SubRegsSet,       XMM15_SuperRegsSet },
 
4050
    { "XMM2",   XMM2_AliasSet,  XMM2_SubRegsSet,        XMM2_SuperRegsSet },
 
4051
    { "XMM3",   XMM3_AliasSet,  XMM3_SubRegsSet,        XMM3_SuperRegsSet },
 
4052
    { "XMM4",   XMM4_AliasSet,  XMM4_SubRegsSet,        XMM4_SuperRegsSet },
 
4053
    { "XMM5",   XMM5_AliasSet,  XMM5_SubRegsSet,        XMM5_SuperRegsSet },
 
4054
    { "XMM6",   XMM6_AliasSet,  XMM6_SubRegsSet,        XMM6_SuperRegsSet },
 
4055
    { "XMM7",   XMM7_AliasSet,  XMM7_SubRegsSet,        XMM7_SuperRegsSet },
 
4056
    { "XMM8",   XMM8_AliasSet,  XMM8_SubRegsSet,        XMM8_SuperRegsSet },
 
4057
    { "XMM9",   XMM9_AliasSet,  XMM9_SubRegsSet,        XMM9_SuperRegsSet },
 
4058
    { "YMM0",   YMM0_AliasSet,  YMM0_SubRegsSet,        YMM0_SuperRegsSet },
 
4059
    { "YMM1",   YMM1_AliasSet,  YMM1_SubRegsSet,        YMM1_SuperRegsSet },
 
4060
    { "YMM10",  YMM10_AliasSet, YMM10_SubRegsSet,       YMM10_SuperRegsSet },
 
4061
    { "YMM11",  YMM11_AliasSet, YMM11_SubRegsSet,       YMM11_SuperRegsSet },
 
4062
    { "YMM12",  YMM12_AliasSet, YMM12_SubRegsSet,       YMM12_SuperRegsSet },
 
4063
    { "YMM13",  YMM13_AliasSet, YMM13_SubRegsSet,       YMM13_SuperRegsSet },
 
4064
    { "YMM14",  YMM14_AliasSet, YMM14_SubRegsSet,       YMM14_SuperRegsSet },
 
4065
    { "YMM15",  YMM15_AliasSet, YMM15_SubRegsSet,       YMM15_SuperRegsSet },
 
4066
    { "YMM2",   YMM2_AliasSet,  YMM2_SubRegsSet,        YMM2_SuperRegsSet },
 
4067
    { "YMM3",   YMM3_AliasSet,  YMM3_SubRegsSet,        YMM3_SuperRegsSet },
 
4068
    { "YMM4",   YMM4_AliasSet,  YMM4_SubRegsSet,        YMM4_SuperRegsSet },
 
4069
    { "YMM5",   YMM5_AliasSet,  YMM5_SubRegsSet,        YMM5_SuperRegsSet },
 
4070
    { "YMM6",   YMM6_AliasSet,  YMM6_SubRegsSet,        YMM6_SuperRegsSet },
 
4071
    { "YMM7",   YMM7_AliasSet,  YMM7_SubRegsSet,        YMM7_SuperRegsSet },
 
4072
    { "YMM8",   YMM8_AliasSet,  YMM8_SubRegsSet,        YMM8_SuperRegsSet },
 
4073
    { "YMM9",   YMM9_AliasSet,  YMM9_SubRegsSet,        YMM9_SuperRegsSet },
 
4074
  };
 
4075
}
 
4076
 
 
4077
unsigned X86GenRegisterInfo::getSubReg(unsigned RegNo, unsigned Index) const {
 
4078
  switch (RegNo) {
 
4079
  default:
 
4080
    return 0;
 
4081
  case X86::AX:
 
4082
    switch (Index) {
 
4083
    default: return 0;
 
4084
    case 1: return X86::AL;
 
4085
    case 2: return X86::AH;
 
4086
    };
 
4087
    break;
 
4088
  case X86::DX:
 
4089
    switch (Index) {
 
4090
    default: return 0;
 
4091
    case 1: return X86::DL;
 
4092
    case 2: return X86::DH;
 
4093
    };
 
4094
    break;
 
4095
  case X86::CX:
 
4096
    switch (Index) {
 
4097
    default: return 0;
 
4098
    case 1: return X86::CL;
 
4099
    case 2: return X86::CH;
 
4100
    };
 
4101
    break;
 
4102
  case X86::BX:
 
4103
    switch (Index) {
 
4104
    default: return 0;
 
4105
    case 1: return X86::BL;
 
4106
    case 2: return X86::BH;
 
4107
    };
 
4108
    break;
 
4109
  case X86::SI:
 
4110
    switch (Index) {
 
4111
    default: return 0;
 
4112
    case 1: return X86::SIL;
 
4113
    };
 
4114
    break;
 
4115
  case X86::DI:
 
4116
    switch (Index) {
 
4117
    default: return 0;
 
4118
    case 1: return X86::DIL;
 
4119
    };
 
4120
    break;
 
4121
  case X86::BP:
 
4122
    switch (Index) {
 
4123
    default: return 0;
 
4124
    case 1: return X86::BPL;
 
4125
    };
 
4126
    break;
 
4127
  case X86::SP:
 
4128
    switch (Index) {
 
4129
    default: return 0;
 
4130
    case 1: return X86::SPL;
 
4131
    };
 
4132
    break;
 
4133
  case X86::R8W:
 
4134
    switch (Index) {
 
4135
    default: return 0;
 
4136
    case 1: return X86::R8B;
 
4137
    };
 
4138
    break;
 
4139
  case X86::R9W:
 
4140
    switch (Index) {
 
4141
    default: return 0;
 
4142
    case 1: return X86::R9B;
 
4143
    };
 
4144
    break;
 
4145
  case X86::R10W:
 
4146
    switch (Index) {
 
4147
    default: return 0;
 
4148
    case 1: return X86::R10B;
 
4149
    };
 
4150
    break;
 
4151
  case X86::R11W:
 
4152
    switch (Index) {
 
4153
    default: return 0;
 
4154
    case 1: return X86::R11B;
 
4155
    };
 
4156
    break;
 
4157
  case X86::R12W:
 
4158
    switch (Index) {
 
4159
    default: return 0;
 
4160
    case 1: return X86::R12B;
 
4161
    };
 
4162
    break;
 
4163
  case X86::R13W:
 
4164
    switch (Index) {
 
4165
    default: return 0;
 
4166
    case 1: return X86::R13B;
 
4167
    };
 
4168
    break;
 
4169
  case X86::R14W:
 
4170
    switch (Index) {
 
4171
    default: return 0;
 
4172
    case 1: return X86::R14B;
 
4173
    };
 
4174
    break;
 
4175
  case X86::R15W:
 
4176
    switch (Index) {
 
4177
    default: return 0;
 
4178
    case 1: return X86::R15B;
 
4179
    };
 
4180
    break;
 
4181
  case X86::EAX:
 
4182
    switch (Index) {
 
4183
    default: return 0;
 
4184
    case 1: return X86::AL;
 
4185
    case 2: return X86::AH;
 
4186
    case 3: return X86::AX;
 
4187
    };
 
4188
    break;
 
4189
  case X86::EDX:
 
4190
    switch (Index) {
 
4191
    default: return 0;
 
4192
    case 1: return X86::DL;
 
4193
    case 2: return X86::DH;
 
4194
    case 3: return X86::DX;
 
4195
    };
 
4196
    break;
 
4197
  case X86::ECX:
 
4198
    switch (Index) {
 
4199
    default: return 0;
 
4200
    case 1: return X86::CL;
 
4201
    case 2: return X86::CH;
 
4202
    case 3: return X86::CX;
 
4203
    };
 
4204
    break;
 
4205
  case X86::EBX:
 
4206
    switch (Index) {
 
4207
    default: return 0;
 
4208
    case 1: return X86::BL;
 
4209
    case 2: return X86::BH;
 
4210
    case 3: return X86::BX;
 
4211
    };
 
4212
    break;
 
4213
  case X86::ESI:
 
4214
    switch (Index) {
 
4215
    default: return 0;
 
4216
    case 1: return X86::SIL;
 
4217
    case 3: return X86::SI;
 
4218
    };
 
4219
    break;
 
4220
  case X86::EDI:
 
4221
    switch (Index) {
 
4222
    default: return 0;
 
4223
    case 1: return X86::DIL;
 
4224
    case 3: return X86::DI;
 
4225
    };
 
4226
    break;
 
4227
  case X86::EBP:
 
4228
    switch (Index) {
 
4229
    default: return 0;
 
4230
    case 1: return X86::BPL;
 
4231
    case 3: return X86::BP;
 
4232
    };
 
4233
    break;
 
4234
  case X86::ESP:
 
4235
    switch (Index) {
 
4236
    default: return 0;
 
4237
    case 1: return X86::SPL;
 
4238
    case 3: return X86::SP;
 
4239
    };
 
4240
    break;
 
4241
  case X86::R8D:
 
4242
    switch (Index) {
 
4243
    default: return 0;
 
4244
    case 1: return X86::R8B;
 
4245
    case 3: return X86::R8W;
 
4246
    };
 
4247
    break;
 
4248
  case X86::R9D:
 
4249
    switch (Index) {
 
4250
    default: return 0;
 
4251
    case 1: return X86::R9B;
 
4252
    case 3: return X86::R9W;
 
4253
    };
 
4254
    break;
 
4255
  case X86::R10D:
 
4256
    switch (Index) {
 
4257
    default: return 0;
 
4258
    case 1: return X86::R10B;
 
4259
    case 3: return X86::R10W;
 
4260
    };
 
4261
    break;
 
4262
  case X86::R11D:
 
4263
    switch (Index) {
 
4264
    default: return 0;
 
4265
    case 1: return X86::R11B;
 
4266
    case 3: return X86::R11W;
 
4267
    };
 
4268
    break;
 
4269
  case X86::R12D:
 
4270
    switch (Index) {
 
4271
    default: return 0;
 
4272
    case 1: return X86::R12B;
 
4273
    case 3: return X86::R12W;
 
4274
    };
 
4275
    break;
 
4276
  case X86::R13D:
 
4277
    switch (Index) {
 
4278
    default: return 0;
 
4279
    case 1: return X86::R13B;
 
4280
    case 3: return X86::R13W;
 
4281
    };
 
4282
    break;
 
4283
  case X86::R14D:
 
4284
    switch (Index) {
 
4285
    default: return 0;
 
4286
    case 1: return X86::R14B;
 
4287
    case 3: return X86::R14W;
 
4288
    };
 
4289
    break;
 
4290
  case X86::R15D:
 
4291
    switch (Index) {
 
4292
    default: return 0;
 
4293
    case 1: return X86::R15B;
 
4294
    case 3: return X86::R15W;
 
4295
    };
 
4296
    break;
 
4297
  case X86::RAX:
 
4298
    switch (Index) {
 
4299
    default: return 0;
 
4300
    case 1: return X86::AL;
 
4301
    case 2: return X86::AH;
 
4302
    case 3: return X86::AX;
 
4303
    case 4: return X86::EAX;
 
4304
    };
 
4305
    break;
 
4306
  case X86::RDX:
 
4307
    switch (Index) {
 
4308
    default: return 0;
 
4309
    case 1: return X86::DL;
 
4310
    case 2: return X86::DH;
 
4311
    case 3: return X86::DX;
 
4312
    case 4: return X86::EDX;
 
4313
    };
 
4314
    break;
 
4315
  case X86::RCX:
 
4316
    switch (Index) {
 
4317
    default: return 0;
 
4318
    case 1: return X86::CL;
 
4319
    case 2: return X86::CH;
 
4320
    case 3: return X86::CX;
 
4321
    case 4: return X86::ECX;
 
4322
    };
 
4323
    break;
 
4324
  case X86::RBX:
 
4325
    switch (Index) {
 
4326
    default: return 0;
 
4327
    case 1: return X86::BL;
 
4328
    case 2: return X86::BH;
 
4329
    case 3: return X86::BX;
 
4330
    case 4: return X86::EBX;
 
4331
    };
 
4332
    break;
 
4333
  case X86::RSI:
 
4334
    switch (Index) {
 
4335
    default: return 0;
 
4336
    case 1: return X86::SIL;
 
4337
    case 3: return X86::SI;
 
4338
    case 4: return X86::ESI;
 
4339
    };
 
4340
    break;
 
4341
  case X86::RDI:
 
4342
    switch (Index) {
 
4343
    default: return 0;
 
4344
    case 1: return X86::DIL;
 
4345
    case 3: return X86::DI;
 
4346
    case 4: return X86::EDI;
 
4347
    };
 
4348
    break;
 
4349
  case X86::RBP:
 
4350
    switch (Index) {
 
4351
    default: return 0;
 
4352
    case 1: return X86::BPL;
 
4353
    case 3: return X86::BP;
 
4354
    case 4: return X86::EBP;
 
4355
    };
 
4356
    break;
 
4357
  case X86::RSP:
 
4358
    switch (Index) {
 
4359
    default: return 0;
 
4360
    case 1: return X86::SPL;
 
4361
    case 3: return X86::SP;
 
4362
    case 4: return X86::ESP;
 
4363
    };
 
4364
    break;
 
4365
  case X86::R8:
 
4366
    switch (Index) {
 
4367
    default: return 0;
 
4368
    case 1: return X86::R8B;
 
4369
    case 3: return X86::R8W;
 
4370
    case 4: return X86::R8D;
 
4371
    };
 
4372
    break;
 
4373
  case X86::R9:
 
4374
    switch (Index) {
 
4375
    default: return 0;
 
4376
    case 1: return X86::R9B;
 
4377
    case 3: return X86::R9W;
 
4378
    case 4: return X86::R9D;
 
4379
    };
 
4380
    break;
 
4381
  case X86::R10:
 
4382
    switch (Index) {
 
4383
    default: return 0;
 
4384
    case 1: return X86::R10B;
 
4385
    case 3: return X86::R10W;
 
4386
    case 4: return X86::R10D;
 
4387
    };
 
4388
    break;
 
4389
  case X86::R11:
 
4390
    switch (Index) {
 
4391
    default: return 0;
 
4392
    case 1: return X86::R11B;
 
4393
    case 3: return X86::R11W;
 
4394
    case 4: return X86::R11D;
 
4395
    };
 
4396
    break;
 
4397
  case X86::R12:
 
4398
    switch (Index) {
 
4399
    default: return 0;
 
4400
    case 1: return X86::R12B;
 
4401
    case 3: return X86::R12W;
 
4402
    case 4: return X86::R12D;
 
4403
    };
 
4404
    break;
 
4405
  case X86::R13:
 
4406
    switch (Index) {
 
4407
    default: return 0;
 
4408
    case 1: return X86::R13B;
 
4409
    case 3: return X86::R13W;
 
4410
    case 4: return X86::R13D;
 
4411
    };
 
4412
    break;
 
4413
  case X86::R14:
 
4414
    switch (Index) {
 
4415
    default: return 0;
 
4416
    case 1: return X86::R14B;
 
4417
    case 3: return X86::R14W;
 
4418
    case 4: return X86::R14D;
 
4419
    };
 
4420
    break;
 
4421
  case X86::R15:
 
4422
    switch (Index) {
 
4423
    default: return 0;
 
4424
    case 1: return X86::R15B;
 
4425
    case 3: return X86::R15W;
 
4426
    case 4: return X86::R15D;
 
4427
    };
 
4428
    break;
 
4429
  case X86::XMM0:
 
4430
    switch (Index) {
 
4431
    default: return 0;
 
4432
    case 1: return X86::XMM0;
 
4433
    case 2: return X86::XMM0;
 
4434
    };
 
4435
    break;
 
4436
  case X86::XMM1:
 
4437
    switch (Index) {
 
4438
    default: return 0;
 
4439
    case 1: return X86::XMM1;
 
4440
    case 2: return X86::XMM1;
 
4441
    };
 
4442
    break;
 
4443
  case X86::XMM2:
 
4444
    switch (Index) {
 
4445
    default: return 0;
 
4446
    case 1: return X86::XMM2;
 
4447
    case 2: return X86::XMM2;
 
4448
    };
 
4449
    break;
 
4450
  case X86::XMM3:
 
4451
    switch (Index) {
 
4452
    default: return 0;
 
4453
    case 1: return X86::XMM3;
 
4454
    case 2: return X86::XMM3;
 
4455
    };
 
4456
    break;
 
4457
  case X86::XMM4:
 
4458
    switch (Index) {
 
4459
    default: return 0;
 
4460
    case 1: return X86::XMM4;
 
4461
    case 2: return X86::XMM4;
 
4462
    };
 
4463
    break;
 
4464
  case X86::XMM5:
 
4465
    switch (Index) {
 
4466
    default: return 0;
 
4467
    case 1: return X86::XMM5;
 
4468
    case 2: return X86::XMM5;
 
4469
    };
 
4470
    break;
 
4471
  case X86::XMM6:
 
4472
    switch (Index) {
 
4473
    default: return 0;
 
4474
    case 1: return X86::XMM6;
 
4475
    case 2: return X86::XMM6;
 
4476
    };
 
4477
    break;
 
4478
  case X86::XMM7:
 
4479
    switch (Index) {
 
4480
    default: return 0;
 
4481
    case 1: return X86::XMM7;
 
4482
    case 2: return X86::XMM7;
 
4483
    };
 
4484
    break;
 
4485
  case X86::XMM8:
 
4486
    switch (Index) {
 
4487
    default: return 0;
 
4488
    case 1: return X86::XMM8;
 
4489
    case 2: return X86::XMM8;
 
4490
    };
 
4491
    break;
 
4492
  case X86::XMM9:
 
4493
    switch (Index) {
 
4494
    default: return 0;
 
4495
    case 1: return X86::XMM9;
 
4496
    case 2: return X86::XMM9;
 
4497
    };
 
4498
    break;
 
4499
  case X86::XMM10:
 
4500
    switch (Index) {
 
4501
    default: return 0;
 
4502
    case 1: return X86::XMM10;
 
4503
    case 2: return X86::XMM10;
 
4504
    };
 
4505
    break;
 
4506
  case X86::XMM11:
 
4507
    switch (Index) {
 
4508
    default: return 0;
 
4509
    case 1: return X86::XMM11;
 
4510
    case 2: return X86::XMM11;
 
4511
    };
 
4512
    break;
 
4513
  case X86::XMM12:
 
4514
    switch (Index) {
 
4515
    default: return 0;
 
4516
    case 1: return X86::XMM12;
 
4517
    case 2: return X86::XMM12;
 
4518
    };
 
4519
    break;
 
4520
  case X86::XMM13:
 
4521
    switch (Index) {
 
4522
    default: return 0;
 
4523
    case 1: return X86::XMM13;
 
4524
    case 2: return X86::XMM13;
 
4525
    };
 
4526
    break;
 
4527
  case X86::XMM14:
 
4528
    switch (Index) {
 
4529
    default: return 0;
 
4530
    case 1: return X86::XMM14;
 
4531
    case 2: return X86::XMM14;
 
4532
    };
 
4533
    break;
 
4534
  case X86::XMM15:
 
4535
    switch (Index) {
 
4536
    default: return 0;
 
4537
    case 1: return X86::XMM15;
 
4538
    case 2: return X86::XMM15;
 
4539
    };
 
4540
    break;
 
4541
  case X86::YMM0:
 
4542
    switch (Index) {
 
4543
    default: return 0;
 
4544
    case 1: return X86::XMM0;
 
4545
    case 2: return X86::XMM0;
 
4546
    case 3: return X86::XMM0;
 
4547
    };
 
4548
    break;
 
4549
  case X86::YMM1:
 
4550
    switch (Index) {
 
4551
    default: return 0;
 
4552
    case 1: return X86::XMM1;
 
4553
    case 2: return X86::XMM1;
 
4554
    case 3: return X86::XMM1;
 
4555
    };
 
4556
    break;
 
4557
  case X86::YMM2:
 
4558
    switch (Index) {
 
4559
    default: return 0;
 
4560
    case 1: return X86::XMM2;
 
4561
    case 2: return X86::XMM2;
 
4562
    case 3: return X86::XMM2;
 
4563
    };
 
4564
    break;
 
4565
  case X86::YMM3:
 
4566
    switch (Index) {
 
4567
    default: return 0;
 
4568
    case 1: return X86::XMM3;
 
4569
    case 2: return X86::XMM3;
 
4570
    case 3: return X86::XMM3;
 
4571
    };
 
4572
    break;
 
4573
  case X86::YMM4:
 
4574
    switch (Index) {
 
4575
    default: return 0;
 
4576
    case 1: return X86::XMM4;
 
4577
    case 2: return X86::XMM4;
 
4578
    case 3: return X86::XMM4;
 
4579
    };
 
4580
    break;
 
4581
  case X86::YMM5:
 
4582
    switch (Index) {
 
4583
    default: return 0;
 
4584
    case 1: return X86::XMM5;
 
4585
    case 2: return X86::XMM5;
 
4586
    case 3: return X86::XMM5;
 
4587
    };
 
4588
    break;
 
4589
  case X86::YMM6:
 
4590
    switch (Index) {
 
4591
    default: return 0;
 
4592
    case 1: return X86::XMM6;
 
4593
    case 2: return X86::XMM6;
 
4594
    case 3: return X86::XMM6;
 
4595
    };
 
4596
    break;
 
4597
  case X86::YMM7:
 
4598
    switch (Index) {
 
4599
    default: return 0;
 
4600
    case 1: return X86::XMM7;
 
4601
    case 2: return X86::XMM7;
 
4602
    case 3: return X86::XMM7;
 
4603
    };
 
4604
    break;
 
4605
  case X86::YMM8:
 
4606
    switch (Index) {
 
4607
    default: return 0;
 
4608
    case 1: return X86::XMM8;
 
4609
    case 2: return X86::XMM8;
 
4610
    case 3: return X86::XMM8;
 
4611
    };
 
4612
    break;
 
4613
  case X86::YMM9:
 
4614
    switch (Index) {
 
4615
    default: return 0;
 
4616
    case 1: return X86::XMM9;
 
4617
    case 2: return X86::XMM9;
 
4618
    case 3: return X86::XMM9;
 
4619
    };
 
4620
    break;
 
4621
  case X86::YMM10:
 
4622
    switch (Index) {
 
4623
    default: return 0;
 
4624
    case 1: return X86::XMM10;
 
4625
    case 2: return X86::XMM10;
 
4626
    case 3: return X86::XMM10;
 
4627
    };
 
4628
    break;
 
4629
  case X86::YMM11:
 
4630
    switch (Index) {
 
4631
    default: return 0;
 
4632
    case 1: return X86::XMM11;
 
4633
    case 2: return X86::XMM11;
 
4634
    case 3: return X86::XMM11;
 
4635
    };
 
4636
    break;
 
4637
  case X86::YMM12:
 
4638
    switch (Index) {
 
4639
    default: return 0;
 
4640
    case 1: return X86::XMM12;
 
4641
    case 2: return X86::XMM12;
 
4642
    case 3: return X86::XMM12;
 
4643
    };
 
4644
    break;
 
4645
  case X86::YMM13:
 
4646
    switch (Index) {
 
4647
    default: return 0;
 
4648
    case 1: return X86::XMM13;
 
4649
    case 2: return X86::XMM13;
 
4650
    case 3: return X86::XMM13;
 
4651
    };
 
4652
    break;
 
4653
  case X86::YMM14:
 
4654
    switch (Index) {
 
4655
    default: return 0;
 
4656
    case 1: return X86::XMM14;
 
4657
    case 2: return X86::XMM14;
 
4658
    case 3: return X86::XMM14;
 
4659
    };
 
4660
    break;
 
4661
  case X86::YMM15:
 
4662
    switch (Index) {
 
4663
    default: return 0;
 
4664
    case 1: return X86::XMM15;
 
4665
    case 2: return X86::XMM15;
 
4666
    case 3: return X86::XMM15;
 
4667
    };
 
4668
    break;
 
4669
  };
 
4670
  return 0;
 
4671
}
 
4672
 
 
4673
unsigned X86GenRegisterInfo::getSubRegIndex(unsigned RegNo, unsigned SubRegNo) const {
 
4674
  switch (RegNo) {
 
4675
  default:
 
4676
    return 0;
 
4677
  case X86::AX:
 
4678
    if (SubRegNo == X86::AL)  return 1;
 
4679
    if (SubRegNo == X86::AH)  return 2;
 
4680
    return 0;
 
4681
  case X86::DX:
 
4682
    if (SubRegNo == X86::DL)  return 1;
 
4683
    if (SubRegNo == X86::DH)  return 2;
 
4684
    return 0;
 
4685
  case X86::CX:
 
4686
    if (SubRegNo == X86::CL)  return 1;
 
4687
    if (SubRegNo == X86::CH)  return 2;
 
4688
    return 0;
 
4689
  case X86::BX:
 
4690
    if (SubRegNo == X86::BL)  return 1;
 
4691
    if (SubRegNo == X86::BH)  return 2;
 
4692
    return 0;
 
4693
  case X86::SI:
 
4694
    if (SubRegNo == X86::SIL)  return 1;
 
4695
    return 0;
 
4696
  case X86::DI:
 
4697
    if (SubRegNo == X86::DIL)  return 1;
 
4698
    return 0;
 
4699
  case X86::BP:
 
4700
    if (SubRegNo == X86::BPL)  return 1;
 
4701
    return 0;
 
4702
  case X86::SP:
 
4703
    if (SubRegNo == X86::SPL)  return 1;
 
4704
    return 0;
 
4705
  case X86::R8W:
 
4706
    if (SubRegNo == X86::R8B)  return 1;
 
4707
    return 0;
 
4708
  case X86::R9W:
 
4709
    if (SubRegNo == X86::R9B)  return 1;
 
4710
    return 0;
 
4711
  case X86::R10W:
 
4712
    if (SubRegNo == X86::R10B)  return 1;
 
4713
    return 0;
 
4714
  case X86::R11W:
 
4715
    if (SubRegNo == X86::R11B)  return 1;
 
4716
    return 0;
 
4717
  case X86::R12W:
 
4718
    if (SubRegNo == X86::R12B)  return 1;
 
4719
    return 0;
 
4720
  case X86::R13W:
 
4721
    if (SubRegNo == X86::R13B)  return 1;
 
4722
    return 0;
 
4723
  case X86::R14W:
 
4724
    if (SubRegNo == X86::R14B)  return 1;
 
4725
    return 0;
 
4726
  case X86::R15W:
 
4727
    if (SubRegNo == X86::R15B)  return 1;
 
4728
    return 0;
 
4729
  case X86::EAX:
 
4730
    if (SubRegNo == X86::AL)  return 1;
 
4731
    if (SubRegNo == X86::AH)  return 2;
 
4732
    if (SubRegNo == X86::AX)  return 3;
 
4733
    return 0;
 
4734
  case X86::EDX:
 
4735
    if (SubRegNo == X86::DL)  return 1;
 
4736
    if (SubRegNo == X86::DH)  return 2;
 
4737
    if (SubRegNo == X86::DX)  return 3;
 
4738
    return 0;
 
4739
  case X86::ECX:
 
4740
    if (SubRegNo == X86::CL)  return 1;
 
4741
    if (SubRegNo == X86::CH)  return 2;
 
4742
    if (SubRegNo == X86::CX)  return 3;
 
4743
    return 0;
 
4744
  case X86::EBX:
 
4745
    if (SubRegNo == X86::BL)  return 1;
 
4746
    if (SubRegNo == X86::BH)  return 2;
 
4747
    if (SubRegNo == X86::BX)  return 3;
 
4748
    return 0;
 
4749
  case X86::ESI:
 
4750
    if (SubRegNo == X86::SIL)  return 1;
 
4751
    if (SubRegNo == X86::SI)  return 3;
 
4752
    return 0;
 
4753
  case X86::EDI:
 
4754
    if (SubRegNo == X86::DIL)  return 1;
 
4755
    if (SubRegNo == X86::DI)  return 3;
 
4756
    return 0;
 
4757
  case X86::EBP:
 
4758
    if (SubRegNo == X86::BPL)  return 1;
 
4759
    if (SubRegNo == X86::BP)  return 3;
 
4760
    return 0;
 
4761
  case X86::ESP:
 
4762
    if (SubRegNo == X86::SPL)  return 1;
 
4763
    if (SubRegNo == X86::SP)  return 3;
 
4764
    return 0;
 
4765
  case X86::R8D:
 
4766
    if (SubRegNo == X86::R8B)  return 1;
 
4767
    if (SubRegNo == X86::R8W)  return 3;
 
4768
    return 0;
 
4769
  case X86::R9D:
 
4770
    if (SubRegNo == X86::R9B)  return 1;
 
4771
    if (SubRegNo == X86::R9W)  return 3;
 
4772
    return 0;
 
4773
  case X86::R10D:
 
4774
    if (SubRegNo == X86::R10B)  return 1;
 
4775
    if (SubRegNo == X86::R10W)  return 3;
 
4776
    return 0;
 
4777
  case X86::R11D:
 
4778
    if (SubRegNo == X86::R11B)  return 1;
 
4779
    if (SubRegNo == X86::R11W)  return 3;
 
4780
    return 0;
 
4781
  case X86::R12D:
 
4782
    if (SubRegNo == X86::R12B)  return 1;
 
4783
    if (SubRegNo == X86::R12W)  return 3;
 
4784
    return 0;
 
4785
  case X86::R13D:
 
4786
    if (SubRegNo == X86::R13B)  return 1;
 
4787
    if (SubRegNo == X86::R13W)  return 3;
 
4788
    return 0;
 
4789
  case X86::R14D:
 
4790
    if (SubRegNo == X86::R14B)  return 1;
 
4791
    if (SubRegNo == X86::R14W)  return 3;
 
4792
    return 0;
 
4793
  case X86::R15D:
 
4794
    if (SubRegNo == X86::R15B)  return 1;
 
4795
    if (SubRegNo == X86::R15W)  return 3;
 
4796
    return 0;
 
4797
  case X86::RAX:
 
4798
    if (SubRegNo == X86::AL)  return 1;
 
4799
    if (SubRegNo == X86::AH)  return 2;
 
4800
    if (SubRegNo == X86::AX)  return 3;
 
4801
    if (SubRegNo == X86::EAX)  return 4;
 
4802
    return 0;
 
4803
  case X86::RDX:
 
4804
    if (SubRegNo == X86::DL)  return 1;
 
4805
    if (SubRegNo == X86::DH)  return 2;
 
4806
    if (SubRegNo == X86::DX)  return 3;
 
4807
    if (SubRegNo == X86::EDX)  return 4;
 
4808
    return 0;
 
4809
  case X86::RCX:
 
4810
    if (SubRegNo == X86::CL)  return 1;
 
4811
    if (SubRegNo == X86::CH)  return 2;
 
4812
    if (SubRegNo == X86::CX)  return 3;
 
4813
    if (SubRegNo == X86::ECX)  return 4;
 
4814
    return 0;
 
4815
  case X86::RBX:
 
4816
    if (SubRegNo == X86::BL)  return 1;
 
4817
    if (SubRegNo == X86::BH)  return 2;
 
4818
    if (SubRegNo == X86::BX)  return 3;
 
4819
    if (SubRegNo == X86::EBX)  return 4;
 
4820
    return 0;
 
4821
  case X86::RSI:
 
4822
    if (SubRegNo == X86::SIL)  return 1;
 
4823
    if (SubRegNo == X86::SI)  return 3;
 
4824
    if (SubRegNo == X86::ESI)  return 4;
 
4825
    return 0;
 
4826
  case X86::RDI:
 
4827
    if (SubRegNo == X86::DIL)  return 1;
 
4828
    if (SubRegNo == X86::DI)  return 3;
 
4829
    if (SubRegNo == X86::EDI)  return 4;
 
4830
    return 0;
 
4831
  case X86::RBP:
 
4832
    if (SubRegNo == X86::BPL)  return 1;
 
4833
    if (SubRegNo == X86::BP)  return 3;
 
4834
    if (SubRegNo == X86::EBP)  return 4;
 
4835
    return 0;
 
4836
  case X86::RSP:
 
4837
    if (SubRegNo == X86::SPL)  return 1;
 
4838
    if (SubRegNo == X86::SP)  return 3;
 
4839
    if (SubRegNo == X86::ESP)  return 4;
 
4840
    return 0;
 
4841
  case X86::R8:
 
4842
    if (SubRegNo == X86::R8B)  return 1;
 
4843
    if (SubRegNo == X86::R8W)  return 3;
 
4844
    if (SubRegNo == X86::R8D)  return 4;
 
4845
    return 0;
 
4846
  case X86::R9:
 
4847
    if (SubRegNo == X86::R9B)  return 1;
 
4848
    if (SubRegNo == X86::R9W)  return 3;
 
4849
    if (SubRegNo == X86::R9D)  return 4;
 
4850
    return 0;
 
4851
  case X86::R10:
 
4852
    if (SubRegNo == X86::R10B)  return 1;
 
4853
    if (SubRegNo == X86::R10W)  return 3;
 
4854
    if (SubRegNo == X86::R10D)  return 4;
 
4855
    return 0;
 
4856
  case X86::R11:
 
4857
    if (SubRegNo == X86::R11B)  return 1;
 
4858
    if (SubRegNo == X86::R11W)  return 3;
 
4859
    if (SubRegNo == X86::R11D)  return 4;
 
4860
    return 0;
 
4861
  case X86::R12:
 
4862
    if (SubRegNo == X86::R12B)  return 1;
 
4863
    if (SubRegNo == X86::R12W)  return 3;
 
4864
    if (SubRegNo == X86::R12D)  return 4;
 
4865
    return 0;
 
4866
  case X86::R13:
 
4867
    if (SubRegNo == X86::R13B)  return 1;
 
4868
    if (SubRegNo == X86::R13W)  return 3;
 
4869
    if (SubRegNo == X86::R13D)  return 4;
 
4870
    return 0;
 
4871
  case X86::R14:
 
4872
    if (SubRegNo == X86::R14B)  return 1;
 
4873
    if (SubRegNo == X86::R14W)  return 3;
 
4874
    if (SubRegNo == X86::R14D)  return 4;
 
4875
    return 0;
 
4876
  case X86::R15:
 
4877
    if (SubRegNo == X86::R15B)  return 1;
 
4878
    if (SubRegNo == X86::R15W)  return 3;
 
4879
    if (SubRegNo == X86::R15D)  return 4;
 
4880
    return 0;
 
4881
  case X86::XMM0:
 
4882
    if (SubRegNo == X86::XMM0)  return 1;
 
4883
    if (SubRegNo == X86::XMM0)  return 2;
 
4884
    return 0;
 
4885
  case X86::XMM1:
 
4886
    if (SubRegNo == X86::XMM1)  return 1;
 
4887
    if (SubRegNo == X86::XMM1)  return 2;
 
4888
    return 0;
 
4889
  case X86::XMM2:
 
4890
    if (SubRegNo == X86::XMM2)  return 1;
 
4891
    if (SubRegNo == X86::XMM2)  return 2;
 
4892
    return 0;
 
4893
  case X86::XMM3:
 
4894
    if (SubRegNo == X86::XMM3)  return 1;
 
4895
    if (SubRegNo == X86::XMM3)  return 2;
 
4896
    return 0;
 
4897
  case X86::XMM4:
 
4898
    if (SubRegNo == X86::XMM4)  return 1;
 
4899
    if (SubRegNo == X86::XMM4)  return 2;
 
4900
    return 0;
 
4901
  case X86::XMM5:
 
4902
    if (SubRegNo == X86::XMM5)  return 1;
 
4903
    if (SubRegNo == X86::XMM5)  return 2;
 
4904
    return 0;
 
4905
  case X86::XMM6:
 
4906
    if (SubRegNo == X86::XMM6)  return 1;
 
4907
    if (SubRegNo == X86::XMM6)  return 2;
 
4908
    return 0;
 
4909
  case X86::XMM7:
 
4910
    if (SubRegNo == X86::XMM7)  return 1;
 
4911
    if (SubRegNo == X86::XMM7)  return 2;
 
4912
    return 0;
 
4913
  case X86::XMM8:
 
4914
    if (SubRegNo == X86::XMM8)  return 1;
 
4915
    if (SubRegNo == X86::XMM8)  return 2;
 
4916
    return 0;
 
4917
  case X86::XMM9:
 
4918
    if (SubRegNo == X86::XMM9)  return 1;
 
4919
    if (SubRegNo == X86::XMM9)  return 2;
 
4920
    return 0;
 
4921
  case X86::XMM10:
 
4922
    if (SubRegNo == X86::XMM10)  return 1;
 
4923
    if (SubRegNo == X86::XMM10)  return 2;
 
4924
    return 0;
 
4925
  case X86::XMM11:
 
4926
    if (SubRegNo == X86::XMM11)  return 1;
 
4927
    if (SubRegNo == X86::XMM11)  return 2;
 
4928
    return 0;
 
4929
  case X86::XMM12:
 
4930
    if (SubRegNo == X86::XMM12)  return 1;
 
4931
    if (SubRegNo == X86::XMM12)  return 2;
 
4932
    return 0;
 
4933
  case X86::XMM13:
 
4934
    if (SubRegNo == X86::XMM13)  return 1;
 
4935
    if (SubRegNo == X86::XMM13)  return 2;
 
4936
    return 0;
 
4937
  case X86::XMM14:
 
4938
    if (SubRegNo == X86::XMM14)  return 1;
 
4939
    if (SubRegNo == X86::XMM14)  return 2;
 
4940
    return 0;
 
4941
  case X86::XMM15:
 
4942
    if (SubRegNo == X86::XMM15)  return 1;
 
4943
    if (SubRegNo == X86::XMM15)  return 2;
 
4944
    return 0;
 
4945
  case X86::YMM0:
 
4946
    if (SubRegNo == X86::XMM0)  return 1;
 
4947
    if (SubRegNo == X86::XMM0)  return 2;
 
4948
    if (SubRegNo == X86::XMM0)  return 3;
 
4949
    return 0;
 
4950
  case X86::YMM1:
 
4951
    if (SubRegNo == X86::XMM1)  return 1;
 
4952
    if (SubRegNo == X86::XMM1)  return 2;
 
4953
    if (SubRegNo == X86::XMM1)  return 3;
 
4954
    return 0;
 
4955
  case X86::YMM2:
 
4956
    if (SubRegNo == X86::XMM2)  return 1;
 
4957
    if (SubRegNo == X86::XMM2)  return 2;
 
4958
    if (SubRegNo == X86::XMM2)  return 3;
 
4959
    return 0;
 
4960
  case X86::YMM3:
 
4961
    if (SubRegNo == X86::XMM3)  return 1;
 
4962
    if (SubRegNo == X86::XMM3)  return 2;
 
4963
    if (SubRegNo == X86::XMM3)  return 3;
 
4964
    return 0;
 
4965
  case X86::YMM4:
 
4966
    if (SubRegNo == X86::XMM4)  return 1;
 
4967
    if (SubRegNo == X86::XMM4)  return 2;
 
4968
    if (SubRegNo == X86::XMM4)  return 3;
 
4969
    return 0;
 
4970
  case X86::YMM5:
 
4971
    if (SubRegNo == X86::XMM5)  return 1;
 
4972
    if (SubRegNo == X86::XMM5)  return 2;
 
4973
    if (SubRegNo == X86::XMM5)  return 3;
 
4974
    return 0;
 
4975
  case X86::YMM6:
 
4976
    if (SubRegNo == X86::XMM6)  return 1;
 
4977
    if (SubRegNo == X86::XMM6)  return 2;
 
4978
    if (SubRegNo == X86::XMM6)  return 3;
 
4979
    return 0;
 
4980
  case X86::YMM7:
 
4981
    if (SubRegNo == X86::XMM7)  return 1;
 
4982
    if (SubRegNo == X86::XMM7)  return 2;
 
4983
    if (SubRegNo == X86::XMM7)  return 3;
 
4984
    return 0;
 
4985
  case X86::YMM8:
 
4986
    if (SubRegNo == X86::XMM8)  return 1;
 
4987
    if (SubRegNo == X86::XMM8)  return 2;
 
4988
    if (SubRegNo == X86::XMM8)  return 3;
 
4989
    return 0;
 
4990
  case X86::YMM9:
 
4991
    if (SubRegNo == X86::XMM9)  return 1;
 
4992
    if (SubRegNo == X86::XMM9)  return 2;
 
4993
    if (SubRegNo == X86::XMM9)  return 3;
 
4994
    return 0;
 
4995
  case X86::YMM10:
 
4996
    if (SubRegNo == X86::XMM10)  return 1;
 
4997
    if (SubRegNo == X86::XMM10)  return 2;
 
4998
    if (SubRegNo == X86::XMM10)  return 3;
 
4999
    return 0;
 
5000
  case X86::YMM11:
 
5001
    if (SubRegNo == X86::XMM11)  return 1;
 
5002
    if (SubRegNo == X86::XMM11)  return 2;
 
5003
    if (SubRegNo == X86::XMM11)  return 3;
 
5004
    return 0;
 
5005
  case X86::YMM12:
 
5006
    if (SubRegNo == X86::XMM12)  return 1;
 
5007
    if (SubRegNo == X86::XMM12)  return 2;
 
5008
    if (SubRegNo == X86::XMM12)  return 3;
 
5009
    return 0;
 
5010
  case X86::YMM13:
 
5011
    if (SubRegNo == X86::XMM13)  return 1;
 
5012
    if (SubRegNo == X86::XMM13)  return 2;
 
5013
    if (SubRegNo == X86::XMM13)  return 3;
 
5014
    return 0;
 
5015
  case X86::YMM14:
 
5016
    if (SubRegNo == X86::XMM14)  return 1;
 
5017
    if (SubRegNo == X86::XMM14)  return 2;
 
5018
    if (SubRegNo == X86::XMM14)  return 3;
 
5019
    return 0;
 
5020
  case X86::YMM15:
 
5021
    if (SubRegNo == X86::XMM15)  return 1;
 
5022
    if (SubRegNo == X86::XMM15)  return 2;
 
5023
    if (SubRegNo == X86::XMM15)  return 3;
 
5024
    return 0;
 
5025
  };
 
5026
  return 0;
 
5027
}
 
5028
 
 
5029
X86GenRegisterInfo::X86GenRegisterInfo(int CallFrameSetupOpcode, int CallFrameDestroyOpcode)
 
5030
  : TargetRegisterInfo(RegisterDescriptors, 159, RegisterClasses, RegisterClasses+31,
 
5031
                  CallFrameSetupOpcode, CallFrameDestroyOpcode,
 
5032
                 SubregHashTable, SubregHashTableSize,
 
5033
                 SuperregHashTable, SuperregHashTableSize,
 
5034
                 AliasesHashTable, AliasesHashTableSize) {
 
5035
}
 
5036
 
 
5037
int X86GenRegisterInfo::getDwarfRegNumFull(unsigned RegNum, unsigned Flavour) const {
 
5038
  switch (Flavour) {
 
5039
  default:
 
5040
    assert(0 && "Unknown DWARF flavour");
 
5041
    return -1;
 
5042
  case 0:
 
5043
    switch (RegNum) {
 
5044
    default:
 
5045
      assert(0 && "Invalid RegNum");
 
5046
      return -1;
 
5047
    case X86::AH:
 
5048
      return 0;
 
5049
    case X86::AL:
 
5050
      return 0;
 
5051
    case X86::AX:
 
5052
      return 0;
 
5053
    case X86::BH:
 
5054
      return 3;
 
5055
    case X86::BL:
 
5056
      return 3;
 
5057
    case X86::BP:
 
5058
      return 6;
 
5059
    case X86::BPL:
 
5060
      return 6;
 
5061
    case X86::BX:
 
5062
      return 3;
 
5063
    case X86::CH:
 
5064
      return 2;
 
5065
    case X86::CL:
 
5066
      return 2;
 
5067
    case X86::CS:
 
5068
      return -1;
 
5069
    case X86::CX:
 
5070
      return 2;
 
5071
    case X86::DH:
 
5072
      return 1;
 
5073
    case X86::DI:
 
5074
      return 5;
 
5075
    case X86::DIL:
 
5076
      return 5;
 
5077
    case X86::DL:
 
5078
      return 1;
 
5079
    case X86::DR0:
 
5080
      return -1;
 
5081
    case X86::DR1:
 
5082
      return -1;
 
5083
    case X86::DR2:
 
5084
      return -1;
 
5085
    case X86::DR3:
 
5086
      return -1;
 
5087
    case X86::DR4:
 
5088
      return -1;
 
5089
    case X86::DR5:
 
5090
      return -1;
 
5091
    case X86::DR6:
 
5092
      return -1;
 
5093
    case X86::DR7:
 
5094
      return -1;
 
5095
    case X86::DS:
 
5096
      return -1;
 
5097
    case X86::DX:
 
5098
      return 1;
 
5099
    case X86::EAX:
 
5100
      return 0;
 
5101
    case X86::EBP:
 
5102
      return 6;
 
5103
    case X86::EBX:
 
5104
      return 3;
 
5105
    case X86::ECR0:
 
5106
      return -1;
 
5107
    case X86::ECR1:
 
5108
      return -1;
 
5109
    case X86::ECR2:
 
5110
      return -1;
 
5111
    case X86::ECR3:
 
5112
      return -1;
 
5113
    case X86::ECR4:
 
5114
      return -1;
 
5115
    case X86::ECR5:
 
5116
      return -1;
 
5117
    case X86::ECR6:
 
5118
      return -1;
 
5119
    case X86::ECR7:
 
5120
      return -1;
 
5121
    case X86::ECX:
 
5122
      return 2;
 
5123
    case X86::EDI:
 
5124
      return 5;
 
5125
    case X86::EDX:
 
5126
      return 1;
 
5127
    case X86::EFLAGS:
 
5128
      return -1;
 
5129
    case X86::EIP:
 
5130
      return 16;
 
5131
    case X86::ES:
 
5132
      return -1;
 
5133
    case X86::ESI:
 
5134
      return 4;
 
5135
    case X86::ESP:
 
5136
      return 7;
 
5137
    case X86::FP0:
 
5138
      return -1;
 
5139
    case X86::FP1:
 
5140
      return -1;
 
5141
    case X86::FP2:
 
5142
      return -1;
 
5143
    case X86::FP3:
 
5144
      return -1;
 
5145
    case X86::FP4:
 
5146
      return -1;
 
5147
    case X86::FP5:
 
5148
      return -1;
 
5149
    case X86::FP6:
 
5150
      return -1;
 
5151
    case X86::FS:
 
5152
      return -1;
 
5153
    case X86::GS:
 
5154
      return -1;
 
5155
    case X86::IP:
 
5156
      return 16;
 
5157
    case X86::MM0:
 
5158
      return 41;
 
5159
    case X86::MM1:
 
5160
      return 42;
 
5161
    case X86::MM2:
 
5162
      return 43;
 
5163
    case X86::MM3:
 
5164
      return 44;
 
5165
    case X86::MM4:
 
5166
      return 45;
 
5167
    case X86::MM5:
 
5168
      return 46;
 
5169
    case X86::MM6:
 
5170
      return 47;
 
5171
    case X86::MM7:
 
5172
      return 48;
 
5173
    case X86::R10:
 
5174
      return 10;
 
5175
    case X86::R10B:
 
5176
      return 10;
 
5177
    case X86::R10D:
 
5178
      return 10;
 
5179
    case X86::R10W:
 
5180
      return 10;
 
5181
    case X86::R11:
 
5182
      return 11;
 
5183
    case X86::R11B:
 
5184
      return 11;
 
5185
    case X86::R11D:
 
5186
      return 11;
 
5187
    case X86::R11W:
 
5188
      return 11;
 
5189
    case X86::R12:
 
5190
      return 12;
 
5191
    case X86::R12B:
 
5192
      return 12;
 
5193
    case X86::R12D:
 
5194
      return 12;
 
5195
    case X86::R12W:
 
5196
      return 12;
 
5197
    case X86::R13:
 
5198
      return 13;
 
5199
    case X86::R13B:
 
5200
      return 13;
 
5201
    case X86::R13D:
 
5202
      return 13;
 
5203
    case X86::R13W:
 
5204
      return 13;
 
5205
    case X86::R14:
 
5206
      return 14;
 
5207
    case X86::R14B:
 
5208
      return 14;
 
5209
    case X86::R14D:
 
5210
      return 14;
 
5211
    case X86::R14W:
 
5212
      return 14;
 
5213
    case X86::R15:
 
5214
      return 15;
 
5215
    case X86::R15B:
 
5216
      return 15;
 
5217
    case X86::R15D:
 
5218
      return 15;
 
5219
    case X86::R15W:
 
5220
      return 15;
 
5221
    case X86::R8:
 
5222
      return 8;
 
5223
    case X86::R8B:
 
5224
      return 8;
 
5225
    case X86::R8D:
 
5226
      return 8;
 
5227
    case X86::R8W:
 
5228
      return 8;
 
5229
    case X86::R9:
 
5230
      return 9;
 
5231
    case X86::R9B:
 
5232
      return 9;
 
5233
    case X86::R9D:
 
5234
      return 9;
 
5235
    case X86::R9W:
 
5236
      return 9;
 
5237
    case X86::RAX:
 
5238
      return 0;
 
5239
    case X86::RBP:
 
5240
      return 6;
 
5241
    case X86::RBX:
 
5242
      return 3;
 
5243
    case X86::RCR0:
 
5244
      return -1;
 
5245
    case X86::RCR1:
 
5246
      return -1;
 
5247
    case X86::RCR2:
 
5248
      return -1;
 
5249
    case X86::RCR3:
 
5250
      return -1;
 
5251
    case X86::RCR4:
 
5252
      return -1;
 
5253
    case X86::RCR5:
 
5254
      return -1;
 
5255
    case X86::RCR6:
 
5256
      return -1;
 
5257
    case X86::RCR7:
 
5258
      return -1;
 
5259
    case X86::RCR8:
 
5260
      return -1;
 
5261
    case X86::RCX:
 
5262
      return 2;
 
5263
    case X86::RDI:
 
5264
      return 5;
 
5265
    case X86::RDX:
 
5266
      return 1;
 
5267
    case X86::RIP:
 
5268
      return 16;
 
5269
    case X86::RSI:
 
5270
      return 4;
 
5271
    case X86::RSP:
 
5272
      return 7;
 
5273
    case X86::SI:
 
5274
      return 4;
 
5275
    case X86::SIL:
 
5276
      return 4;
 
5277
    case X86::SP:
 
5278
      return 7;
 
5279
    case X86::SPL:
 
5280
      return 7;
 
5281
    case X86::SS:
 
5282
      return -1;
 
5283
    case X86::ST0:
 
5284
      return 33;
 
5285
    case X86::ST1:
 
5286
      return 34;
 
5287
    case X86::ST2:
 
5288
      return 35;
 
5289
    case X86::ST3:
 
5290
      return 36;
 
5291
    case X86::ST4:
 
5292
      return 37;
 
5293
    case X86::ST5:
 
5294
      return 38;
 
5295
    case X86::ST6:
 
5296
      return 39;
 
5297
    case X86::ST7:
 
5298
      return 40;
 
5299
    case X86::XMM0:
 
5300
      return 17;
 
5301
    case X86::XMM1:
 
5302
      return 18;
 
5303
    case X86::XMM10:
 
5304
      return 27;
 
5305
    case X86::XMM11:
 
5306
      return 28;
 
5307
    case X86::XMM12:
 
5308
      return 29;
 
5309
    case X86::XMM13:
 
5310
      return 30;
 
5311
    case X86::XMM14:
 
5312
      return 31;
 
5313
    case X86::XMM15:
 
5314
      return 32;
 
5315
    case X86::XMM2:
 
5316
      return 19;
 
5317
    case X86::XMM3:
 
5318
      return 20;
 
5319
    case X86::XMM4:
 
5320
      return 21;
 
5321
    case X86::XMM5:
 
5322
      return 22;
 
5323
    case X86::XMM6:
 
5324
      return 23;
 
5325
    case X86::XMM7:
 
5326
      return 24;
 
5327
    case X86::XMM8:
 
5328
      return 25;
 
5329
    case X86::XMM9:
 
5330
      return 26;
 
5331
    case X86::YMM0:
 
5332
      return 17;
 
5333
    case X86::YMM1:
 
5334
      return 18;
 
5335
    case X86::YMM10:
 
5336
      return 27;
 
5337
    case X86::YMM11:
 
5338
      return 28;
 
5339
    case X86::YMM12:
 
5340
      return 29;
 
5341
    case X86::YMM13:
 
5342
      return 30;
 
5343
    case X86::YMM14:
 
5344
      return 31;
 
5345
    case X86::YMM15:
 
5346
      return 32;
 
5347
    case X86::YMM2:
 
5348
      return 19;
 
5349
    case X86::YMM3:
 
5350
      return 20;
 
5351
    case X86::YMM4:
 
5352
      return 21;
 
5353
    case X86::YMM5:
 
5354
      return 22;
 
5355
    case X86::YMM6:
 
5356
      return 23;
 
5357
    case X86::YMM7:
 
5358
      return 24;
 
5359
    case X86::YMM8:
 
5360
      return 25;
 
5361
    case X86::YMM9:
 
5362
      return 26;
 
5363
    };
 
5364
  case 1:
 
5365
    switch (RegNum) {
 
5366
    default:
 
5367
      assert(0 && "Invalid RegNum");
 
5368
      return -1;
 
5369
    case X86::AH:
 
5370
      return 0;
 
5371
    case X86::AL:
 
5372
      return 0;
 
5373
    case X86::AX:
 
5374
      return 0;
 
5375
    case X86::BH:
 
5376
      return 3;
 
5377
    case X86::BL:
 
5378
      return 3;
 
5379
    case X86::BP:
 
5380
      return 4;
 
5381
    case X86::BPL:
 
5382
      return 4;
 
5383
    case X86::BX:
 
5384
      return 3;
 
5385
    case X86::CH:
 
5386
      return 1;
 
5387
    case X86::CL:
 
5388
      return 1;
 
5389
    case X86::CS:
 
5390
      return -1;
 
5391
    case X86::CX:
 
5392
      return 1;
 
5393
    case X86::DH:
 
5394
      return 2;
 
5395
    case X86::DI:
 
5396
      return 7;
 
5397
    case X86::DIL:
 
5398
      return 7;
 
5399
    case X86::DL:
 
5400
      return 2;
 
5401
    case X86::DR0:
 
5402
      return -1;
 
5403
    case X86::DR1:
 
5404
      return -1;
 
5405
    case X86::DR2:
 
5406
      return -1;
 
5407
    case X86::DR3:
 
5408
      return -1;
 
5409
    case X86::DR4:
 
5410
      return -1;
 
5411
    case X86::DR5:
 
5412
      return -1;
 
5413
    case X86::DR6:
 
5414
      return -1;
 
5415
    case X86::DR7:
 
5416
      return -1;
 
5417
    case X86::DS:
 
5418
      return -1;
 
5419
    case X86::DX:
 
5420
      return 2;
 
5421
    case X86::EAX:
 
5422
      return 0;
 
5423
    case X86::EBP:
 
5424
      return 4;
 
5425
    case X86::EBX:
 
5426
      return 3;
 
5427
    case X86::ECR0:
 
5428
      return -1;
 
5429
    case X86::ECR1:
 
5430
      return -1;
 
5431
    case X86::ECR2:
 
5432
      return -1;
 
5433
    case X86::ECR3:
 
5434
      return -1;
 
5435
    case X86::ECR4:
 
5436
      return -1;
 
5437
    case X86::ECR5:
 
5438
      return -1;
 
5439
    case X86::ECR6:
 
5440
      return -1;
 
5441
    case X86::ECR7:
 
5442
      return -1;
 
5443
    case X86::ECX:
 
5444
      return 1;
 
5445
    case X86::EDI:
 
5446
      return 7;
 
5447
    case X86::EDX:
 
5448
      return 2;
 
5449
    case X86::EFLAGS:
 
5450
      return -1;
 
5451
    case X86::EIP:
 
5452
      return 8;
 
5453
    case X86::ES:
 
5454
      return -1;
 
5455
    case X86::ESI:
 
5456
      return 6;
 
5457
    case X86::ESP:
 
5458
      return 5;
 
5459
    case X86::FP0:
 
5460
      return -1;
 
5461
    case X86::FP1:
 
5462
      return -1;
 
5463
    case X86::FP2:
 
5464
      return -1;
 
5465
    case X86::FP3:
 
5466
      return -1;
 
5467
    case X86::FP4:
 
5468
      return -1;
 
5469
    case X86::FP5:
 
5470
      return -1;
 
5471
    case X86::FP6:
 
5472
      return -1;
 
5473
    case X86::FS:
 
5474
      return -1;
 
5475
    case X86::GS:
 
5476
      return -1;
 
5477
    case X86::IP:
 
5478
      return -1;
 
5479
    case X86::MM0:
 
5480
      return 29;
 
5481
    case X86::MM1:
 
5482
      return 30;
 
5483
    case X86::MM2:
 
5484
      return 31;
 
5485
    case X86::MM3:
 
5486
      return 32;
 
5487
    case X86::MM4:
 
5488
      return 33;
 
5489
    case X86::MM5:
 
5490
      return 34;
 
5491
    case X86::MM6:
 
5492
      return 35;
 
5493
    case X86::MM7:
 
5494
      return 36;
 
5495
    case X86::R10:
 
5496
      assert(0 && "Invalid register for this mode");
 
5497
      return -1;
 
5498
    case X86::R10B:
 
5499
      assert(0 && "Invalid register for this mode");
 
5500
      return -1;
 
5501
    case X86::R10D:
 
5502
      assert(0 && "Invalid register for this mode");
 
5503
      return -1;
 
5504
    case X86::R10W:
 
5505
      assert(0 && "Invalid register for this mode");
 
5506
      return -1;
 
5507
    case X86::R11:
 
5508
      assert(0 && "Invalid register for this mode");
 
5509
      return -1;
 
5510
    case X86::R11B:
 
5511
      assert(0 && "Invalid register for this mode");
 
5512
      return -1;
 
5513
    case X86::R11D:
 
5514
      assert(0 && "Invalid register for this mode");
 
5515
      return -1;
 
5516
    case X86::R11W:
 
5517
      assert(0 && "Invalid register for this mode");
 
5518
      return -1;
 
5519
    case X86::R12:
 
5520
      assert(0 && "Invalid register for this mode");
 
5521
      return -1;
 
5522
    case X86::R12B:
 
5523
      assert(0 && "Invalid register for this mode");
 
5524
      return -1;
 
5525
    case X86::R12D:
 
5526
      assert(0 && "Invalid register for this mode");
 
5527
      return -1;
 
5528
    case X86::R12W:
 
5529
      assert(0 && "Invalid register for this mode");
 
5530
      return -1;
 
5531
    case X86::R13:
 
5532
      assert(0 && "Invalid register for this mode");
 
5533
      return -1;
 
5534
    case X86::R13B:
 
5535
      assert(0 && "Invalid register for this mode");
 
5536
      return -1;
 
5537
    case X86::R13D:
 
5538
      assert(0 && "Invalid register for this mode");
 
5539
      return -1;
 
5540
    case X86::R13W:
 
5541
      assert(0 && "Invalid register for this mode");
 
5542
      return -1;
 
5543
    case X86::R14:
 
5544
      assert(0 && "Invalid register for this mode");
 
5545
      return -1;
 
5546
    case X86::R14B:
 
5547
      assert(0 && "Invalid register for this mode");
 
5548
      return -1;
 
5549
    case X86::R14D:
 
5550
      assert(0 && "Invalid register for this mode");
 
5551
      return -1;
 
5552
    case X86::R14W:
 
5553
      assert(0 && "Invalid register for this mode");
 
5554
      return -1;
 
5555
    case X86::R15:
 
5556
      assert(0 && "Invalid register for this mode");
 
5557
      return -1;
 
5558
    case X86::R15B:
 
5559
      assert(0 && "Invalid register for this mode");
 
5560
      return -1;
 
5561
    case X86::R15D:
 
5562
      assert(0 && "Invalid register for this mode");
 
5563
      return -1;
 
5564
    case X86::R15W:
 
5565
      assert(0 && "Invalid register for this mode");
 
5566
      return -1;
 
5567
    case X86::R8:
 
5568
      assert(0 && "Invalid register for this mode");
 
5569
      return -1;
 
5570
    case X86::R8B:
 
5571
      assert(0 && "Invalid register for this mode");
 
5572
      return -1;
 
5573
    case X86::R8D:
 
5574
      assert(0 && "Invalid register for this mode");
 
5575
      return -1;
 
5576
    case X86::R8W:
 
5577
      assert(0 && "Invalid register for this mode");
 
5578
      return -1;
 
5579
    case X86::R9:
 
5580
      assert(0 && "Invalid register for this mode");
 
5581
      return -1;
 
5582
    case X86::R9B:
 
5583
      assert(0 && "Invalid register for this mode");
 
5584
      return -1;
 
5585
    case X86::R9D:
 
5586
      assert(0 && "Invalid register for this mode");
 
5587
      return -1;
 
5588
    case X86::R9W:
 
5589
      assert(0 && "Invalid register for this mode");
 
5590
      return -1;
 
5591
    case X86::RAX:
 
5592
      assert(0 && "Invalid register for this mode");
 
5593
      return -1;
 
5594
    case X86::RBP:
 
5595
      assert(0 && "Invalid register for this mode");
 
5596
      return -1;
 
5597
    case X86::RBX:
 
5598
      assert(0 && "Invalid register for this mode");
 
5599
      return -1;
 
5600
    case X86::RCR0:
 
5601
      return -1;
 
5602
    case X86::RCR1:
 
5603
      return -1;
 
5604
    case X86::RCR2:
 
5605
      return -1;
 
5606
    case X86::RCR3:
 
5607
      return -1;
 
5608
    case X86::RCR4:
 
5609
      return -1;
 
5610
    case X86::RCR5:
 
5611
      return -1;
 
5612
    case X86::RCR6:
 
5613
      return -1;
 
5614
    case X86::RCR7:
 
5615
      return -1;
 
5616
    case X86::RCR8:
 
5617
      return -1;
 
5618
    case X86::RCX:
 
5619
      assert(0 && "Invalid register for this mode");
 
5620
      return -1;
 
5621
    case X86::RDI:
 
5622
      assert(0 && "Invalid register for this mode");
 
5623
      return -1;
 
5624
    case X86::RDX:
 
5625
      assert(0 && "Invalid register for this mode");
 
5626
      return -1;
 
5627
    case X86::RIP:
 
5628
      assert(0 && "Invalid register for this mode");
 
5629
      return -1;
 
5630
    case X86::RSI:
 
5631
      assert(0 && "Invalid register for this mode");
 
5632
      return -1;
 
5633
    case X86::RSP:
 
5634
      assert(0 && "Invalid register for this mode");
 
5635
      return -1;
 
5636
    case X86::SI:
 
5637
      return 6;
 
5638
    case X86::SIL:
 
5639
      return 6;
 
5640
    case X86::SP:
 
5641
      return 5;
 
5642
    case X86::SPL:
 
5643
      return 5;
 
5644
    case X86::SS:
 
5645
      return -1;
 
5646
    case X86::ST0:
 
5647
      return 12;
 
5648
    case X86::ST1:
 
5649
      return 13;
 
5650
    case X86::ST2:
 
5651
      return 14;
 
5652
    case X86::ST3:
 
5653
      return 15;
 
5654
    case X86::ST4:
 
5655
      return 16;
 
5656
    case X86::ST5:
 
5657
      return 17;
 
5658
    case X86::ST6:
 
5659
      return 18;
 
5660
    case X86::ST7:
 
5661
      return 19;
 
5662
    case X86::XMM0:
 
5663
      return 21;
 
5664
    case X86::XMM1:
 
5665
      return 22;
 
5666
    case X86::XMM10:
 
5667
      assert(0 && "Invalid register for this mode");
 
5668
      return -1;
 
5669
    case X86::XMM11:
 
5670
      assert(0 && "Invalid register for this mode");
 
5671
      return -1;
 
5672
    case X86::XMM12:
 
5673
      assert(0 && "Invalid register for this mode");
 
5674
      return -1;
 
5675
    case X86::XMM13:
 
5676
      assert(0 && "Invalid register for this mode");
 
5677
      return -1;
 
5678
    case X86::XMM14:
 
5679
      assert(0 && "Invalid register for this mode");
 
5680
      return -1;
 
5681
    case X86::XMM15:
 
5682
      assert(0 && "Invalid register for this mode");
 
5683
      return -1;
 
5684
    case X86::XMM2:
 
5685
      return 23;
 
5686
    case X86::XMM3:
 
5687
      return 24;
 
5688
    case X86::XMM4:
 
5689
      return 25;
 
5690
    case X86::XMM5:
 
5691
      return 26;
 
5692
    case X86::XMM6:
 
5693
      return 27;
 
5694
    case X86::XMM7:
 
5695
      return 28;
 
5696
    case X86::XMM8:
 
5697
      assert(0 && "Invalid register for this mode");
 
5698
      return -1;
 
5699
    case X86::XMM9:
 
5700
      assert(0 && "Invalid register for this mode");
 
5701
      return -1;
 
5702
    case X86::YMM0:
 
5703
      return 21;
 
5704
    case X86::YMM1:
 
5705
      return 22;
 
5706
    case X86::YMM10:
 
5707
      assert(0 && "Invalid register for this mode");
 
5708
      return -1;
 
5709
    case X86::YMM11:
 
5710
      assert(0 && "Invalid register for this mode");
 
5711
      return -1;
 
5712
    case X86::YMM12:
 
5713
      assert(0 && "Invalid register for this mode");
 
5714
      return -1;
 
5715
    case X86::YMM13:
 
5716
      assert(0 && "Invalid register for this mode");
 
5717
      return -1;
 
5718
    case X86::YMM14:
 
5719
      assert(0 && "Invalid register for this mode");
 
5720
      return -1;
 
5721
    case X86::YMM15:
 
5722
      assert(0 && "Invalid register for this mode");
 
5723
      return -1;
 
5724
    case X86::YMM2:
 
5725
      return 23;
 
5726
    case X86::YMM3:
 
5727
      return 24;
 
5728
    case X86::YMM4:
 
5729
      return 25;
 
5730
    case X86::YMM5:
 
5731
      return 26;
 
5732
    case X86::YMM6:
 
5733
      return 27;
 
5734
    case X86::YMM7:
 
5735
      return 28;
 
5736
    case X86::YMM8:
 
5737
      assert(0 && "Invalid register for this mode");
 
5738
      return -1;
 
5739
    case X86::YMM9:
 
5740
      assert(0 && "Invalid register for this mode");
 
5741
      return -1;
 
5742
    };
 
5743
  case 2:
 
5744
    switch (RegNum) {
 
5745
    default:
 
5746
      assert(0 && "Invalid RegNum");
 
5747
      return -1;
 
5748
    case X86::AH:
 
5749
      return 0;
 
5750
    case X86::AL:
 
5751
      return 0;
 
5752
    case X86::AX:
 
5753
      return 0;
 
5754
    case X86::BH:
 
5755
      return 3;
 
5756
    case X86::BL:
 
5757
      return 3;
 
5758
    case X86::BP:
 
5759
      return 5;
 
5760
    case X86::BPL:
 
5761
      return 5;
 
5762
    case X86::BX:
 
5763
      return 3;
 
5764
    case X86::CH:
 
5765
      return 1;
 
5766
    case X86::CL:
 
5767
      return 1;
 
5768
    case X86::CS:
 
5769
      return -1;
 
5770
    case X86::CX:
 
5771
      return 1;
 
5772
    case X86::DH:
 
5773
      return 2;
 
5774
    case X86::DI:
 
5775
      return 7;
 
5776
    case X86::DIL:
 
5777
      return 7;
 
5778
    case X86::DL:
 
5779
      return 2;
 
5780
    case X86::DR0:
 
5781
      return -1;
 
5782
    case X86::DR1:
 
5783
      return -1;
 
5784
    case X86::DR2:
 
5785
      return -1;
 
5786
    case X86::DR3:
 
5787
      return -1;
 
5788
    case X86::DR4:
 
5789
      return -1;
 
5790
    case X86::DR5:
 
5791
      return -1;
 
5792
    case X86::DR6:
 
5793
      return -1;
 
5794
    case X86::DR7:
 
5795
      return -1;
 
5796
    case X86::DS:
 
5797
      return -1;
 
5798
    case X86::DX:
 
5799
      return 2;
 
5800
    case X86::EAX:
 
5801
      return 0;
 
5802
    case X86::EBP:
 
5803
      return 5;
 
5804
    case X86::EBX:
 
5805
      return 3;
 
5806
    case X86::ECR0:
 
5807
      return -1;
 
5808
    case X86::ECR1:
 
5809
      return -1;
 
5810
    case X86::ECR2:
 
5811
      return -1;
 
5812
    case X86::ECR3:
 
5813
      return -1;
 
5814
    case X86::ECR4:
 
5815
      return -1;
 
5816
    case X86::ECR5:
 
5817
      return -1;
 
5818
    case X86::ECR6:
 
5819
      return -1;
 
5820
    case X86::ECR7:
 
5821
      return -1;
 
5822
    case X86::ECX:
 
5823
      return 1;
 
5824
    case X86::EDI:
 
5825
      return 7;
 
5826
    case X86::EDX:
 
5827
      return 2;
 
5828
    case X86::EFLAGS:
 
5829
      return -1;
 
5830
    case X86::EIP:
 
5831
      return 8;
 
5832
    case X86::ES:
 
5833
      return -1;
 
5834
    case X86::ESI:
 
5835
      return 6;
 
5836
    case X86::ESP:
 
5837
      return 4;
 
5838
    case X86::FP0:
 
5839
      return -1;
 
5840
    case X86::FP1:
 
5841
      return -1;
 
5842
    case X86::FP2:
 
5843
      return -1;
 
5844
    case X86::FP3:
 
5845
      return -1;
 
5846
    case X86::FP4:
 
5847
      return -1;
 
5848
    case X86::FP5:
 
5849
      return -1;
 
5850
    case X86::FP6:
 
5851
      return -1;
 
5852
    case X86::FS:
 
5853
      return -1;
 
5854
    case X86::GS:
 
5855
      return -1;
 
5856
    case X86::IP:
 
5857
      return -1;
 
5858
    case X86::MM0:
 
5859
      return 29;
 
5860
    case X86::MM1:
 
5861
      return 30;
 
5862
    case X86::MM2:
 
5863
      return 31;
 
5864
    case X86::MM3:
 
5865
      return 32;
 
5866
    case X86::MM4:
 
5867
      return 33;
 
5868
    case X86::MM5:
 
5869
      return 34;
 
5870
    case X86::MM6:
 
5871
      return 35;
 
5872
    case X86::MM7:
 
5873
      return 36;
 
5874
    case X86::R10:
 
5875
      assert(0 && "Invalid register for this mode");
 
5876
      return -1;
 
5877
    case X86::R10B:
 
5878
      assert(0 && "Invalid register for this mode");
 
5879
      return -1;
 
5880
    case X86::R10D:
 
5881
      assert(0 && "Invalid register for this mode");
 
5882
      return -1;
 
5883
    case X86::R10W:
 
5884
      assert(0 && "Invalid register for this mode");
 
5885
      return -1;
 
5886
    case X86::R11:
 
5887
      assert(0 && "Invalid register for this mode");
 
5888
      return -1;
 
5889
    case X86::R11B:
 
5890
      assert(0 && "Invalid register for this mode");
 
5891
      return -1;
 
5892
    case X86::R11D:
 
5893
      assert(0 && "Invalid register for this mode");
 
5894
      return -1;
 
5895
    case X86::R11W:
 
5896
      assert(0 && "Invalid register for this mode");
 
5897
      return -1;
 
5898
    case X86::R12:
 
5899
      assert(0 && "Invalid register for this mode");
 
5900
      return -1;
 
5901
    case X86::R12B:
 
5902
      assert(0 && "Invalid register for this mode");
 
5903
      return -1;
 
5904
    case X86::R12D:
 
5905
      assert(0 && "Invalid register for this mode");
 
5906
      return -1;
 
5907
    case X86::R12W:
 
5908
      assert(0 && "Invalid register for this mode");
 
5909
      return -1;
 
5910
    case X86::R13:
 
5911
      assert(0 && "Invalid register for this mode");
 
5912
      return -1;
 
5913
    case X86::R13B:
 
5914
      assert(0 && "Invalid register for this mode");
 
5915
      return -1;
 
5916
    case X86::R13D:
 
5917
      assert(0 && "Invalid register for this mode");
 
5918
      return -1;
 
5919
    case X86::R13W:
 
5920
      assert(0 && "Invalid register for this mode");
 
5921
      return -1;
 
5922
    case X86::R14:
 
5923
      assert(0 && "Invalid register for this mode");
 
5924
      return -1;
 
5925
    case X86::R14B:
 
5926
      assert(0 && "Invalid register for this mode");
 
5927
      return -1;
 
5928
    case X86::R14D:
 
5929
      assert(0 && "Invalid register for this mode");
 
5930
      return -1;
 
5931
    case X86::R14W:
 
5932
      assert(0 && "Invalid register for this mode");
 
5933
      return -1;
 
5934
    case X86::R15:
 
5935
      assert(0 && "Invalid register for this mode");
 
5936
      return -1;
 
5937
    case X86::R15B:
 
5938
      assert(0 && "Invalid register for this mode");
 
5939
      return -1;
 
5940
    case X86::R15D:
 
5941
      assert(0 && "Invalid register for this mode");
 
5942
      return -1;
 
5943
    case X86::R15W:
 
5944
      assert(0 && "Invalid register for this mode");
 
5945
      return -1;
 
5946
    case X86::R8:
 
5947
      assert(0 && "Invalid register for this mode");
 
5948
      return -1;
 
5949
    case X86::R8B:
 
5950
      assert(0 && "Invalid register for this mode");
 
5951
      return -1;
 
5952
    case X86::R8D:
 
5953
      assert(0 && "Invalid register for this mode");
 
5954
      return -1;
 
5955
    case X86::R8W:
 
5956
      assert(0 && "Invalid register for this mode");
 
5957
      return -1;
 
5958
    case X86::R9:
 
5959
      assert(0 && "Invalid register for this mode");
 
5960
      return -1;
 
5961
    case X86::R9B:
 
5962
      assert(0 && "Invalid register for this mode");
 
5963
      return -1;
 
5964
    case X86::R9D:
 
5965
      assert(0 && "Invalid register for this mode");
 
5966
      return -1;
 
5967
    case X86::R9W:
 
5968
      assert(0 && "Invalid register for this mode");
 
5969
      return -1;
 
5970
    case X86::RAX:
 
5971
      assert(0 && "Invalid register for this mode");
 
5972
      return -1;
 
5973
    case X86::RBP:
 
5974
      assert(0 && "Invalid register for this mode");
 
5975
      return -1;
 
5976
    case X86::RBX:
 
5977
      assert(0 && "Invalid register for this mode");
 
5978
      return -1;
 
5979
    case X86::RCR0:
 
5980
      return -1;
 
5981
    case X86::RCR1:
 
5982
      return -1;
 
5983
    case X86::RCR2:
 
5984
      return -1;
 
5985
    case X86::RCR3:
 
5986
      return -1;
 
5987
    case X86::RCR4:
 
5988
      return -1;
 
5989
    case X86::RCR5:
 
5990
      return -1;
 
5991
    case X86::RCR6:
 
5992
      return -1;
 
5993
    case X86::RCR7:
 
5994
      return -1;
 
5995
    case X86::RCR8:
 
5996
      return -1;
 
5997
    case X86::RCX:
 
5998
      assert(0 && "Invalid register for this mode");
 
5999
      return -1;
 
6000
    case X86::RDI:
 
6001
      assert(0 && "Invalid register for this mode");
 
6002
      return -1;
 
6003
    case X86::RDX:
 
6004
      assert(0 && "Invalid register for this mode");
 
6005
      return -1;
 
6006
    case X86::RIP:
 
6007
      assert(0 && "Invalid register for this mode");
 
6008
      return -1;
 
6009
    case X86::RSI:
 
6010
      assert(0 && "Invalid register for this mode");
 
6011
      return -1;
 
6012
    case X86::RSP:
 
6013
      assert(0 && "Invalid register for this mode");
 
6014
      return -1;
 
6015
    case X86::SI:
 
6016
      return 6;
 
6017
    case X86::SIL:
 
6018
      return 6;
 
6019
    case X86::SP:
 
6020
      return 4;
 
6021
    case X86::SPL:
 
6022
      return 4;
 
6023
    case X86::SS:
 
6024
      return -1;
 
6025
    case X86::ST0:
 
6026
      return 11;
 
6027
    case X86::ST1:
 
6028
      return 12;
 
6029
    case X86::ST2:
 
6030
      return 13;
 
6031
    case X86::ST3:
 
6032
      return 14;
 
6033
    case X86::ST4:
 
6034
      return 15;
 
6035
    case X86::ST5:
 
6036
      return 16;
 
6037
    case X86::ST6:
 
6038
      return 17;
 
6039
    case X86::ST7:
 
6040
      return 18;
 
6041
    case X86::XMM0:
 
6042
      return 21;
 
6043
    case X86::XMM1:
 
6044
      return 22;
 
6045
    case X86::XMM10:
 
6046
      assert(0 && "Invalid register for this mode");
 
6047
      return -1;
 
6048
    case X86::XMM11:
 
6049
      assert(0 && "Invalid register for this mode");
 
6050
      return -1;
 
6051
    case X86::XMM12:
 
6052
      assert(0 && "Invalid register for this mode");
 
6053
      return -1;
 
6054
    case X86::XMM13:
 
6055
      assert(0 && "Invalid register for this mode");
 
6056
      return -1;
 
6057
    case X86::XMM14:
 
6058
      assert(0 && "Invalid register for this mode");
 
6059
      return -1;
 
6060
    case X86::XMM15:
 
6061
      assert(0 && "Invalid register for this mode");
 
6062
      return -1;
 
6063
    case X86::XMM2:
 
6064
      return 23;
 
6065
    case X86::XMM3:
 
6066
      return 24;
 
6067
    case X86::XMM4:
 
6068
      return 25;
 
6069
    case X86::XMM5:
 
6070
      return 26;
 
6071
    case X86::XMM6:
 
6072
      return 27;
 
6073
    case X86::XMM7:
 
6074
      return 28;
 
6075
    case X86::XMM8:
 
6076
      assert(0 && "Invalid register for this mode");
 
6077
      return -1;
 
6078
    case X86::XMM9:
 
6079
      assert(0 && "Invalid register for this mode");
 
6080
      return -1;
 
6081
    case X86::YMM0:
 
6082
      return 21;
 
6083
    case X86::YMM1:
 
6084
      return 22;
 
6085
    case X86::YMM10:
 
6086
      assert(0 && "Invalid register for this mode");
 
6087
      return -1;
 
6088
    case X86::YMM11:
 
6089
      assert(0 && "Invalid register for this mode");
 
6090
      return -1;
 
6091
    case X86::YMM12:
 
6092
      assert(0 && "Invalid register for this mode");
 
6093
      return -1;
 
6094
    case X86::YMM13:
 
6095
      assert(0 && "Invalid register for this mode");
 
6096
      return -1;
 
6097
    case X86::YMM14:
 
6098
      assert(0 && "Invalid register for this mode");
 
6099
      return -1;
 
6100
    case X86::YMM15:
 
6101
      assert(0 && "Invalid register for this mode");
 
6102
      return -1;
 
6103
    case X86::YMM2:
 
6104
      return 23;
 
6105
    case X86::YMM3:
 
6106
      return 24;
 
6107
    case X86::YMM4:
 
6108
      return 25;
 
6109
    case X86::YMM5:
 
6110
      return 26;
 
6111
    case X86::YMM6:
 
6112
      return 27;
 
6113
    case X86::YMM7:
 
6114
      return 28;
 
6115
    case X86::YMM8:
 
6116
      assert(0 && "Invalid register for this mode");
 
6117
      return -1;
 
6118
    case X86::YMM9:
 
6119
      assert(0 && "Invalid register for this mode");
 
6120
      return -1;
 
6121
    };
 
6122
  };
 
6123
}
 
6124
 
 
6125
} // End llvm namespace