Coverage Report

Created: 2025-12-31 06:59

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/keystone/llvm/lib/Target/PowerPC/PPCGenRegisterInfo.inc
Line
Count
Source
1
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2
|*                                                                            *|
3
|* Target Register Enum Values                                                *|
4
|*                                                                            *|
5
|* Automatically generated file, do not edit!                                 *|
6
|*                                                                            *|
7
\*===----------------------------------------------------------------------===*/
8
9
10
#ifdef GET_REGINFO_ENUM
11
#undef GET_REGINFO_ENUM
12
namespace llvm_ks {
13
14
class MCRegisterClass;
15
extern const MCRegisterClass PPCMCRegisterClasses[];
16
17
namespace PPC {
18
enum {
19
  NoRegister,
20
  BP = 1,
21
  CARRY = 2,
22
  CTR = 3,
23
  FP = 4,
24
  LR = 5,
25
  RM = 6,
26
  VRSAVE = 7,
27
  ZERO = 8,
28
  BP8 = 9,
29
  CR0 = 10,
30
  CR1 = 11,
31
  CR2 = 12,
32
  CR3 = 13,
33
  CR4 = 14,
34
  CR5 = 15,
35
  CR6 = 16,
36
  CR7 = 17,
37
  CTR8 = 18,
38
  F0 = 19,
39
  F1 = 20,
40
  F2 = 21,
41
  F3 = 22,
42
  F4 = 23,
43
  F5 = 24,
44
  F6 = 25,
45
  F7 = 26,
46
  F8 = 27,
47
  F9 = 28,
48
  F10 = 29,
49
  F11 = 30,
50
  F12 = 31,
51
  F13 = 32,
52
  F14 = 33,
53
  F15 = 34,
54
  F16 = 35,
55
  F17 = 36,
56
  F18 = 37,
57
  F19 = 38,
58
  F20 = 39,
59
  F21 = 40,
60
  F22 = 41,
61
  F23 = 42,
62
  F24 = 43,
63
  F25 = 44,
64
  F26 = 45,
65
  F27 = 46,
66
  F28 = 47,
67
  F29 = 48,
68
  F30 = 49,
69
  F31 = 50,
70
  FP8 = 51,
71
  LR8 = 52,
72
  QF0 = 53,
73
  QF1 = 54,
74
  QF2 = 55,
75
  QF3 = 56,
76
  QF4 = 57,
77
  QF5 = 58,
78
  QF6 = 59,
79
  QF7 = 60,
80
  QF8 = 61,
81
  QF9 = 62,
82
  QF10 = 63,
83
  QF11 = 64,
84
  QF12 = 65,
85
  QF13 = 66,
86
  QF14 = 67,
87
  QF15 = 68,
88
  QF16 = 69,
89
  QF17 = 70,
90
  QF18 = 71,
91
  QF19 = 72,
92
  QF20 = 73,
93
  QF21 = 74,
94
  QF22 = 75,
95
  QF23 = 76,
96
  QF24 = 77,
97
  QF25 = 78,
98
  QF26 = 79,
99
  QF27 = 80,
100
  QF28 = 81,
101
  QF29 = 82,
102
  QF30 = 83,
103
  QF31 = 84,
104
  R0 = 85,
105
  R1 = 86,
106
  R2 = 87,
107
  R3 = 88,
108
  R4 = 89,
109
  R5 = 90,
110
  R6 = 91,
111
  R7 = 92,
112
  R8 = 93,
113
  R9 = 94,
114
  R10 = 95,
115
  R11 = 96,
116
  R12 = 97,
117
  R13 = 98,
118
  R14 = 99,
119
  R15 = 100,
120
  R16 = 101,
121
  R17 = 102,
122
  R18 = 103,
123
  R19 = 104,
124
  R20 = 105,
125
  R21 = 106,
126
  R22 = 107,
127
  R23 = 108,
128
  R24 = 109,
129
  R25 = 110,
130
  R26 = 111,
131
  R27 = 112,
132
  R28 = 113,
133
  R29 = 114,
134
  R30 = 115,
135
  R31 = 116,
136
  V0 = 117,
137
  V1 = 118,
138
  V2 = 119,
139
  V3 = 120,
140
  V4 = 121,
141
  V5 = 122,
142
  V6 = 123,
143
  V7 = 124,
144
  V8 = 125,
145
  V9 = 126,
146
  V10 = 127,
147
  V11 = 128,
148
  V12 = 129,
149
  V13 = 130,
150
  V14 = 131,
151
  V15 = 132,
152
  V16 = 133,
153
  V17 = 134,
154
  V18 = 135,
155
  V19 = 136,
156
  V20 = 137,
157
  V21 = 138,
158
  V22 = 139,
159
  V23 = 140,
160
  V24 = 141,
161
  V25 = 142,
162
  V26 = 143,
163
  V27 = 144,
164
  V28 = 145,
165
  V29 = 146,
166
  V30 = 147,
167
  V31 = 148,
168
  VF0 = 149,
169
  VF1 = 150,
170
  VF2 = 151,
171
  VF3 = 152,
172
  VF4 = 153,
173
  VF5 = 154,
174
  VF6 = 155,
175
  VF7 = 156,
176
  VF8 = 157,
177
  VF9 = 158,
178
  VF10 = 159,
179
  VF11 = 160,
180
  VF12 = 161,
181
  VF13 = 162,
182
  VF14 = 163,
183
  VF15 = 164,
184
  VF16 = 165,
185
  VF17 = 166,
186
  VF18 = 167,
187
  VF19 = 168,
188
  VF20 = 169,
189
  VF21 = 170,
190
  VF22 = 171,
191
  VF23 = 172,
192
  VF24 = 173,
193
  VF25 = 174,
194
  VF26 = 175,
195
  VF27 = 176,
196
  VF28 = 177,
197
  VF29 = 178,
198
  VF30 = 179,
199
  VF31 = 180,
200
  VSH0 = 181,
201
  VSH1 = 182,
202
  VSH2 = 183,
203
  VSH3 = 184,
204
  VSH4 = 185,
205
  VSH5 = 186,
206
  VSH6 = 187,
207
  VSH7 = 188,
208
  VSH8 = 189,
209
  VSH9 = 190,
210
  VSH10 = 191,
211
  VSH11 = 192,
212
  VSH12 = 193,
213
  VSH13 = 194,
214
  VSH14 = 195,
215
  VSH15 = 196,
216
  VSH16 = 197,
217
  VSH17 = 198,
218
  VSH18 = 199,
219
  VSH19 = 200,
220
  VSH20 = 201,
221
  VSH21 = 202,
222
  VSH22 = 203,
223
  VSH23 = 204,
224
  VSH24 = 205,
225
  VSH25 = 206,
226
  VSH26 = 207,
227
  VSH27 = 208,
228
  VSH28 = 209,
229
  VSH29 = 210,
230
  VSH30 = 211,
231
  VSH31 = 212,
232
  VSL0 = 213,
233
  VSL1 = 214,
234
  VSL2 = 215,
235
  VSL3 = 216,
236
  VSL4 = 217,
237
  VSL5 = 218,
238
  VSL6 = 219,
239
  VSL7 = 220,
240
  VSL8 = 221,
241
  VSL9 = 222,
242
  VSL10 = 223,
243
  VSL11 = 224,
244
  VSL12 = 225,
245
  VSL13 = 226,
246
  VSL14 = 227,
247
  VSL15 = 228,
248
  VSL16 = 229,
249
  VSL17 = 230,
250
  VSL18 = 231,
251
  VSL19 = 232,
252
  VSL20 = 233,
253
  VSL21 = 234,
254
  VSL22 = 235,
255
  VSL23 = 236,
256
  VSL24 = 237,
257
  VSL25 = 238,
258
  VSL26 = 239,
259
  VSL27 = 240,
260
  VSL28 = 241,
261
  VSL29 = 242,
262
  VSL30 = 243,
263
  VSL31 = 244,
264
  X0 = 245,
265
  X1 = 246,
266
  X2 = 247,
267
  X3 = 248,
268
  X4 = 249,
269
  X5 = 250,
270
  X6 = 251,
271
  X7 = 252,
272
  X8 = 253,
273
  X9 = 254,
274
  X10 = 255,
275
  X11 = 256,
276
  X12 = 257,
277
  X13 = 258,
278
  X14 = 259,
279
  X15 = 260,
280
  X16 = 261,
281
  X17 = 262,
282
  X18 = 263,
283
  X19 = 264,
284
  X20 = 265,
285
  X21 = 266,
286
  X22 = 267,
287
  X23 = 268,
288
  X24 = 269,
289
  X25 = 270,
290
  X26 = 271,
291
  X27 = 272,
292
  X28 = 273,
293
  X29 = 274,
294
  X30 = 275,
295
  X31 = 276,
296
  ZERO8 = 277,
297
  CR0EQ = 278,
298
  CR1EQ = 279,
299
  CR2EQ = 280,
300
  CR3EQ = 281,
301
  CR4EQ = 282,
302
  CR5EQ = 283,
303
  CR6EQ = 284,
304
  CR7EQ = 285,
305
  CR0GT = 286,
306
  CR1GT = 287,
307
  CR2GT = 288,
308
  CR3GT = 289,
309
  CR4GT = 290,
310
  CR5GT = 291,
311
  CR6GT = 292,
312
  CR7GT = 293,
313
  CR0LT = 294,
314
  CR1LT = 295,
315
  CR2LT = 296,
316
  CR3LT = 297,
317
  CR4LT = 298,
318
  CR5LT = 299,
319
  CR6LT = 300,
320
  CR7LT = 301,
321
  CR0UN = 302,
322
  CR1UN = 303,
323
  CR2UN = 304,
324
  CR3UN = 305,
325
  CR4UN = 306,
326
  CR5UN = 307,
327
  CR6UN = 308,
328
  CR7UN = 309,
329
  NUM_TARGET_REGS   // 310
330
};
331
}
332
333
// Register classes
334
namespace PPC {
335
enum {
336
  VSSRCRegClassID = 0,
337
  GPRCRegClassID = 1,
338
  GPRC_NOR0RegClassID = 2,
339
  GPRC_and_GPRC_NOR0RegClassID = 3,
340
  CRBITRCRegClassID = 4,
341
  F4RCRegClassID = 5,
342
  CRRCRegClassID = 6,
343
  CARRYRCRegClassID = 7,
344
  CRRC0RegClassID = 8,
345
  CTRRCRegClassID = 9,
346
  VRSAVERCRegClassID = 10,
347
  VSFRCRegClassID = 11,
348
  G8RCRegClassID = 12,
349
  G8RC_NOX0RegClassID = 13,
350
  G8RC_and_G8RC_NOX0RegClassID = 14,
351
  F8RCRegClassID = 15,
352
  VFRCRegClassID = 16,
353
  CTRRC8RegClassID = 17,
354
  VSRCRegClassID = 18,
355
  QSRCRegClassID = 19,
356
  VRRCRegClassID = 20,
357
  VSHRCRegClassID = 21,
358
  VSLRCRegClassID = 22,
359
  QBRCRegClassID = 23,
360
  QFRCRegClassID = 24,
361
362
  };
363
}
364
365
// Subregister indices
366
namespace PPC {
367
enum {
368
  NoSubRegister,
369
  sub_32, // 1
370
  sub_64, // 2
371
  sub_128,  // 3
372
  sub_eq, // 4
373
  sub_gt, // 5
374
  sub_lt, // 6
375
  sub_un, // 7
376
  NUM_TARGET_SUBREGS
377
};
378
}
379
} // End llvm namespace
380
#endif // GET_REGINFO_ENUM
381
382
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
383
|*                                                                            *|
384
|* MC Register Information                                                    *|
385
|*                                                                            *|
386
|* Automatically generated file, do not edit!                                 *|
387
|*                                                                            *|
388
\*===----------------------------------------------------------------------===*/
389
390
391
#ifdef GET_REGINFO_MC_DESC
392
#undef GET_REGINFO_MC_DESC
393
namespace llvm_ks {
394
395
extern const MCPhysReg PPCRegDiffLists[] = {
396
  /* 0 */ 0, 0,
397
  /* 2 */ 65504, 1, 1, 1, 0,
398
  /* 7 */ 3, 0,
399
  /* 9 */ 8, 0,
400
  /* 11 */ 22, 0,
401
  /* 13 */ 284, 65528, 65528, 24, 0,
402
  /* 18 */ 65472, 32, 0,
403
  /* 21 */ 47, 0,
404
  /* 23 */ 65504, 64, 0,
405
  /* 26 */ 73, 0,
406
  /* 28 */ 34, 160, 0,
407
  /* 31 */ 269, 0,
408
  /* 33 */ 64339, 0,
409
  /* 35 */ 64368, 0,
410
  /* 37 */ 64401, 0,
411
  /* 39 */ 64434, 0,
412
  /* 41 */ 64712, 0,
413
  /* 43 */ 65244, 0,
414
  /* 45 */ 65252, 0,
415
  /* 47 */ 65260, 0,
416
  /* 49 */ 65267, 0,
417
  /* 51 */ 65268, 0,
418
  /* 53 */ 65342, 0,
419
  /* 55 */ 65364, 0,
420
  /* 57 */ 65365, 0,
421
  /* 59 */ 65376, 0,
422
  /* 61 */ 65461, 0,
423
  /* 63 */ 65489, 0,
424
  /* 65 */ 65493, 0,
425
  /* 67 */ 65502, 0,
426
  /* 69 */ 65524, 0,
427
  /* 71 */ 65525, 0,
428
  /* 73 */ 65528, 0,
429
  /* 75 */ 65535, 0,
430
};
431
432
extern const unsigned PPCLaneMaskLists[] = {
433
  /* 0 */ 0x00000000, ~0u,
434
  /* 2 */ 0x00000001, ~0u,
435
  /* 4 */ 0x00000002, ~0u,
436
  /* 6 */ 0x00000010, 0x00000008, 0x00000004, 0x00000020, ~0u,
437
};
438
439
extern const uint16_t PPCSubRegIdxLists[] = {
440
  /* 0 */ 1, 0,
441
  /* 2 */ 3, 2, 0,
442
  /* 5 */ 6, 5, 4, 7, 0,
443
};
444
445
extern const MCRegisterInfo::SubRegCoveredBits PPCSubRegIdxRanges[] = {
446
  { 65535, 65535 },
447
  { 0, 32 },  // sub_32
448
  { 0, 64 },  // sub_64
449
  { 0, 128 }, // sub_128
450
  { 2, 1 }, // sub_eq
451
  { 1, 1 }, // sub_gt
452
  { 0, 1 }, // sub_lt
453
  { 3, 1 }, // sub_un
454
};
455
456
extern const char PPCRegStrings[] = {
457
  /* 0 */ 'Q', 'F', '1', '0', 0,
458
  /* 5 */ 'V', 'F', '1', '0', 0,
459
  /* 10 */ 'V', 'S', 'H', '1', '0', 0,
460
  /* 16 */ 'V', 'S', 'L', '1', '0', 0,
461
  /* 22 */ 'R', '1', '0', 0,
462
  /* 26 */ 'V', '1', '0', 0,
463
  /* 30 */ 'X', '1', '0', 0,
464
  /* 34 */ 'Q', 'F', '2', '0', 0,
465
  /* 39 */ 'V', 'F', '2', '0', 0,
466
  /* 44 */ 'V', 'S', 'H', '2', '0', 0,
467
  /* 50 */ 'V', 'S', 'L', '2', '0', 0,
468
  /* 56 */ 'R', '2', '0', 0,
469
  /* 60 */ 'V', '2', '0', 0,
470
  /* 64 */ 'X', '2', '0', 0,
471
  /* 68 */ 'Q', 'F', '3', '0', 0,
472
  /* 73 */ 'V', 'F', '3', '0', 0,
473
  /* 78 */ 'V', 'S', 'H', '3', '0', 0,
474
  /* 84 */ 'V', 'S', 'L', '3', '0', 0,
475
  /* 90 */ 'R', '3', '0', 0,
476
  /* 94 */ 'V', '3', '0', 0,
477
  /* 98 */ 'X', '3', '0', 0,
478
  /* 102 */ 'Q', 'F', '0', 0,
479
  /* 106 */ 'V', 'F', '0', 0,
480
  /* 110 */ 'V', 'S', 'H', '0', 0,
481
  /* 115 */ 'V', 'S', 'L', '0', 0,
482
  /* 120 */ 'C', 'R', '0', 0,
483
  /* 124 */ 'V', '0', 0,
484
  /* 127 */ 'X', '0', 0,
485
  /* 130 */ 'Q', 'F', '1', '1', 0,
486
  /* 135 */ 'V', 'F', '1', '1', 0,
487
  /* 140 */ 'V', 'S', 'H', '1', '1', 0,
488
  /* 146 */ 'V', 'S', 'L', '1', '1', 0,
489
  /* 152 */ 'R', '1', '1', 0,
490
  /* 156 */ 'V', '1', '1', 0,
491
  /* 160 */ 'X', '1', '1', 0,
492
  /* 164 */ 'Q', 'F', '2', '1', 0,
493
  /* 169 */ 'V', 'F', '2', '1', 0,
494
  /* 174 */ 'V', 'S', 'H', '2', '1', 0,
495
  /* 180 */ 'V', 'S', 'L', '2', '1', 0,
496
  /* 186 */ 'R', '2', '1', 0,
497
  /* 190 */ 'V', '2', '1', 0,
498
  /* 194 */ 'X', '2', '1', 0,
499
  /* 198 */ 'Q', 'F', '3', '1', 0,
500
  /* 203 */ 'V', 'F', '3', '1', 0,
501
  /* 208 */ 'V', 'S', 'H', '3', '1', 0,
502
  /* 214 */ 'V', 'S', 'L', '3', '1', 0,
503
  /* 220 */ 'R', '3', '1', 0,
504
  /* 224 */ 'V', '3', '1', 0,
505
  /* 228 */ 'X', '3', '1', 0,
506
  /* 232 */ 'Q', 'F', '1', 0,
507
  /* 236 */ 'V', 'F', '1', 0,
508
  /* 240 */ 'V', 'S', 'H', '1', 0,
509
  /* 245 */ 'V', 'S', 'L', '1', 0,
510
  /* 250 */ 'C', 'R', '1', 0,
511
  /* 254 */ 'V', '1', 0,
512
  /* 257 */ 'X', '1', 0,
513
  /* 260 */ 'Q', 'F', '1', '2', 0,
514
  /* 265 */ 'V', 'F', '1', '2', 0,
515
  /* 270 */ 'V', 'S', 'H', '1', '2', 0,
516
  /* 276 */ 'V', 'S', 'L', '1', '2', 0,
517
  /* 282 */ 'R', '1', '2', 0,
518
  /* 286 */ 'V', '1', '2', 0,
519
  /* 290 */ 'X', '1', '2', 0,
520
  /* 294 */ 'Q', 'F', '2', '2', 0,
521
  /* 299 */ 'V', 'F', '2', '2', 0,
522
  /* 304 */ 'V', 'S', 'H', '2', '2', 0,
523
  /* 310 */ 'V', 'S', 'L', '2', '2', 0,
524
  /* 316 */ 'R', '2', '2', 0,
525
  /* 320 */ 'V', '2', '2', 0,
526
  /* 324 */ 'X', '2', '2', 0,
527
  /* 328 */ 'Q', 'F', '2', 0,
528
  /* 332 */ 'V', 'F', '2', 0,
529
  /* 336 */ 'V', 'S', 'H', '2', 0,
530
  /* 341 */ 'V', 'S', 'L', '2', 0,
531
  /* 346 */ 'C', 'R', '2', 0,
532
  /* 350 */ 'V', '2', 0,
533
  /* 353 */ 'X', '2', 0,
534
  /* 356 */ 'Q', 'F', '1', '3', 0,
535
  /* 361 */ 'V', 'F', '1', '3', 0,
536
  /* 366 */ 'V', 'S', 'H', '1', '3', 0,
537
  /* 372 */ 'V', 'S', 'L', '1', '3', 0,
538
  /* 378 */ 'R', '1', '3', 0,
539
  /* 382 */ 'V', '1', '3', 0,
540
  /* 386 */ 'X', '1', '3', 0,
541
  /* 390 */ 'Q', 'F', '2', '3', 0,
542
  /* 395 */ 'V', 'F', '2', '3', 0,
543
  /* 400 */ 'V', 'S', 'H', '2', '3', 0,
544
  /* 406 */ 'V', 'S', 'L', '2', '3', 0,
545
  /* 412 */ 'R', '2', '3', 0,
546
  /* 416 */ 'V', '2', '3', 0,
547
  /* 420 */ 'X', '2', '3', 0,
548
  /* 424 */ 'Q', 'F', '3', 0,
549
  /* 428 */ 'V', 'F', '3', 0,
550
  /* 432 */ 'V', 'S', 'H', '3', 0,
551
  /* 437 */ 'V', 'S', 'L', '3', 0,
552
  /* 442 */ 'C', 'R', '3', 0,
553
  /* 446 */ 'V', '3', 0,
554
  /* 449 */ 'X', '3', 0,
555
  /* 452 */ 'Q', 'F', '1', '4', 0,
556
  /* 457 */ 'V', 'F', '1', '4', 0,
557
  /* 462 */ 'V', 'S', 'H', '1', '4', 0,
558
  /* 468 */ 'V', 'S', 'L', '1', '4', 0,
559
  /* 474 */ 'R', '1', '4', 0,
560
  /* 478 */ 'V', '1', '4', 0,
561
  /* 482 */ 'X', '1', '4', 0,
562
  /* 486 */ 'Q', 'F', '2', '4', 0,
563
  /* 491 */ 'V', 'F', '2', '4', 0,
564
  /* 496 */ 'V', 'S', 'H', '2', '4', 0,
565
  /* 502 */ 'V', 'S', 'L', '2', '4', 0,
566
  /* 508 */ 'R', '2', '4', 0,
567
  /* 512 */ 'V', '2', '4', 0,
568
  /* 516 */ 'X', '2', '4', 0,
569
  /* 520 */ 'Q', 'F', '4', 0,
570
  /* 524 */ 'V', 'F', '4', 0,
571
  /* 528 */ 'V', 'S', 'H', '4', 0,
572
  /* 533 */ 'V', 'S', 'L', '4', 0,
573
  /* 538 */ 'C', 'R', '4', 0,
574
  /* 542 */ 'V', '4', 0,
575
  /* 545 */ 'X', '4', 0,
576
  /* 548 */ 'Q', 'F', '1', '5', 0,
577
  /* 553 */ 'V', 'F', '1', '5', 0,
578
  /* 558 */ 'V', 'S', 'H', '1', '5', 0,
579
  /* 564 */ 'V', 'S', 'L', '1', '5', 0,
580
  /* 570 */ 'R', '1', '5', 0,
581
  /* 574 */ 'V', '1', '5', 0,
582
  /* 578 */ 'X', '1', '5', 0,
583
  /* 582 */ 'Q', 'F', '2', '5', 0,
584
  /* 587 */ 'V', 'F', '2', '5', 0,
585
  /* 592 */ 'V', 'S', 'H', '2', '5', 0,
586
  /* 598 */ 'V', 'S', 'L', '2', '5', 0,
587
  /* 604 */ 'R', '2', '5', 0,
588
  /* 608 */ 'V', '2', '5', 0,
589
  /* 612 */ 'X', '2', '5', 0,
590
  /* 616 */ 'Q', 'F', '5', 0,
591
  /* 620 */ 'V', 'F', '5', 0,
592
  /* 624 */ 'V', 'S', 'H', '5', 0,
593
  /* 629 */ 'V', 'S', 'L', '5', 0,
594
  /* 634 */ 'C', 'R', '5', 0,
595
  /* 638 */ 'V', '5', 0,
596
  /* 641 */ 'X', '5', 0,
597
  /* 644 */ 'Q', 'F', '1', '6', 0,
598
  /* 649 */ 'V', 'F', '1', '6', 0,
599
  /* 654 */ 'V', 'S', 'H', '1', '6', 0,
600
  /* 660 */ 'V', 'S', 'L', '1', '6', 0,
601
  /* 666 */ 'R', '1', '6', 0,
602
  /* 670 */ 'V', '1', '6', 0,
603
  /* 674 */ 'X', '1', '6', 0,
604
  /* 678 */ 'Q', 'F', '2', '6', 0,
605
  /* 683 */ 'V', 'F', '2', '6', 0,
606
  /* 688 */ 'V', 'S', 'H', '2', '6', 0,
607
  /* 694 */ 'V', 'S', 'L', '2', '6', 0,
608
  /* 700 */ 'R', '2', '6', 0,
609
  /* 704 */ 'V', '2', '6', 0,
610
  /* 708 */ 'X', '2', '6', 0,
611
  /* 712 */ 'Q', 'F', '6', 0,
612
  /* 716 */ 'V', 'F', '6', 0,
613
  /* 720 */ 'V', 'S', 'H', '6', 0,
614
  /* 725 */ 'V', 'S', 'L', '6', 0,
615
  /* 730 */ 'C', 'R', '6', 0,
616
  /* 734 */ 'V', '6', 0,
617
  /* 737 */ 'X', '6', 0,
618
  /* 740 */ 'Q', 'F', '1', '7', 0,
619
  /* 745 */ 'V', 'F', '1', '7', 0,
620
  /* 750 */ 'V', 'S', 'H', '1', '7', 0,
621
  /* 756 */ 'V', 'S', 'L', '1', '7', 0,
622
  /* 762 */ 'R', '1', '7', 0,
623
  /* 766 */ 'V', '1', '7', 0,
624
  /* 770 */ 'X', '1', '7', 0,
625
  /* 774 */ 'Q', 'F', '2', '7', 0,
626
  /* 779 */ 'V', 'F', '2', '7', 0,
627
  /* 784 */ 'V', 'S', 'H', '2', '7', 0,
628
  /* 790 */ 'V', 'S', 'L', '2', '7', 0,
629
  /* 796 */ 'R', '2', '7', 0,
630
  /* 800 */ 'V', '2', '7', 0,
631
  /* 804 */ 'X', '2', '7', 0,
632
  /* 808 */ 'Q', 'F', '7', 0,
633
  /* 812 */ 'V', 'F', '7', 0,
634
  /* 816 */ 'V', 'S', 'H', '7', 0,
635
  /* 821 */ 'V', 'S', 'L', '7', 0,
636
  /* 826 */ 'C', 'R', '7', 0,
637
  /* 830 */ 'V', '7', 0,
638
  /* 833 */ 'X', '7', 0,
639
  /* 836 */ 'Q', 'F', '1', '8', 0,
640
  /* 841 */ 'V', 'F', '1', '8', 0,
641
  /* 846 */ 'V', 'S', 'H', '1', '8', 0,
642
  /* 852 */ 'V', 'S', 'L', '1', '8', 0,
643
  /* 858 */ 'R', '1', '8', 0,
644
  /* 862 */ 'V', '1', '8', 0,
645
  /* 866 */ 'X', '1', '8', 0,
646
  /* 870 */ 'Q', 'F', '2', '8', 0,
647
  /* 875 */ 'V', 'F', '2', '8', 0,
648
  /* 880 */ 'V', 'S', 'H', '2', '8', 0,
649
  /* 886 */ 'V', 'S', 'L', '2', '8', 0,
650
  /* 892 */ 'R', '2', '8', 0,
651
  /* 896 */ 'V', '2', '8', 0,
652
  /* 900 */ 'X', '2', '8', 0,
653
  /* 904 */ 'Q', 'F', '8', 0,
654
  /* 908 */ 'V', 'F', '8', 0,
655
  /* 912 */ 'V', 'S', 'H', '8', 0,
656
  /* 917 */ 'V', 'S', 'L', '8', 0,
657
  /* 922 */ 'Z', 'E', 'R', 'O', '8', 0,
658
  /* 928 */ 'B', 'P', '8', 0,
659
  /* 932 */ 'F', 'P', '8', 0,
660
  /* 936 */ 'L', 'R', '8', 0,
661
  /* 940 */ 'C', 'T', 'R', '8', 0,
662
  /* 945 */ 'V', '8', 0,
663
  /* 948 */ 'X', '8', 0,
664
  /* 951 */ 'Q', 'F', '1', '9', 0,
665
  /* 956 */ 'V', 'F', '1', '9', 0,
666
  /* 961 */ 'V', 'S', 'H', '1', '9', 0,
667
  /* 967 */ 'V', 'S', 'L', '1', '9', 0,
668
  /* 973 */ 'R', '1', '9', 0,
669
  /* 977 */ 'V', '1', '9', 0,
670
  /* 981 */ 'X', '1', '9', 0,
671
  /* 985 */ 'Q', 'F', '2', '9', 0,
672
  /* 990 */ 'V', 'F', '2', '9', 0,
673
  /* 995 */ 'V', 'S', 'H', '2', '9', 0,
674
  /* 1001 */ 'V', 'S', 'L', '2', '9', 0,
675
  /* 1007 */ 'R', '2', '9', 0,
676
  /* 1011 */ 'V', '2', '9', 0,
677
  /* 1015 */ 'X', '2', '9', 0,
678
  /* 1019 */ 'Q', 'F', '9', 0,
679
  /* 1023 */ 'V', 'F', '9', 0,
680
  /* 1027 */ 'V', 'S', 'H', '9', 0,
681
  /* 1032 */ 'V', 'S', 'L', '9', 0,
682
  /* 1037 */ 'R', '9', 0,
683
  /* 1040 */ 'V', '9', 0,
684
  /* 1043 */ 'X', '9', 0,
685
  /* 1046 */ 'V', 'R', 'S', 'A', 'V', 'E', 0,
686
  /* 1053 */ 'R', 'M', 0,
687
  /* 1056 */ 'C', 'R', '0', 'U', 'N', 0,
688
  /* 1062 */ 'C', 'R', '1', 'U', 'N', 0,
689
  /* 1068 */ 'C', 'R', '2', 'U', 'N', 0,
690
  /* 1074 */ 'C', 'R', '3', 'U', 'N', 0,
691
  /* 1080 */ 'C', 'R', '4', 'U', 'N', 0,
692
  /* 1086 */ 'C', 'R', '5', 'U', 'N', 0,
693
  /* 1092 */ 'C', 'R', '6', 'U', 'N', 0,
694
  /* 1098 */ 'C', 'R', '7', 'U', 'N', 0,
695
  /* 1104 */ 'Z', 'E', 'R', 'O', 0,
696
  /* 1109 */ 'B', 'P', 0,
697
  /* 1112 */ 'F', 'P', 0,
698
  /* 1115 */ 'C', 'R', '0', 'E', 'Q', 0,
699
  /* 1121 */ 'C', 'R', '1', 'E', 'Q', 0,
700
  /* 1127 */ 'C', 'R', '2', 'E', 'Q', 0,
701
  /* 1133 */ 'C', 'R', '3', 'E', 'Q', 0,
702
  /* 1139 */ 'C', 'R', '4', 'E', 'Q', 0,
703
  /* 1145 */ 'C', 'R', '5', 'E', 'Q', 0,
704
  /* 1151 */ 'C', 'R', '6', 'E', 'Q', 0,
705
  /* 1157 */ 'C', 'R', '7', 'E', 'Q', 0,
706
  /* 1163 */ 'L', 'R', 0,
707
  /* 1166 */ 'C', 'T', 'R', 0,
708
  /* 1170 */ 'C', 'R', '0', 'G', 'T', 0,
709
  /* 1176 */ 'C', 'R', '1', 'G', 'T', 0,
710
  /* 1182 */ 'C', 'R', '2', 'G', 'T', 0,
711
  /* 1188 */ 'C', 'R', '3', 'G', 'T', 0,
712
  /* 1194 */ 'C', 'R', '4', 'G', 'T', 0,
713
  /* 1200 */ 'C', 'R', '5', 'G', 'T', 0,
714
  /* 1206 */ 'C', 'R', '6', 'G', 'T', 0,
715
  /* 1212 */ 'C', 'R', '7', 'G', 'T', 0,
716
  /* 1218 */ 'C', 'R', '0', 'L', 'T', 0,
717
  /* 1224 */ 'C', 'R', '1', 'L', 'T', 0,
718
  /* 1230 */ 'C', 'R', '2', 'L', 'T', 0,
719
  /* 1236 */ 'C', 'R', '3', 'L', 'T', 0,
720
  /* 1242 */ 'C', 'R', '4', 'L', 'T', 0,
721
  /* 1248 */ 'C', 'R', '5', 'L', 'T', 0,
722
  /* 1254 */ 'C', 'R', '6', 'L', 'T', 0,
723
  /* 1260 */ 'C', 'R', '7', 'L', 'T', 0,
724
  /* 1266 */ 'C', 'A', 'R', 'R', 'Y', 0,
725
};
726
727
extern const MCRegisterDesc PPCRegDesc[] = { // Descriptors
728
  { 4, 0, 0, 0, 0, 0 },
729
  { 1109, 1, 9, 1, 1201, 0 },
730
  { 1266, 1, 1, 1, 1201, 0 },
731
  { 1166, 1, 1, 1, 1201, 0 },
732
  { 1112, 1, 21, 1, 1201, 0 },
733
  { 1163, 1, 1, 1, 1201, 0 },
734
  { 1053, 1, 1, 1, 1201, 0 },
735
  { 1046, 1, 1, 1, 1201, 0 },
736
  { 1104, 1, 31, 1, 1201, 0 },
737
  { 928, 73, 1, 0, 0, 2 },
738
  { 120, 13, 1, 5, 36, 6 },
739
  { 250, 13, 1, 5, 36, 6 },
740
  { 346, 13, 1, 5, 36, 6 },
741
  { 442, 13, 1, 5, 36, 6 },
742
  { 538, 13, 1, 5, 36, 6 },
743
  { 634, 13, 1, 5, 36, 6 },
744
  { 730, 13, 1, 5, 36, 6 },
745
  { 826, 13, 1, 5, 36, 6 },
746
  { 940, 1, 1, 1, 177, 0 },
747
  { 103, 1, 28, 1, 177, 0 },
748
  { 233, 1, 28, 1, 177, 0 },
749
  { 329, 1, 28, 1, 177, 0 },
750
  { 425, 1, 28, 1, 177, 0 },
751
  { 521, 1, 28, 1, 177, 0 },
752
  { 617, 1, 28, 1, 177, 0 },
753
  { 713, 1, 28, 1, 177, 0 },
754
  { 809, 1, 28, 1, 177, 0 },
755
  { 905, 1, 28, 1, 177, 0 },
756
  { 1020, 1, 28, 1, 177, 0 },
757
  { 1, 1, 28, 1, 177, 0 },
758
  { 131, 1, 28, 1, 177, 0 },
759
  { 261, 1, 28, 1, 177, 0 },
760
  { 357, 1, 28, 1, 177, 0 },
761
  { 453, 1, 28, 1, 177, 0 },
762
  { 549, 1, 28, 1, 177, 0 },
763
  { 645, 1, 28, 1, 177, 0 },
764
  { 741, 1, 28, 1, 177, 0 },
765
  { 837, 1, 28, 1, 177, 0 },
766
  { 952, 1, 28, 1, 177, 0 },
767
  { 35, 1, 28, 1, 177, 0 },
768
  { 165, 1, 28, 1, 177, 0 },
769
  { 295, 1, 28, 1, 177, 0 },
770
  { 391, 1, 28, 1, 177, 0 },
771
  { 487, 1, 28, 1, 177, 0 },
772
  { 583, 1, 28, 1, 177, 0 },
773
  { 679, 1, 28, 1, 177, 0 },
774
  { 775, 1, 28, 1, 177, 0 },
775
  { 871, 1, 28, 1, 177, 0 },
776
  { 986, 1, 28, 1, 177, 0 },
777
  { 69, 1, 28, 1, 177, 0 },
778
  { 199, 1, 28, 1, 177, 0 },
779
  { 932, 63, 1, 0, 112, 2 },
780
  { 936, 1, 1, 1, 416, 0 },
781
  { 102, 67, 1, 3, 1105, 4 },
782
  { 232, 67, 1, 3, 1105, 4 },
783
  { 328, 67, 1, 3, 1105, 4 },
784
  { 424, 67, 1, 3, 1105, 4 },
785
  { 520, 67, 1, 3, 1105, 4 },
786
  { 616, 67, 1, 3, 1105, 4 },
787
  { 712, 67, 1, 3, 1105, 4 },
788
  { 808, 67, 1, 3, 1105, 4 },
789
  { 904, 67, 1, 3, 1105, 4 },
790
  { 1019, 67, 1, 3, 1105, 4 },
791
  { 0, 67, 1, 3, 1105, 4 },
792
  { 130, 67, 1, 3, 1105, 4 },
793
  { 260, 67, 1, 3, 1105, 4 },
794
  { 356, 67, 1, 3, 1105, 4 },
795
  { 452, 67, 1, 3, 1105, 4 },
796
  { 548, 67, 1, 3, 1105, 4 },
797
  { 644, 67, 1, 3, 1105, 4 },
798
  { 740, 67, 1, 3, 1105, 4 },
799
  { 836, 67, 1, 3, 1105, 4 },
800
  { 951, 67, 1, 3, 1105, 4 },
801
  { 34, 67, 1, 3, 1105, 4 },
802
  { 164, 67, 1, 3, 1105, 4 },
803
  { 294, 67, 1, 3, 1105, 4 },
804
  { 390, 67, 1, 3, 1105, 4 },
805
  { 486, 67, 1, 3, 1105, 4 },
806
  { 582, 67, 1, 3, 1105, 4 },
807
  { 678, 67, 1, 3, 1105, 4 },
808
  { 774, 67, 1, 3, 1105, 4 },
809
  { 870, 67, 1, 3, 1105, 4 },
810
  { 985, 67, 1, 3, 1105, 4 },
811
  { 68, 67, 1, 3, 1105, 4 },
812
  { 198, 67, 1, 3, 1105, 4 },
813
  { 121, 1, 29, 1, 1137, 0 },
814
  { 251, 1, 29, 1, 1137, 0 },
815
  { 347, 1, 29, 1, 1137, 0 },
816
  { 443, 1, 29, 1, 1137, 0 },
817
  { 539, 1, 29, 1, 1137, 0 },
818
  { 635, 1, 29, 1, 1137, 0 },
819
  { 731, 1, 29, 1, 1137, 0 },
820
  { 827, 1, 29, 1, 1137, 0 },
821
  { 937, 1, 29, 1, 1137, 0 },
822
  { 1037, 1, 29, 1, 1137, 0 },
823
  { 22, 1, 29, 1, 1137, 0 },
824
  { 152, 1, 29, 1, 1137, 0 },
825
  { 282, 1, 29, 1, 1137, 0 },
826
  { 378, 1, 29, 1, 1137, 0 },
827
  { 474, 1, 29, 1, 1137, 0 },
828
  { 570, 1, 29, 1, 1137, 0 },
829
  { 666, 1, 29, 1, 1137, 0 },
830
  { 762, 1, 29, 1, 1137, 0 },
831
  { 858, 1, 29, 1, 1137, 0 },
832
  { 973, 1, 29, 1, 1137, 0 },
833
  { 56, 1, 29, 1, 1137, 0 },
834
  { 186, 1, 29, 1, 1137, 0 },
835
  { 316, 1, 29, 1, 1137, 0 },
836
  { 412, 1, 29, 1, 1137, 0 },
837
  { 508, 1, 29, 1, 1137, 0 },
838
  { 604, 1, 29, 1, 1137, 0 },
839
  { 700, 1, 29, 1, 1137, 0 },
840
  { 796, 1, 29, 1, 1137, 0 },
841
  { 892, 1, 29, 1, 1137, 0 },
842
  { 1007, 1, 29, 1, 1137, 0 },
843
  { 90, 1, 29, 1, 1137, 0 },
844
  { 220, 1, 29, 1, 1137, 0 },
845
  { 124, 19, 24, 3, 1137, 4 },
846
  { 254, 19, 24, 3, 1137, 4 },
847
  { 350, 19, 24, 3, 1137, 4 },
848
  { 446, 19, 24, 3, 1137, 4 },
849
  { 542, 19, 24, 3, 1137, 4 },
850
  { 638, 19, 24, 3, 1137, 4 },
851
  { 734, 19, 24, 3, 1137, 4 },
852
  { 830, 19, 24, 3, 1137, 4 },
853
  { 945, 19, 24, 3, 1137, 4 },
854
  { 1040, 19, 24, 3, 1137, 4 },
855
  { 26, 19, 24, 3, 1137, 4 },
856
  { 156, 19, 24, 3, 1137, 4 },
857
  { 286, 19, 24, 3, 1137, 4 },
858
  { 382, 19, 24, 3, 1137, 4 },
859
  { 478, 19, 24, 3, 1137, 4 },
860
  { 574, 19, 24, 3, 1137, 4 },
861
  { 670, 19, 24, 3, 1137, 4 },
862
  { 766, 19, 24, 3, 1137, 4 },
863
  { 862, 19, 24, 3, 1137, 4 },
864
  { 977, 19, 24, 3, 1137, 4 },
865
  { 60, 19, 24, 3, 1137, 4 },
866
  { 190, 19, 24, 3, 1137, 4 },
867
  { 320, 19, 24, 3, 1137, 4 },
868
  { 416, 19, 24, 3, 1137, 4 },
869
  { 512, 19, 24, 3, 1137, 4 },
870
  { 608, 19, 24, 3, 1137, 4 },
871
  { 704, 19, 24, 3, 1137, 4 },
872
  { 800, 19, 24, 3, 1137, 4 },
873
  { 896, 19, 24, 3, 1137, 4 },
874
  { 1011, 19, 24, 3, 1137, 4 },
875
  { 94, 19, 24, 3, 1137, 4 },
876
  { 224, 19, 24, 3, 1137, 4 },
877
  { 106, 1, 23, 1, 1041, 0 },
878
  { 236, 1, 23, 1, 1041, 0 },
879
  { 332, 1, 23, 1, 1041, 0 },
880
  { 428, 1, 23, 1, 1041, 0 },
881
  { 524, 1, 23, 1, 1041, 0 },
882
  { 620, 1, 23, 1, 1041, 0 },
883
  { 716, 1, 23, 1, 1041, 0 },
884
  { 812, 1, 23, 1, 1041, 0 },
885
  { 908, 1, 23, 1, 1041, 0 },
886
  { 1023, 1, 23, 1, 1041, 0 },
887
  { 5, 1, 23, 1, 1041, 0 },
888
  { 135, 1, 23, 1, 1041, 0 },
889
  { 265, 1, 23, 1, 1041, 0 },
890
  { 361, 1, 23, 1, 1041, 0 },
891
  { 457, 1, 23, 1, 1041, 0 },
892
  { 553, 1, 23, 1, 1041, 0 },
893
  { 649, 1, 23, 1, 1041, 0 },
894
  { 745, 1, 23, 1, 1041, 0 },
895
  { 841, 1, 23, 1, 1041, 0 },
896
  { 956, 1, 23, 1, 1041, 0 },
897
  { 39, 1, 23, 1, 1041, 0 },
898
  { 169, 1, 23, 1, 1041, 0 },
899
  { 299, 1, 23, 1, 1041, 0 },
900
  { 395, 1, 23, 1, 1041, 0 },
901
  { 491, 1, 23, 1, 1041, 0 },
902
  { 587, 1, 23, 1, 1041, 0 },
903
  { 683, 1, 23, 1, 1041, 0 },
904
  { 779, 1, 23, 1, 1041, 0 },
905
  { 875, 1, 23, 1, 1041, 0 },
906
  { 990, 1, 23, 1, 1041, 0 },
907
  { 73, 1, 23, 1, 1041, 0 },
908
  { 203, 1, 23, 1, 1041, 0 },
909
  { 110, 18, 1, 2, 977, 4 },
910
  { 240, 18, 1, 2, 977, 4 },
911
  { 336, 18, 1, 2, 977, 4 },
912
  { 432, 18, 1, 2, 977, 4 },
913
  { 528, 18, 1, 2, 977, 4 },
914
  { 624, 18, 1, 2, 977, 4 },
915
  { 720, 18, 1, 2, 977, 4 },
916
  { 816, 18, 1, 2, 977, 4 },
917
  { 912, 18, 1, 2, 977, 4 },
918
  { 1027, 18, 1, 2, 977, 4 },
919
  { 10, 18, 1, 2, 977, 4 },
920
  { 140, 18, 1, 2, 977, 4 },
921
  { 270, 18, 1, 2, 977, 4 },
922
  { 366, 18, 1, 2, 977, 4 },
923
  { 462, 18, 1, 2, 977, 4 },
924
  { 558, 18, 1, 2, 977, 4 },
925
  { 654, 18, 1, 2, 977, 4 },
926
  { 750, 18, 1, 2, 977, 4 },
927
  { 846, 18, 1, 2, 977, 4 },
928
  { 961, 18, 1, 2, 977, 4 },
929
  { 44, 18, 1, 2, 977, 4 },
930
  { 174, 18, 1, 2, 977, 4 },
931
  { 304, 18, 1, 2, 977, 4 },
932
  { 400, 18, 1, 2, 977, 4 },
933
  { 496, 18, 1, 2, 977, 4 },
934
  { 592, 18, 1, 2, 977, 4 },
935
  { 688, 18, 1, 2, 977, 4 },
936
  { 784, 18, 1, 2, 977, 4 },
937
  { 880, 18, 1, 2, 977, 4 },
938
  { 995, 18, 1, 2, 977, 4 },
939
  { 78, 18, 1, 2, 977, 4 },
940
  { 208, 18, 1, 2, 977, 4 },
941
  { 115, 53, 1, 3, 881, 4 },
942
  { 245, 53, 1, 3, 881, 4 },
943
  { 341, 53, 1, 3, 881, 4 },
944
  { 437, 53, 1, 3, 881, 4 },
945
  { 533, 53, 1, 3, 881, 4 },
946
  { 629, 53, 1, 3, 881, 4 },
947
  { 725, 53, 1, 3, 881, 4 },
948
  { 821, 53, 1, 3, 881, 4 },
949
  { 917, 53, 1, 3, 881, 4 },
950
  { 1032, 53, 1, 3, 881, 4 },
951
  { 16, 53, 1, 3, 881, 4 },
952
  { 146, 53, 1, 3, 881, 4 },
953
  { 276, 53, 1, 3, 881, 4 },
954
  { 372, 53, 1, 3, 881, 4 },
955
  { 468, 53, 1, 3, 881, 4 },
956
  { 564, 53, 1, 3, 881, 4 },
957
  { 660, 53, 1, 3, 881, 4 },
958
  { 756, 53, 1, 3, 881, 4 },
959
  { 852, 53, 1, 3, 881, 4 },
960
  { 967, 53, 1, 3, 881, 4 },
961
  { 50, 53, 1, 3, 881, 4 },
962
  { 180, 53, 1, 3, 881, 4 },
963
  { 310, 53, 1, 3, 881, 4 },
964
  { 406, 53, 1, 3, 881, 4 },
965
  { 502, 53, 1, 3, 881, 4 },
966
  { 598, 53, 1, 3, 881, 4 },
967
  { 694, 53, 1, 3, 881, 4 },
968
  { 790, 53, 1, 3, 881, 4 },
969
  { 886, 53, 1, 3, 881, 4 },
970
  { 1001, 53, 1, 3, 881, 4 },
971
  { 84, 53, 1, 3, 881, 4 },
972
  { 214, 53, 1, 3, 881, 4 },
973
  { 127, 59, 1, 0, 913, 2 },
974
  { 257, 59, 1, 0, 913, 2 },
975
  { 353, 59, 1, 0, 913, 2 },
976
  { 449, 59, 1, 0, 913, 2 },
977
  { 545, 59, 1, 0, 913, 2 },
978
  { 641, 59, 1, 0, 913, 2 },
979
  { 737, 59, 1, 0, 913, 2 },
980
  { 833, 59, 1, 0, 913, 2 },
981
  { 948, 59, 1, 0, 913, 2 },
982
  { 1043, 59, 1, 0, 913, 2 },
983
  { 30, 59, 1, 0, 913, 2 },
984
  { 160, 59, 1, 0, 913, 2 },
985
  { 290, 59, 1, 0, 913, 2 },
986
  { 386, 59, 1, 0, 913, 2 },
987
  { 482, 59, 1, 0, 913, 2 },
988
  { 578, 59, 1, 0, 913, 2 },
989
  { 674, 59, 1, 0, 913, 2 },
990
  { 770, 59, 1, 0, 913, 2 },
991
  { 866, 59, 1, 0, 913, 2 },
992
  { 981, 59, 1, 0, 913, 2 },
993
  { 64, 59, 1, 0, 913, 2 },
994
  { 194, 59, 1, 0, 913, 2 },
995
  { 324, 59, 1, 0, 913, 2 },
996
  { 420, 59, 1, 0, 913, 2 },
997
  { 516, 59, 1, 0, 913, 2 },
998
  { 612, 59, 1, 0, 913, 2 },
999
  { 708, 59, 1, 0, 913, 2 },
1000
  { 804, 59, 1, 0, 913, 2 },
1001
  { 900, 59, 1, 0, 913, 2 },
1002
  { 1015, 59, 1, 0, 913, 2 },
1003
  { 98, 59, 1, 0, 913, 2 },
1004
  { 228, 59, 1, 0, 913, 2 },
1005
  { 922, 49, 1, 0, 659, 2 },
1006
  { 1115, 1, 51, 1, 659, 0 },
1007
  { 1121, 1, 51, 1, 628, 0 },
1008
  { 1127, 1, 51, 1, 628, 0 },
1009
  { 1133, 1, 51, 1, 628, 0 },
1010
  { 1139, 1, 51, 1, 628, 0 },
1011
  { 1145, 1, 51, 1, 628, 0 },
1012
  { 1151, 1, 51, 1, 628, 0 },
1013
  { 1157, 1, 51, 1, 628, 0 },
1014
  { 1170, 1, 47, 1, 596, 0 },
1015
  { 1176, 1, 47, 1, 596, 0 },
1016
  { 1182, 1, 47, 1, 596, 0 },
1017
  { 1188, 1, 47, 1, 596, 0 },
1018
  { 1194, 1, 47, 1, 596, 0 },
1019
  { 1200, 1, 47, 1, 596, 0 },
1020
  { 1206, 1, 47, 1, 596, 0 },
1021
  { 1212, 1, 47, 1, 596, 0 },
1022
  { 1218, 1, 45, 1, 564, 0 },
1023
  { 1224, 1, 45, 1, 564, 0 },
1024
  { 1230, 1, 45, 1, 564, 0 },
1025
  { 1236, 1, 45, 1, 564, 0 },
1026
  { 1242, 1, 45, 1, 564, 0 },
1027
  { 1248, 1, 45, 1, 564, 0 },
1028
  { 1254, 1, 45, 1, 564, 0 },
1029
  { 1260, 1, 45, 1, 564, 0 },
1030
  { 1056, 1, 43, 1, 532, 0 },
1031
  { 1062, 1, 43, 1, 532, 0 },
1032
  { 1068, 1, 43, 1, 532, 0 },
1033
  { 1074, 1, 43, 1, 532, 0 },
1034
  { 1080, 1, 43, 1, 532, 0 },
1035
  { 1086, 1, 43, 1, 532, 0 },
1036
  { 1092, 1, 43, 1, 532, 0 },
1037
  { 1098, 1, 43, 1, 532, 0 },
1038
};
1039
1040
extern const MCPhysReg PPCRegUnitRoots[][2] = {
1041
  { PPC::BP },
1042
  { PPC::CARRY },
1043
  { PPC::CTR },
1044
  { PPC::FP },
1045
  { PPC::LR },
1046
  { PPC::RM },
1047
  { PPC::VRSAVE },
1048
  { PPC::ZERO },
1049
  { PPC::CR0LT },
1050
  { PPC::CR0GT },
1051
  { PPC::CR0EQ },
1052
  { PPC::CR0UN },
1053
  { PPC::CR1LT },
1054
  { PPC::CR1GT },
1055
  { PPC::CR1EQ },
1056
  { PPC::CR1UN },
1057
  { PPC::CR2LT },
1058
  { PPC::CR2GT },
1059
  { PPC::CR2EQ },
1060
  { PPC::CR2UN },
1061
  { PPC::CR3LT },
1062
  { PPC::CR3GT },
1063
  { PPC::CR3EQ },
1064
  { PPC::CR3UN },
1065
  { PPC::CR4LT },
1066
  { PPC::CR4GT },
1067
  { PPC::CR4EQ },
1068
  { PPC::CR4UN },
1069
  { PPC::CR5LT },
1070
  { PPC::CR5GT },
1071
  { PPC::CR5EQ },
1072
  { PPC::CR5UN },
1073
  { PPC::CR6LT },
1074
  { PPC::CR6GT },
1075
  { PPC::CR6EQ },
1076
  { PPC::CR6UN },
1077
  { PPC::CR7LT },
1078
  { PPC::CR7GT },
1079
  { PPC::CR7EQ },
1080
  { PPC::CR7UN },
1081
  { PPC::CTR8 },
1082
  { PPC::F0 },
1083
  { PPC::F1 },
1084
  { PPC::F2 },
1085
  { PPC::F3 },
1086
  { PPC::F4 },
1087
  { PPC::F5 },
1088
  { PPC::F6 },
1089
  { PPC::F7 },
1090
  { PPC::F8 },
1091
  { PPC::F9 },
1092
  { PPC::F10 },
1093
  { PPC::F11 },
1094
  { PPC::F12 },
1095
  { PPC::F13 },
1096
  { PPC::F14 },
1097
  { PPC::F15 },
1098
  { PPC::F16 },
1099
  { PPC::F17 },
1100
  { PPC::F18 },
1101
  { PPC::F19 },
1102
  { PPC::F20 },
1103
  { PPC::F21 },
1104
  { PPC::F22 },
1105
  { PPC::F23 },
1106
  { PPC::F24 },
1107
  { PPC::F25 },
1108
  { PPC::F26 },
1109
  { PPC::F27 },
1110
  { PPC::F28 },
1111
  { PPC::F29 },
1112
  { PPC::F30 },
1113
  { PPC::F31 },
1114
  { PPC::LR8 },
1115
  { PPC::R0 },
1116
  { PPC::R1 },
1117
  { PPC::R2 },
1118
  { PPC::R3 },
1119
  { PPC::R4 },
1120
  { PPC::R5 },
1121
  { PPC::R6 },
1122
  { PPC::R7 },
1123
  { PPC::R8 },
1124
  { PPC::R9 },
1125
  { PPC::R10 },
1126
  { PPC::R11 },
1127
  { PPC::R12 },
1128
  { PPC::R13 },
1129
  { PPC::R14 },
1130
  { PPC::R15 },
1131
  { PPC::R16 },
1132
  { PPC::R17 },
1133
  { PPC::R18 },
1134
  { PPC::R19 },
1135
  { PPC::R20 },
1136
  { PPC::R21 },
1137
  { PPC::R22 },
1138
  { PPC::R23 },
1139
  { PPC::R24 },
1140
  { PPC::R25 },
1141
  { PPC::R26 },
1142
  { PPC::R27 },
1143
  { PPC::R28 },
1144
  { PPC::R29 },
1145
  { PPC::R30 },
1146
  { PPC::R31 },
1147
  { PPC::VF0 },
1148
  { PPC::VF1 },
1149
  { PPC::VF2 },
1150
  { PPC::VF3 },
1151
  { PPC::VF4 },
1152
  { PPC::VF5 },
1153
  { PPC::VF6 },
1154
  { PPC::VF7 },
1155
  { PPC::VF8 },
1156
  { PPC::VF9 },
1157
  { PPC::VF10 },
1158
  { PPC::VF11 },
1159
  { PPC::VF12 },
1160
  { PPC::VF13 },
1161
  { PPC::VF14 },
1162
  { PPC::VF15 },
1163
  { PPC::VF16 },
1164
  { PPC::VF17 },
1165
  { PPC::VF18 },
1166
  { PPC::VF19 },
1167
  { PPC::VF20 },
1168
  { PPC::VF21 },
1169
  { PPC::VF22 },
1170
  { PPC::VF23 },
1171
  { PPC::VF24 },
1172
  { PPC::VF25 },
1173
  { PPC::VF26 },
1174
  { PPC::VF27 },
1175
  { PPC::VF28 },
1176
  { PPC::VF29 },
1177
  { PPC::VF30 },
1178
  { PPC::VF31 },
1179
};
1180
1181
namespace {     // Register classes...
1182
  // VSSRC Register Class...
1183
  const MCPhysReg VSSRC[] = {
1184
    PPC::F0, PPC::F1, PPC::F2, PPC::F3, PPC::F4, PPC::F5, PPC::F6, PPC::F7, PPC::F8, PPC::F9, PPC::F10, PPC::F11, PPC::F12, PPC::F13, PPC::F31, PPC::F30, PPC::F29, PPC::F28, PPC::F27, PPC::F26, PPC::F25, PPC::F24, PPC::F23, PPC::F22, PPC::F21, PPC::F20, PPC::F19, PPC::F18, PPC::F17, PPC::F16, PPC::F15, PPC::F14, PPC::VF2, PPC::VF3, PPC::VF4, PPC::VF5, PPC::VF0, PPC::VF1, PPC::VF6, PPC::VF7, PPC::VF8, PPC::VF9, PPC::VF10, PPC::VF11, PPC::VF12, PPC::VF13, PPC::VF14, PPC::VF15, PPC::VF16, PPC::VF17, PPC::VF18, PPC::VF19, PPC::VF31, PPC::VF30, PPC::VF29, PPC::VF28, PPC::VF27, PPC::VF26, PPC::VF25, PPC::VF24, PPC::VF23, PPC::VF22, PPC::VF21, PPC::VF20, 
1185
  };
1186
1187
  // VSSRC Bit set.
1188
  const uint8_t VSSRCBits[] = {
1189
    0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0x1f, 
1190
  };
1191
1192
  // GPRC Register Class...
1193
  const MCPhysReg GPRC[] = {
1194
    PPC::R2, PPC::R3, PPC::R4, PPC::R5, PPC::R6, PPC::R7, PPC::R8, PPC::R9, PPC::R10, PPC::R11, PPC::R12, PPC::R30, PPC::R29, PPC::R28, PPC::R27, PPC::R26, PPC::R25, PPC::R24, PPC::R23, PPC::R22, PPC::R21, PPC::R20, PPC::R19, PPC::R18, PPC::R17, PPC::R16, PPC::R15, PPC::R14, PPC::R13, PPC::R31, PPC::R0, PPC::R1, PPC::FP, PPC::BP, 
1195
  };
1196
1197
  // GPRC Bit set.
1198
  const uint8_t GPRCBits[] = {
1199
    0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0x1f, 
1200
  };
1201
1202
  // GPRC_NOR0 Register Class...
1203
  const MCPhysReg GPRC_NOR0[] = {
1204
    PPC::R2, PPC::R3, PPC::R4, PPC::R5, PPC::R6, PPC::R7, PPC::R8, PPC::R9, PPC::R10, PPC::R11, PPC::R12, PPC::R30, PPC::R29, PPC::R28, PPC::R27, PPC::R26, PPC::R25, PPC::R24, PPC::R23, PPC::R22, PPC::R21, PPC::R20, PPC::R19, PPC::R18, PPC::R17, PPC::R16, PPC::R15, PPC::R14, PPC::R13, PPC::R31, PPC::R1, PPC::FP, PPC::BP, PPC::ZERO, 
1205
  };
1206
1207
  // GPRC_NOR0 Bit set.
1208
  const uint8_t GPRC_NOR0Bits[] = {
1209
    0x12, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x1f, 
1210
  };
1211
1212
  // GPRC_and_GPRC_NOR0 Register Class...
1213
  const MCPhysReg GPRC_and_GPRC_NOR0[] = {
1214
    PPC::R2, PPC::R3, PPC::R4, PPC::R5, PPC::R6, PPC::R7, PPC::R8, PPC::R9, PPC::R10, PPC::R11, PPC::R12, PPC::R30, PPC::R29, PPC::R28, PPC::R27, PPC::R26, PPC::R25, PPC::R24, PPC::R23, PPC::R22, PPC::R21, PPC::R20, PPC::R19, PPC::R18, PPC::R17, PPC::R16, PPC::R15, PPC::R14, PPC::R13, PPC::R31, PPC::R1, PPC::FP, PPC::BP, 
1215
  };
1216
1217
  // GPRC_and_GPRC_NOR0 Bit set.
1218
  const uint8_t GPRC_and_GPRC_NOR0Bits[] = {
1219
    0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x1f, 
1220
  };
1221
1222
  // CRBITRC Register Class...
1223
  const MCPhysReg CRBITRC[] = {
1224
    PPC::CR2LT, PPC::CR2GT, PPC::CR2EQ, PPC::CR2UN, PPC::CR3LT, PPC::CR3GT, PPC::CR3EQ, PPC::CR3UN, PPC::CR4LT, PPC::CR4GT, PPC::CR4EQ, PPC::CR4UN, PPC::CR5LT, PPC::CR5GT, PPC::CR5EQ, PPC::CR5UN, PPC::CR6LT, PPC::CR6GT, PPC::CR6EQ, PPC::CR6UN, PPC::CR7LT, PPC::CR7GT, PPC::CR7EQ, PPC::CR7UN, PPC::CR1LT, PPC::CR1GT, PPC::CR1EQ, PPC::CR1UN, PPC::CR0LT, PPC::CR0GT, PPC::CR0EQ, PPC::CR0UN, 
1225
  };
1226
1227
  // CRBITRC Bit set.
1228
  const uint8_t CRBITRCBits[] = {
1229
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x3f, 
1230
  };
1231
1232
  // F4RC Register Class...
1233
  const MCPhysReg F4RC[] = {
1234
    PPC::F0, PPC::F1, PPC::F2, PPC::F3, PPC::F4, PPC::F5, PPC::F6, PPC::F7, PPC::F8, PPC::F9, PPC::F10, PPC::F11, PPC::F12, PPC::F13, PPC::F31, PPC::F30, PPC::F29, PPC::F28, PPC::F27, PPC::F26, PPC::F25, PPC::F24, PPC::F23, PPC::F22, PPC::F21, PPC::F20, PPC::F19, PPC::F18, PPC::F17, PPC::F16, PPC::F15, PPC::F14, 
1235
  };
1236
1237
  // F4RC Bit set.
1238
  const uint8_t F4RCBits[] = {
1239
    0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, 0x07, 
1240
  };
1241
1242
  // CRRC Register Class...
1243
  const MCPhysReg CRRC[] = {
1244
    PPC::CR0, PPC::CR1, PPC::CR5, PPC::CR6, PPC::CR7, PPC::CR2, PPC::CR3, PPC::CR4, 
1245
  };
1246
1247
  // CRRC Bit set.
1248
  const uint8_t CRRCBits[] = {
1249
    0x00, 0xfc, 0x03, 
1250
  };
1251
1252
  // CARRYRC Register Class...
1253
  const MCPhysReg CARRYRC[] = {
1254
    PPC::CARRY, 
1255
  };
1256
1257
  // CARRYRC Bit set.
1258
  const uint8_t CARRYRCBits[] = {
1259
    0x04, 
1260
  };
1261
1262
  // CRRC0 Register Class...
1263
  const MCPhysReg CRRC0[] = {
1264
    PPC::CR0, 
1265
  };
1266
1267
  // CRRC0 Bit set.
1268
  const uint8_t CRRC0Bits[] = {
1269
    0x00, 0x04, 
1270
  };
1271
1272
  // CTRRC Register Class...
1273
  const MCPhysReg CTRRC[] = {
1274
    PPC::CTR, 
1275
  };
1276
1277
  // CTRRC Bit set.
1278
  const uint8_t CTRRCBits[] = {
1279
    0x08, 
1280
  };
1281
1282
  // VRSAVERC Register Class...
1283
  const MCPhysReg VRSAVERC[] = {
1284
    PPC::VRSAVE, 
1285
  };
1286
1287
  // VRSAVERC Bit set.
1288
  const uint8_t VRSAVERCBits[] = {
1289
    0x80, 
1290
  };
1291
1292
  // VSFRC Register Class...
1293
  const MCPhysReg VSFRC[] = {
1294
    PPC::F0, PPC::F1, PPC::F2, PPC::F3, PPC::F4, PPC::F5, PPC::F6, PPC::F7, PPC::F8, PPC::F9, PPC::F10, PPC::F11, PPC::F12, PPC::F13, PPC::F31, PPC::F30, PPC::F29, PPC::F28, PPC::F27, PPC::F26, PPC::F25, PPC::F24, PPC::F23, PPC::F22, PPC::F21, PPC::F20, PPC::F19, PPC::F18, PPC::F17, PPC::F16, PPC::F15, PPC::F14, PPC::VF2, PPC::VF3, PPC::VF4, PPC::VF5, PPC::VF0, PPC::VF1, PPC::VF6, PPC::VF7, PPC::VF8, PPC::VF9, PPC::VF10, PPC::VF11, PPC::VF12, PPC::VF13, PPC::VF14, PPC::VF15, PPC::VF16, PPC::VF17, PPC::VF18, PPC::VF19, PPC::VF31, PPC::VF30, PPC::VF29, PPC::VF28, PPC::VF27, PPC::VF26, PPC::VF25, PPC::VF24, PPC::VF23, PPC::VF22, PPC::VF21, PPC::VF20, 
1295
  };
1296
1297
  // VSFRC Bit set.
1298
  const uint8_t VSFRCBits[] = {
1299
    0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0x1f, 
1300
  };
1301
1302
  // G8RC Register Class...
1303
  const MCPhysReg G8RC[] = {
1304
    PPC::X2, PPC::X3, PPC::X4, PPC::X5, PPC::X6, PPC::X7, PPC::X8, PPC::X9, PPC::X10, PPC::X11, PPC::X12, PPC::X30, PPC::X29, PPC::X28, PPC::X27, PPC::X26, PPC::X25, PPC::X24, PPC::X23, PPC::X22, PPC::X21, PPC::X20, PPC::X19, PPC::X18, PPC::X17, PPC::X16, PPC::X15, PPC::X14, PPC::X31, PPC::X13, PPC::X0, PPC::X1, PPC::FP8, PPC::BP8, 
1305
  };
1306
1307
  // G8RC Bit set.
1308
  const uint8_t G8RCBits[] = {
1309
    0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0x1f, 
1310
  };
1311
1312
  // G8RC_NOX0 Register Class...
1313
  const MCPhysReg G8RC_NOX0[] = {
1314
    PPC::X2, PPC::X3, PPC::X4, PPC::X5, PPC::X6, PPC::X7, PPC::X8, PPC::X9, PPC::X10, PPC::X11, PPC::X12, PPC::X30, PPC::X29, PPC::X28, PPC::X27, PPC::X26, PPC::X25, PPC::X24, PPC::X23, PPC::X22, PPC::X21, PPC::X20, PPC::X19, PPC::X18, PPC::X17, PPC::X16, PPC::X15, PPC::X14, PPC::X31, PPC::X13, PPC::X1, PPC::FP8, PPC::BP8, PPC::ZERO8, 
1315
  };
1316
1317
  // G8RC_NOX0 Bit set.
1318
  const uint8_t G8RC_NOX0Bits[] = {
1319
    0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x3f, 
1320
  };
1321
1322
  // G8RC_and_G8RC_NOX0 Register Class...
1323
  const MCPhysReg G8RC_and_G8RC_NOX0[] = {
1324
    PPC::X2, PPC::X3, PPC::X4, PPC::X5, PPC::X6, PPC::X7, PPC::X8, PPC::X9, PPC::X10, PPC::X11, PPC::X12, PPC::X30, PPC::X29, PPC::X28, PPC::X27, PPC::X26, PPC::X25, PPC::X24, PPC::X23, PPC::X22, PPC::X21, PPC::X20, PPC::X19, PPC::X18, PPC::X17, PPC::X16, PPC::X15, PPC::X14, PPC::X31, PPC::X13, PPC::X1, PPC::FP8, PPC::BP8, 
1325
  };
1326
1327
  // G8RC_and_G8RC_NOX0 Bit set.
1328
  const uint8_t G8RC_and_G8RC_NOX0Bits[] = {
1329
    0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x1f, 
1330
  };
1331
1332
  // F8RC Register Class...
1333
  const MCPhysReg F8RC[] = {
1334
    PPC::F0, PPC::F1, PPC::F2, PPC::F3, PPC::F4, PPC::F5, PPC::F6, PPC::F7, PPC::F8, PPC::F9, PPC::F10, PPC::F11, PPC::F12, PPC::F13, PPC::F31, PPC::F30, PPC::F29, PPC::F28, PPC::F27, PPC::F26, PPC::F25, PPC::F24, PPC::F23, PPC::F22, PPC::F21, PPC::F20, PPC::F19, PPC::F18, PPC::F17, PPC::F16, PPC::F15, PPC::F14, 
1335
  };
1336
1337
  // F8RC Bit set.
1338
  const uint8_t F8RCBits[] = {
1339
    0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, 0x07, 
1340
  };
1341
1342
  // VFRC Register Class...
1343
  const MCPhysReg VFRC[] = {
1344
    PPC::VF2, PPC::VF3, PPC::VF4, PPC::VF5, PPC::VF0, PPC::VF1, PPC::VF6, PPC::VF7, PPC::VF8, PPC::VF9, PPC::VF10, PPC::VF11, PPC::VF12, PPC::VF13, PPC::VF14, PPC::VF15, PPC::VF16, PPC::VF17, PPC::VF18, PPC::VF19, PPC::VF31, PPC::VF30, PPC::VF29, PPC::VF28, PPC::VF27, PPC::VF26, PPC::VF25, PPC::VF24, PPC::VF23, PPC::VF22, PPC::VF21, PPC::VF20, 
1345
  };
1346
1347
  // VFRC Bit set.
1348
  const uint8_t VFRCBits[] = {
1349
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0x1f, 
1350
  };
1351
1352
  // CTRRC8 Register Class...
1353
  const MCPhysReg CTRRC8[] = {
1354
    PPC::CTR8, 
1355
  };
1356
1357
  // CTRRC8 Bit set.
1358
  const uint8_t CTRRC8Bits[] = {
1359
    0x00, 0x00, 0x04, 
1360
  };
1361
1362
  // VSRC Register Class...
1363
  const MCPhysReg VSRC[] = {
1364
    PPC::VSL0, PPC::VSL1, PPC::VSL2, PPC::VSL3, PPC::VSL4, PPC::VSL5, PPC::VSL6, PPC::VSL7, PPC::VSL8, PPC::VSL9, PPC::VSL10, PPC::VSL11, PPC::VSL12, PPC::VSL13, PPC::VSL31, PPC::VSL30, PPC::VSL29, PPC::VSL28, PPC::VSL27, PPC::VSL26, PPC::VSL25, PPC::VSL24, PPC::VSL23, PPC::VSL22, PPC::VSL21, PPC::VSL20, PPC::VSL19, PPC::VSL18, PPC::VSL17, PPC::VSL16, PPC::VSL15, PPC::VSL14, PPC::VSH2, PPC::VSH3, PPC::VSH4, PPC::VSH5, PPC::VSH0, PPC::VSH1, PPC::VSH6, PPC::VSH7, PPC::VSH8, PPC::VSH9, PPC::VSH10, PPC::VSH11, PPC::VSH12, PPC::VSH13, PPC::VSH14, PPC::VSH15, PPC::VSH16, PPC::VSH17, PPC::VSH18, PPC::VSH19, PPC::VSH31, PPC::VSH30, PPC::VSH29, PPC::VSH28, PPC::VSH27, PPC::VSH26, PPC::VSH25, PPC::VSH24, PPC::VSH23, PPC::VSH22, PPC::VSH21, PPC::VSH20, 
1365
  };
1366
1367
  // VSRC Bit set.
1368
  const uint8_t VSRCBits[] = {
1369
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 
1370
  };
1371
1372
  // QSRC Register Class...
1373
  const MCPhysReg QSRC[] = {
1374
    PPC::QF0, PPC::QF1, PPC::QF2, PPC::QF3, PPC::QF4, PPC::QF5, PPC::QF6, PPC::QF7, PPC::QF8, PPC::QF9, PPC::QF10, PPC::QF11, PPC::QF12, PPC::QF13, PPC::QF31, PPC::QF30, PPC::QF29, PPC::QF28, PPC::QF27, PPC::QF26, PPC::QF25, PPC::QF24, PPC::QF23, PPC::QF22, PPC::QF21, PPC::QF20, PPC::QF19, PPC::QF18, PPC::QF17, PPC::QF16, PPC::QF15, PPC::QF14, 
1375
  };
1376
1377
  // QSRC Bit set.
1378
  const uint8_t QSRCBits[] = {
1379
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0x1f, 
1380
  };
1381
1382
  // VRRC Register Class...
1383
  const MCPhysReg VRRC[] = {
1384
    PPC::V2, PPC::V3, PPC::V4, PPC::V5, PPC::V0, PPC::V1, PPC::V6, PPC::V7, PPC::V8, PPC::V9, PPC::V10, PPC::V11, PPC::V12, PPC::V13, PPC::V14, PPC::V15, PPC::V16, PPC::V17, PPC::V18, PPC::V19, PPC::V31, PPC::V30, PPC::V29, PPC::V28, PPC::V27, PPC::V26, PPC::V25, PPC::V24, PPC::V23, PPC::V22, PPC::V21, PPC::V20, 
1385
  };
1386
1387
  // VRRC Bit set.
1388
  const uint8_t VRRCBits[] = {
1389
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0x1f, 
1390
  };
1391
1392
  // VSHRC Register Class...
1393
  const MCPhysReg VSHRC[] = {
1394
    PPC::VSH2, PPC::VSH3, PPC::VSH4, PPC::VSH5, PPC::VSH0, PPC::VSH1, PPC::VSH6, PPC::VSH7, PPC::VSH8, PPC::VSH9, PPC::VSH10, PPC::VSH11, PPC::VSH12, PPC::VSH13, PPC::VSH14, PPC::VSH15, PPC::VSH16, PPC::VSH17, PPC::VSH18, PPC::VSH19, PPC::VSH31, PPC::VSH30, PPC::VSH29, PPC::VSH28, PPC::VSH27, PPC::VSH26, PPC::VSH25, PPC::VSH24, PPC::VSH23, PPC::VSH22, PPC::VSH21, PPC::VSH20, 
1395
  };
1396
1397
  // VSHRC Bit set.
1398
  const uint8_t VSHRCBits[] = {
1399
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0x1f, 
1400
  };
1401
1402
  // VSLRC Register Class...
1403
  const MCPhysReg VSLRC[] = {
1404
    PPC::VSL0, PPC::VSL1, PPC::VSL2, PPC::VSL3, PPC::VSL4, PPC::VSL5, PPC::VSL6, PPC::VSL7, PPC::VSL8, PPC::VSL9, PPC::VSL10, PPC::VSL11, PPC::VSL12, PPC::VSL13, PPC::VSL31, PPC::VSL30, PPC::VSL29, PPC::VSL28, PPC::VSL27, PPC::VSL26, PPC::VSL25, PPC::VSL24, PPC::VSL23, PPC::VSL22, PPC::VSL21, PPC::VSL20, PPC::VSL19, PPC::VSL18, PPC::VSL17, PPC::VSL16, PPC::VSL15, PPC::VSL14, 
1405
  };
1406
1407
  // VSLRC Bit set.
1408
  const uint8_t VSLRCBits[] = {
1409
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0x1f, 
1410
  };
1411
1412
  // QBRC Register Class...
1413
  const MCPhysReg QBRC[] = {
1414
    PPC::QF0, PPC::QF1, PPC::QF2, PPC::QF3, PPC::QF4, PPC::QF5, PPC::QF6, PPC::QF7, PPC::QF8, PPC::QF9, PPC::QF10, PPC::QF11, PPC::QF12, PPC::QF13, PPC::QF31, PPC::QF30, PPC::QF29, PPC::QF28, PPC::QF27, PPC::QF26, PPC::QF25, PPC::QF24, PPC::QF23, PPC::QF22, PPC::QF21, PPC::QF20, PPC::QF19, PPC::QF18, PPC::QF17, PPC::QF16, PPC::QF15, PPC::QF14, 
1415
  };
1416
1417
  // QBRC Bit set.
1418
  const uint8_t QBRCBits[] = {
1419
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0x1f, 
1420
  };
1421
1422
  // QFRC Register Class...
1423
  const MCPhysReg QFRC[] = {
1424
    PPC::QF0, PPC::QF1, PPC::QF2, PPC::QF3, PPC::QF4, PPC::QF5, PPC::QF6, PPC::QF7, PPC::QF8, PPC::QF9, PPC::QF10, PPC::QF11, PPC::QF12, PPC::QF13, PPC::QF31, PPC::QF30, PPC::QF29, PPC::QF28, PPC::QF27, PPC::QF26, PPC::QF25, PPC::QF24, PPC::QF23, PPC::QF22, PPC::QF21, PPC::QF20, PPC::QF19, PPC::QF18, PPC::QF17, PPC::QF16, PPC::QF15, PPC::QF14, 
1425
  };
1426
1427
  // QFRC Bit set.
1428
  const uint8_t QFRCBits[] = {
1429
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0x1f, 
1430
  };
1431
1432
}
1433
1434
extern const char PPCRegClassStrings[] = {
1435
  /* 0 */ 'C', 'R', 'R', 'C', '0', 0,
1436
  /* 6 */ 'G', 'P', 'R', 'C', '_', 'a', 'n', 'd', '_', 'G', 'P', 'R', 'C', '_', 'N', 'O', 'R', '0', 0,
1437
  /* 25 */ 'G', '8', 'R', 'C', '_', 'a', 'n', 'd', '_', 'G', '8', 'R', 'C', '_', 'N', 'O', 'X', '0', 0,
1438
  /* 44 */ 'C', 'T', 'R', 'R', 'C', '8', 0,
1439
  /* 51 */ 'F', '4', 'R', 'C', 0,
1440
  /* 56 */ 'F', '8', 'R', 'C', 0,
1441
  /* 61 */ 'G', '8', 'R', 'C', 0,
1442
  /* 66 */ 'Q', 'B', 'R', 'C', 0,
1443
  /* 71 */ 'V', 'R', 'S', 'A', 'V', 'E', 'R', 'C', 0,
1444
  /* 80 */ 'Q', 'F', 'R', 'C', 0,
1445
  /* 85 */ 'V', 'S', 'F', 'R', 'C', 0,
1446
  /* 91 */ 'V', 'F', 'R', 'C', 0,
1447
  /* 96 */ 'V', 'S', 'H', 'R', 'C', 0,
1448
  /* 102 */ 'V', 'S', 'L', 'R', 'C', 0,
1449
  /* 108 */ 'G', 'P', 'R', 'C', 0,
1450
  /* 113 */ 'C', 'R', 'R', 'C', 0,
1451
  /* 118 */ 'C', 'T', 'R', 'R', 'C', 0,
1452
  /* 124 */ 'V', 'R', 'R', 'C', 0,
1453
  /* 129 */ 'Q', 'S', 'R', 'C', 0,
1454
  /* 134 */ 'V', 'S', 'S', 'R', 'C', 0,
1455
  /* 140 */ 'V', 'S', 'R', 'C', 0,
1456
  /* 145 */ 'C', 'R', 'B', 'I', 'T', 'R', 'C', 0,
1457
  /* 153 */ 'C', 'A', 'R', 'R', 'Y', 'R', 'C', 0,
1458
};
1459
1460
extern const MCRegisterClass PPCMCRegisterClasses[] = {
1461
  { VSSRC, VSSRCBits, 134, 64, sizeof(VSSRCBits), PPC::VSSRCRegClassID, 4, 4, 1, 1 },
1462
  { GPRC, GPRCBits, 108, 34, sizeof(GPRCBits), PPC::GPRCRegClassID, 4, 4, 1, 1 },
1463
  { GPRC_NOR0, GPRC_NOR0Bits, 15, 34, sizeof(GPRC_NOR0Bits), PPC::GPRC_NOR0RegClassID, 4, 4, 1, 1 },
1464
  { GPRC_and_GPRC_NOR0, GPRC_and_GPRC_NOR0Bits, 6, 33, sizeof(GPRC_and_GPRC_NOR0Bits), PPC::GPRC_and_GPRC_NOR0RegClassID, 4, 4, 1, 1 },
1465
  { CRBITRC, CRBITRCBits, 145, 32, sizeof(CRBITRCBits), PPC::CRBITRCRegClassID, 4, 4, 1, 1 },
1466
  { F4RC, F4RCBits, 51, 32, sizeof(F4RCBits), PPC::F4RCRegClassID, 4, 4, 1, 1 },
1467
  { CRRC, CRRCBits, 113, 8, sizeof(CRRCBits), PPC::CRRCRegClassID, 4, 4, 1, 1 },
1468
  { CARRYRC, CARRYRCBits, 153, 1, sizeof(CARRYRCBits), PPC::CARRYRCRegClassID, 4, 4, -1, 1 },
1469
  { CRRC0, CRRC0Bits, 0, 1, sizeof(CRRC0Bits), PPC::CRRC0RegClassID, 4, 4, 1, 1 },
1470
  { CTRRC, CTRRCBits, 118, 1, sizeof(CTRRCBits), PPC::CTRRCRegClassID, 4, 4, 1, 0 },
1471
  { VRSAVERC, VRSAVERCBits, 71, 1, sizeof(VRSAVERCBits), PPC::VRSAVERCRegClassID, 4, 4, 1, 1 },
1472
  { VSFRC, VSFRCBits, 85, 64, sizeof(VSFRCBits), PPC::VSFRCRegClassID, 8, 8, 1, 1 },
1473
  { G8RC, G8RCBits, 61, 34, sizeof(G8RCBits), PPC::G8RCRegClassID, 8, 8, 1, 1 },
1474
  { G8RC_NOX0, G8RC_NOX0Bits, 34, 34, sizeof(G8RC_NOX0Bits), PPC::G8RC_NOX0RegClassID, 8, 8, 1, 1 },
1475
  { G8RC_and_G8RC_NOX0, G8RC_and_G8RC_NOX0Bits, 25, 33, sizeof(G8RC_and_G8RC_NOX0Bits), PPC::G8RC_and_G8RC_NOX0RegClassID, 8, 8, 1, 1 },
1476
  { F8RC, F8RCBits, 56, 32, sizeof(F8RCBits), PPC::F8RCRegClassID, 8, 8, 1, 1 },
1477
  { VFRC, VFRCBits, 91, 32, sizeof(VFRCBits), PPC::VFRCRegClassID, 8, 8, 1, 1 },
1478
  { CTRRC8, CTRRC8Bits, 44, 1, sizeof(CTRRC8Bits), PPC::CTRRC8RegClassID, 8, 8, 1, 0 },
1479
  { VSRC, VSRCBits, 140, 64, sizeof(VSRCBits), PPC::VSRCRegClassID, 16, 16, 1, 1 },
1480
  { QSRC, QSRCBits, 129, 32, sizeof(QSRCBits), PPC::QSRCRegClassID, 16, 16, 1, 1 },
1481
  { VRRC, VRRCBits, 124, 32, sizeof(VRRCBits), PPC::VRRCRegClassID, 16, 16, 1, 1 },
1482
  { VSHRC, VSHRCBits, 96, 32, sizeof(VSHRCBits), PPC::VSHRCRegClassID, 16, 16, 1, 1 },
1483
  { VSLRC, VSLRCBits, 102, 32, sizeof(VSLRCBits), PPC::VSLRCRegClassID, 16, 16, 1, 1 },
1484
  { QBRC, QBRCBits, 66, 32, sizeof(QBRCBits), PPC::QBRCRegClassID, 32, 32, 1, 1 },
1485
  { QFRC, QFRCBits, 80, 32, sizeof(QFRCBits), PPC::QFRCRegClassID, 32, 32, 1, 1 },
1486
};
1487
1488
// PPC Dwarf<->LLVM register mappings.
1489
extern const MCRegisterInfo::DwarfLLVMRegPair PPCDwarfFlavour0Dwarf2L[] = {
1490
  { 0U, PPC::X0 },
1491
  { 1U, PPC::X1 },
1492
  { 2U, PPC::X2 },
1493
  { 3U, PPC::X3 },
1494
  { 4U, PPC::X4 },
1495
  { 5U, PPC::X5 },
1496
  { 6U, PPC::X6 },
1497
  { 7U, PPC::X7 },
1498
  { 8U, PPC::X8 },
1499
  { 9U, PPC::X9 },
1500
  { 10U, PPC::X10 },
1501
  { 11U, PPC::X11 },
1502
  { 12U, PPC::X12 },
1503
  { 13U, PPC::X13 },
1504
  { 14U, PPC::X14 },
1505
  { 15U, PPC::X15 },
1506
  { 16U, PPC::X16 },
1507
  { 17U, PPC::X17 },
1508
  { 18U, PPC::X18 },
1509
  { 19U, PPC::X19 },
1510
  { 20U, PPC::X20 },
1511
  { 21U, PPC::X21 },
1512
  { 22U, PPC::X22 },
1513
  { 23U, PPC::X23 },
1514
  { 24U, PPC::X24 },
1515
  { 25U, PPC::X25 },
1516
  { 26U, PPC::X26 },
1517
  { 27U, PPC::X27 },
1518
  { 28U, PPC::X28 },
1519
  { 29U, PPC::X29 },
1520
  { 30U, PPC::X30 },
1521
  { 31U, PPC::X31 },
1522
  { 32U, PPC::QF0 },
1523
  { 33U, PPC::QF1 },
1524
  { 34U, PPC::QF2 },
1525
  { 35U, PPC::QF3 },
1526
  { 36U, PPC::QF4 },
1527
  { 37U, PPC::QF5 },
1528
  { 38U, PPC::QF6 },
1529
  { 39U, PPC::QF7 },
1530
  { 40U, PPC::QF8 },
1531
  { 41U, PPC::QF9 },
1532
  { 42U, PPC::QF10 },
1533
  { 43U, PPC::QF11 },
1534
  { 44U, PPC::QF12 },
1535
  { 45U, PPC::QF13 },
1536
  { 46U, PPC::QF14 },
1537
  { 47U, PPC::QF15 },
1538
  { 48U, PPC::QF16 },
1539
  { 49U, PPC::QF17 },
1540
  { 50U, PPC::QF18 },
1541
  { 51U, PPC::QF19 },
1542
  { 52U, PPC::QF20 },
1543
  { 53U, PPC::QF21 },
1544
  { 54U, PPC::QF22 },
1545
  { 55U, PPC::QF23 },
1546
  { 56U, PPC::QF24 },
1547
  { 57U, PPC::QF25 },
1548
  { 58U, PPC::QF26 },
1549
  { 59U, PPC::QF27 },
1550
  { 60U, PPC::QF28 },
1551
  { 61U, PPC::QF29 },
1552
  { 62U, PPC::QF30 },
1553
  { 63U, PPC::QF31 },
1554
  { 65U, PPC::LR8 },
1555
  { 66U, PPC::CTR8 },
1556
  { 68U, PPC::CR0 },
1557
  { 69U, PPC::CR1 },
1558
  { 70U, PPC::CR2 },
1559
  { 71U, PPC::CR3 },
1560
  { 72U, PPC::CR4 },
1561
  { 73U, PPC::CR5 },
1562
  { 74U, PPC::CR6 },
1563
  { 75U, PPC::CR7 },
1564
  { 76U, PPC::CARRY },
1565
  { 77U, PPC::V0 },
1566
  { 78U, PPC::V1 },
1567
  { 79U, PPC::V2 },
1568
  { 80U, PPC::V3 },
1569
  { 81U, PPC::V4 },
1570
  { 82U, PPC::V5 },
1571
  { 83U, PPC::V6 },
1572
  { 84U, PPC::V7 },
1573
  { 85U, PPC::V8 },
1574
  { 86U, PPC::V9 },
1575
  { 87U, PPC::V10 },
1576
  { 88U, PPC::V11 },
1577
  { 89U, PPC::V12 },
1578
  { 90U, PPC::V13 },
1579
  { 91U, PPC::V14 },
1580
  { 92U, PPC::V15 },
1581
  { 93U, PPC::V16 },
1582
  { 94U, PPC::V17 },
1583
  { 95U, PPC::V18 },
1584
  { 96U, PPC::V19 },
1585
  { 97U, PPC::V20 },
1586
  { 98U, PPC::V21 },
1587
  { 99U, PPC::V22 },
1588
  { 100U, PPC::V23 },
1589
  { 101U, PPC::V24 },
1590
  { 102U, PPC::V25 },
1591
  { 103U, PPC::V26 },
1592
  { 104U, PPC::V27 },
1593
  { 105U, PPC::V28 },
1594
  { 106U, PPC::V29 },
1595
  { 107U, PPC::V30 },
1596
  { 108U, PPC::V31 },
1597
  { 109U, PPC::VRSAVE },
1598
};
1599
extern const unsigned PPCDwarfFlavour0Dwarf2LSize = array_lengthof(PPCDwarfFlavour0Dwarf2L);
1600
1601
extern const MCRegisterInfo::DwarfLLVMRegPair PPCDwarfFlavour1Dwarf2L[] = {
1602
  { 0U, PPC::R0 },
1603
  { 1U, PPC::R1 },
1604
  { 2U, PPC::R2 },
1605
  { 3U, PPC::R3 },
1606
  { 4U, PPC::R4 },
1607
  { 5U, PPC::R5 },
1608
  { 6U, PPC::R6 },
1609
  { 7U, PPC::R7 },
1610
  { 8U, PPC::R8 },
1611
  { 9U, PPC::R9 },
1612
  { 10U, PPC::R10 },
1613
  { 11U, PPC::R11 },
1614
  { 12U, PPC::R12 },
1615
  { 13U, PPC::R13 },
1616
  { 14U, PPC::R14 },
1617
  { 15U, PPC::R15 },
1618
  { 16U, PPC::R16 },
1619
  { 17U, PPC::R17 },
1620
  { 18U, PPC::R18 },
1621
  { 19U, PPC::R19 },
1622
  { 20U, PPC::R20 },
1623
  { 21U, PPC::R21 },
1624
  { 22U, PPC::R22 },
1625
  { 23U, PPC::R23 },
1626
  { 24U, PPC::R24 },
1627
  { 25U, PPC::R25 },
1628
  { 26U, PPC::R26 },
1629
  { 27U, PPC::R27 },
1630
  { 28U, PPC::R28 },
1631
  { 29U, PPC::R29 },
1632
  { 30U, PPC::R30 },
1633
  { 31U, PPC::R31 },
1634
  { 32U, PPC::QF0 },
1635
  { 33U, PPC::QF1 },
1636
  { 34U, PPC::QF2 },
1637
  { 35U, PPC::QF3 },
1638
  { 36U, PPC::QF4 },
1639
  { 37U, PPC::QF5 },
1640
  { 38U, PPC::QF6 },
1641
  { 39U, PPC::QF7 },
1642
  { 40U, PPC::QF8 },
1643
  { 41U, PPC::QF9 },
1644
  { 42U, PPC::QF10 },
1645
  { 43U, PPC::QF11 },
1646
  { 44U, PPC::QF12 },
1647
  { 45U, PPC::QF13 },
1648
  { 46U, PPC::QF14 },
1649
  { 47U, PPC::QF15 },
1650
  { 48U, PPC::QF16 },
1651
  { 49U, PPC::QF17 },
1652
  { 50U, PPC::QF18 },
1653
  { 51U, PPC::QF19 },
1654
  { 52U, PPC::QF20 },
1655
  { 53U, PPC::QF21 },
1656
  { 54U, PPC::QF22 },
1657
  { 55U, PPC::QF23 },
1658
  { 56U, PPC::QF24 },
1659
  { 57U, PPC::QF25 },
1660
  { 58U, PPC::QF26 },
1661
  { 59U, PPC::QF27 },
1662
  { 60U, PPC::QF28 },
1663
  { 61U, PPC::QF29 },
1664
  { 62U, PPC::QF30 },
1665
  { 63U, PPC::QF31 },
1666
  { 65U, PPC::LR },
1667
  { 66U, PPC::CTR },
1668
  { 68U, PPC::CR0 },
1669
  { 69U, PPC::CR1 },
1670
  { 70U, PPC::CR2 },
1671
  { 71U, PPC::CR3 },
1672
  { 72U, PPC::CR4 },
1673
  { 73U, PPC::CR5 },
1674
  { 74U, PPC::CR6 },
1675
  { 75U, PPC::CR7 },
1676
  { 77U, PPC::V0 },
1677
  { 78U, PPC::V1 },
1678
  { 79U, PPC::V2 },
1679
  { 80U, PPC::V3 },
1680
  { 81U, PPC::V4 },
1681
  { 82U, PPC::V5 },
1682
  { 83U, PPC::V6 },
1683
  { 84U, PPC::V7 },
1684
  { 85U, PPC::V8 },
1685
  { 86U, PPC::V9 },
1686
  { 87U, PPC::V10 },
1687
  { 88U, PPC::V11 },
1688
  { 89U, PPC::V12 },
1689
  { 90U, PPC::V13 },
1690
  { 91U, PPC::V14 },
1691
  { 92U, PPC::V15 },
1692
  { 93U, PPC::V16 },
1693
  { 94U, PPC::V17 },
1694
  { 95U, PPC::V18 },
1695
  { 96U, PPC::V19 },
1696
  { 97U, PPC::V20 },
1697
  { 98U, PPC::V21 },
1698
  { 99U, PPC::V22 },
1699
  { 100U, PPC::V23 },
1700
  { 101U, PPC::V24 },
1701
  { 102U, PPC::V25 },
1702
  { 103U, PPC::V26 },
1703
  { 104U, PPC::V27 },
1704
  { 105U, PPC::V28 },
1705
  { 106U, PPC::V29 },
1706
  { 107U, PPC::V30 },
1707
  { 108U, PPC::V31 },
1708
};
1709
extern const unsigned PPCDwarfFlavour1Dwarf2LSize = array_lengthof(PPCDwarfFlavour1Dwarf2L);
1710
1711
extern const MCRegisterInfo::DwarfLLVMRegPair PPCEHFlavour0Dwarf2L[] = {
1712
  { 0U, PPC::X0 },
1713
  { 1U, PPC::X1 },
1714
  { 2U, PPC::X2 },
1715
  { 3U, PPC::X3 },
1716
  { 4U, PPC::X4 },
1717
  { 5U, PPC::X5 },
1718
  { 6U, PPC::X6 },
1719
  { 7U, PPC::X7 },
1720
  { 8U, PPC::X8 },
1721
  { 9U, PPC::X9 },
1722
  { 10U, PPC::X10 },
1723
  { 11U, PPC::X11 },
1724
  { 12U, PPC::X12 },
1725
  { 13U, PPC::X13 },
1726
  { 14U, PPC::X14 },
1727
  { 15U, PPC::X15 },
1728
  { 16U, PPC::X16 },
1729
  { 17U, PPC::X17 },
1730
  { 18U, PPC::X18 },
1731
  { 19U, PPC::X19 },
1732
  { 20U, PPC::X20 },
1733
  { 21U, PPC::X21 },
1734
  { 22U, PPC::X22 },
1735
  { 23U, PPC::X23 },
1736
  { 24U, PPC::X24 },
1737
  { 25U, PPC::X25 },
1738
  { 26U, PPC::X26 },
1739
  { 27U, PPC::X27 },
1740
  { 28U, PPC::X28 },
1741
  { 29U, PPC::X29 },
1742
  { 30U, PPC::X30 },
1743
  { 31U, PPC::X31 },
1744
  { 32U, PPC::QF0 },
1745
  { 33U, PPC::QF1 },
1746
  { 34U, PPC::QF2 },
1747
  { 35U, PPC::QF3 },
1748
  { 36U, PPC::QF4 },
1749
  { 37U, PPC::QF5 },
1750
  { 38U, PPC::QF6 },
1751
  { 39U, PPC::QF7 },
1752
  { 40U, PPC::QF8 },
1753
  { 41U, PPC::QF9 },
1754
  { 42U, PPC::QF10 },
1755
  { 43U, PPC::QF11 },
1756
  { 44U, PPC::QF12 },
1757
  { 45U, PPC::QF13 },
1758
  { 46U, PPC::QF14 },
1759
  { 47U, PPC::QF15 },
1760
  { 48U, PPC::QF16 },
1761
  { 49U, PPC::QF17 },
1762
  { 50U, PPC::QF18 },
1763
  { 51U, PPC::QF19 },
1764
  { 52U, PPC::QF20 },
1765
  { 53U, PPC::QF21 },
1766
  { 54U, PPC::QF22 },
1767
  { 55U, PPC::QF23 },
1768
  { 56U, PPC::QF24 },
1769
  { 57U, PPC::QF25 },
1770
  { 58U, PPC::QF26 },
1771
  { 59U, PPC::QF27 },
1772
  { 60U, PPC::QF28 },
1773
  { 61U, PPC::QF29 },
1774
  { 62U, PPC::QF30 },
1775
  { 63U, PPC::QF31 },
1776
  { 65U, PPC::LR8 },
1777
  { 66U, PPC::CTR8 },
1778
  { 68U, PPC::CR0 },
1779
  { 69U, PPC::CR1 },
1780
  { 70U, PPC::CR2 },
1781
  { 71U, PPC::CR3 },
1782
  { 72U, PPC::CR4 },
1783
  { 73U, PPC::CR5 },
1784
  { 74U, PPC::CR6 },
1785
  { 75U, PPC::CR7 },
1786
  { 76U, PPC::CARRY },
1787
  { 77U, PPC::V0 },
1788
  { 78U, PPC::V1 },
1789
  { 79U, PPC::V2 },
1790
  { 80U, PPC::V3 },
1791
  { 81U, PPC::V4 },
1792
  { 82U, PPC::V5 },
1793
  { 83U, PPC::V6 },
1794
  { 84U, PPC::V7 },
1795
  { 85U, PPC::V8 },
1796
  { 86U, PPC::V9 },
1797
  { 87U, PPC::V10 },
1798
  { 88U, PPC::V11 },
1799
  { 89U, PPC::V12 },
1800
  { 90U, PPC::V13 },
1801
  { 91U, PPC::V14 },
1802
  { 92U, PPC::V15 },
1803
  { 93U, PPC::V16 },
1804
  { 94U, PPC::V17 },
1805
  { 95U, PPC::V18 },
1806
  { 96U, PPC::V19 },
1807
  { 97U, PPC::V20 },
1808
  { 98U, PPC::V21 },
1809
  { 99U, PPC::V22 },
1810
  { 100U, PPC::V23 },
1811
  { 101U, PPC::V24 },
1812
  { 102U, PPC::V25 },
1813
  { 103U, PPC::V26 },
1814
  { 104U, PPC::V27 },
1815
  { 105U, PPC::V28 },
1816
  { 106U, PPC::V29 },
1817
  { 107U, PPC::V30 },
1818
  { 108U, PPC::V31 },
1819
  { 109U, PPC::VRSAVE },
1820
};
1821
extern const unsigned PPCEHFlavour0Dwarf2LSize = array_lengthof(PPCEHFlavour0Dwarf2L);
1822
1823
extern const MCRegisterInfo::DwarfLLVMRegPair PPCEHFlavour1Dwarf2L[] = {
1824
  { 0U, PPC::R0 },
1825
  { 1U, PPC::R1 },
1826
  { 2U, PPC::R2 },
1827
  { 3U, PPC::R3 },
1828
  { 4U, PPC::R4 },
1829
  { 5U, PPC::R5 },
1830
  { 6U, PPC::R6 },
1831
  { 7U, PPC::R7 },
1832
  { 8U, PPC::R8 },
1833
  { 9U, PPC::R9 },
1834
  { 10U, PPC::R10 },
1835
  { 11U, PPC::R11 },
1836
  { 12U, PPC::R12 },
1837
  { 13U, PPC::R13 },
1838
  { 14U, PPC::R14 },
1839
  { 15U, PPC::R15 },
1840
  { 16U, PPC::R16 },
1841
  { 17U, PPC::R17 },
1842
  { 18U, PPC::R18 },
1843
  { 19U, PPC::R19 },
1844
  { 20U, PPC::R20 },
1845
  { 21U, PPC::R21 },
1846
  { 22U, PPC::R22 },
1847
  { 23U, PPC::R23 },
1848
  { 24U, PPC::R24 },
1849
  { 25U, PPC::R25 },
1850
  { 26U, PPC::R26 },
1851
  { 27U, PPC::R27 },
1852
  { 28U, PPC::R28 },
1853
  { 29U, PPC::R29 },
1854
  { 30U, PPC::R30 },
1855
  { 31U, PPC::R31 },
1856
  { 32U, PPC::QF0 },
1857
  { 33U, PPC::QF1 },
1858
  { 34U, PPC::QF2 },
1859
  { 35U, PPC::QF3 },
1860
  { 36U, PPC::QF4 },
1861
  { 37U, PPC::QF5 },
1862
  { 38U, PPC::QF6 },
1863
  { 39U, PPC::QF7 },
1864
  { 40U, PPC::QF8 },
1865
  { 41U, PPC::QF9 },
1866
  { 42U, PPC::QF10 },
1867
  { 43U, PPC::QF11 },
1868
  { 44U, PPC::QF12 },
1869
  { 45U, PPC::QF13 },
1870
  { 46U, PPC::QF14 },
1871
  { 47U, PPC::QF15 },
1872
  { 48U, PPC::QF16 },
1873
  { 49U, PPC::QF17 },
1874
  { 50U, PPC::QF18 },
1875
  { 51U, PPC::QF19 },
1876
  { 52U, PPC::QF20 },
1877
  { 53U, PPC::QF21 },
1878
  { 54U, PPC::QF22 },
1879
  { 55U, PPC::QF23 },
1880
  { 56U, PPC::QF24 },
1881
  { 57U, PPC::QF25 },
1882
  { 58U, PPC::QF26 },
1883
  { 59U, PPC::QF27 },
1884
  { 60U, PPC::QF28 },
1885
  { 61U, PPC::QF29 },
1886
  { 62U, PPC::QF30 },
1887
  { 63U, PPC::QF31 },
1888
  { 65U, PPC::LR },
1889
  { 66U, PPC::CTR },
1890
  { 68U, PPC::CR0 },
1891
  { 69U, PPC::CR1 },
1892
  { 70U, PPC::CR2 },
1893
  { 71U, PPC::CR3 },
1894
  { 72U, PPC::CR4 },
1895
  { 73U, PPC::CR5 },
1896
  { 74U, PPC::CR6 },
1897
  { 75U, PPC::CR7 },
1898
  { 77U, PPC::V0 },
1899
  { 78U, PPC::V1 },
1900
  { 79U, PPC::V2 },
1901
  { 80U, PPC::V3 },
1902
  { 81U, PPC::V4 },
1903
  { 82U, PPC::V5 },
1904
  { 83U, PPC::V6 },
1905
  { 84U, PPC::V7 },
1906
  { 85U, PPC::V8 },
1907
  { 86U, PPC::V9 },
1908
  { 87U, PPC::V10 },
1909
  { 88U, PPC::V11 },
1910
  { 89U, PPC::V12 },
1911
  { 90U, PPC::V13 },
1912
  { 91U, PPC::V14 },
1913
  { 92U, PPC::V15 },
1914
  { 93U, PPC::V16 },
1915
  { 94U, PPC::V17 },
1916
  { 95U, PPC::V18 },
1917
  { 96U, PPC::V19 },
1918
  { 97U, PPC::V20 },
1919
  { 98U, PPC::V21 },
1920
  { 99U, PPC::V22 },
1921
  { 100U, PPC::V23 },
1922
  { 101U, PPC::V24 },
1923
  { 102U, PPC::V25 },
1924
  { 103U, PPC::V26 },
1925
  { 104U, PPC::V27 },
1926
  { 105U, PPC::V28 },
1927
  { 106U, PPC::V29 },
1928
  { 107U, PPC::V30 },
1929
  { 108U, PPC::V31 },
1930
};
1931
extern const unsigned PPCEHFlavour1Dwarf2LSize = array_lengthof(PPCEHFlavour1Dwarf2L);
1932
1933
extern const MCRegisterInfo::DwarfLLVMRegPair PPCDwarfFlavour0L2Dwarf[] = {
1934
  { PPC::CARRY, 76U },
1935
  { PPC::CTR, -2U },
1936
  { PPC::LR, -2U },
1937
  { PPC::VRSAVE, 109U },
1938
  { PPC::ZERO, -2U },
1939
  { PPC::CR0, 68U },
1940
  { PPC::CR1, 69U },
1941
  { PPC::CR2, 70U },
1942
  { PPC::CR3, 71U },
1943
  { PPC::CR4, 72U },
1944
  { PPC::CR5, 73U },
1945
  { PPC::CR6, 74U },
1946
  { PPC::CR7, 75U },
1947
  { PPC::CTR8, 66U },
1948
  { PPC::F0, 32U },
1949
  { PPC::F1, 33U },
1950
  { PPC::F2, 34U },
1951
  { PPC::F3, 35U },
1952
  { PPC::F4, 36U },
1953
  { PPC::F5, 37U },
1954
  { PPC::F6, 38U },
1955
  { PPC::F7, 39U },
1956
  { PPC::F8, 40U },
1957
  { PPC::F9, 41U },
1958
  { PPC::F10, 42U },
1959
  { PPC::F11, 43U },
1960
  { PPC::F12, 44U },
1961
  { PPC::F13, 45U },
1962
  { PPC::F14, 46U },
1963
  { PPC::F15, 47U },
1964
  { PPC::F16, 48U },
1965
  { PPC::F17, 49U },
1966
  { PPC::F18, 50U },
1967
  { PPC::F19, 51U },
1968
  { PPC::F20, 52U },
1969
  { PPC::F21, 53U },
1970
  { PPC::F22, 54U },
1971
  { PPC::F23, 55U },
1972
  { PPC::F24, 56U },
1973
  { PPC::F25, 57U },
1974
  { PPC::F26, 58U },
1975
  { PPC::F27, 59U },
1976
  { PPC::F28, 60U },
1977
  { PPC::F29, 61U },
1978
  { PPC::F30, 62U },
1979
  { PPC::F31, 63U },
1980
  { PPC::LR8, 65U },
1981
  { PPC::QF0, 32U },
1982
  { PPC::QF1, 33U },
1983
  { PPC::QF2, 34U },
1984
  { PPC::QF3, 35U },
1985
  { PPC::QF4, 36U },
1986
  { PPC::QF5, 37U },
1987
  { PPC::QF6, 38U },
1988
  { PPC::QF7, 39U },
1989
  { PPC::QF8, 40U },
1990
  { PPC::QF9, 41U },
1991
  { PPC::QF10, 42U },
1992
  { PPC::QF11, 43U },
1993
  { PPC::QF12, 44U },
1994
  { PPC::QF13, 45U },
1995
  { PPC::QF14, 46U },
1996
  { PPC::QF15, 47U },
1997
  { PPC::QF16, 48U },
1998
  { PPC::QF17, 49U },
1999
  { PPC::QF18, 50U },
2000
  { PPC::QF19, 51U },
2001
  { PPC::QF20, 52U },
2002
  { PPC::QF21, 53U },
2003
  { PPC::QF22, 54U },
2004
  { PPC::QF23, 55U },
2005
  { PPC::QF24, 56U },
2006
  { PPC::QF25, 57U },
2007
  { PPC::QF26, 58U },
2008
  { PPC::QF27, 59U },
2009
  { PPC::QF28, 60U },
2010
  { PPC::QF29, 61U },
2011
  { PPC::QF30, 62U },
2012
  { PPC::QF31, 63U },
2013
  { PPC::R0, -2U },
2014
  { PPC::R1, -2U },
2015
  { PPC::R2, -2U },
2016
  { PPC::R3, -2U },
2017
  { PPC::R4, -2U },
2018
  { PPC::R5, -2U },
2019
  { PPC::R6, -2U },
2020
  { PPC::R7, -2U },
2021
  { PPC::R8, -2U },
2022
  { PPC::R9, -2U },
2023
  { PPC::R10, -2U },
2024
  { PPC::R11, -2U },
2025
  { PPC::R12, -2U },
2026
  { PPC::R13, -2U },
2027
  { PPC::R14, -2U },
2028
  { PPC::R15, -2U },
2029
  { PPC::R16, -2U },
2030
  { PPC::R17, -2U },
2031
  { PPC::R18, -2U },
2032
  { PPC::R19, -2U },
2033
  { PPC::R20, -2U },
2034
  { PPC::R21, -2U },
2035
  { PPC::R22, -2U },
2036
  { PPC::R23, -2U },
2037
  { PPC::R24, -2U },
2038
  { PPC::R25, -2U },
2039
  { PPC::R26, -2U },
2040
  { PPC::R27, -2U },
2041
  { PPC::R28, -2U },
2042
  { PPC::R29, -2U },
2043
  { PPC::R30, -2U },
2044
  { PPC::R31, -2U },
2045
  { PPC::V0, 77U },
2046
  { PPC::V1, 78U },
2047
  { PPC::V2, 79U },
2048
  { PPC::V3, 80U },
2049
  { PPC::V4, 81U },
2050
  { PPC::V5, 82U },
2051
  { PPC::V6, 83U },
2052
  { PPC::V7, 84U },
2053
  { PPC::V8, 85U },
2054
  { PPC::V9, 86U },
2055
  { PPC::V10, 87U },
2056
  { PPC::V11, 88U },
2057
  { PPC::V12, 89U },
2058
  { PPC::V13, 90U },
2059
  { PPC::V14, 91U },
2060
  { PPC::V15, 92U },
2061
  { PPC::V16, 93U },
2062
  { PPC::V17, 94U },
2063
  { PPC::V18, 95U },
2064
  { PPC::V19, 96U },
2065
  { PPC::V20, 97U },
2066
  { PPC::V21, 98U },
2067
  { PPC::V22, 99U },
2068
  { PPC::V23, 100U },
2069
  { PPC::V24, 101U },
2070
  { PPC::V25, 102U },
2071
  { PPC::V26, 103U },
2072
  { PPC::V27, 104U },
2073
  { PPC::V28, 105U },
2074
  { PPC::V29, 106U },
2075
  { PPC::V30, 107U },
2076
  { PPC::V31, 108U },
2077
  { PPC::VSH0, 77U },
2078
  { PPC::VSH1, 78U },
2079
  { PPC::VSH2, 79U },
2080
  { PPC::VSH3, 80U },
2081
  { PPC::VSH4, 81U },
2082
  { PPC::VSH5, 82U },
2083
  { PPC::VSH6, 83U },
2084
  { PPC::VSH7, 84U },
2085
  { PPC::VSH8, 85U },
2086
  { PPC::VSH9, 86U },
2087
  { PPC::VSH10, 87U },
2088
  { PPC::VSH11, 88U },
2089
  { PPC::VSH12, 89U },
2090
  { PPC::VSH13, 90U },
2091
  { PPC::VSH14, 91U },
2092
  { PPC::VSH15, 92U },
2093
  { PPC::VSH16, 93U },
2094
  { PPC::VSH17, 94U },
2095
  { PPC::VSH18, 95U },
2096
  { PPC::VSH19, 96U },
2097
  { PPC::VSH20, 97U },
2098
  { PPC::VSH21, 98U },
2099
  { PPC::VSH22, 99U },
2100
  { PPC::VSH23, 100U },
2101
  { PPC::VSH24, 101U },
2102
  { PPC::VSH25, 102U },
2103
  { PPC::VSH26, 103U },
2104
  { PPC::VSH27, 104U },
2105
  { PPC::VSH28, 105U },
2106
  { PPC::VSH29, 106U },
2107
  { PPC::VSH30, 107U },
2108
  { PPC::VSH31, 108U },
2109
  { PPC::VSL0, 32U },
2110
  { PPC::VSL1, 33U },
2111
  { PPC::VSL2, 34U },
2112
  { PPC::VSL3, 35U },
2113
  { PPC::VSL4, 36U },
2114
  { PPC::VSL5, 37U },
2115
  { PPC::VSL6, 38U },
2116
  { PPC::VSL7, 39U },
2117
  { PPC::VSL8, 40U },
2118
  { PPC::VSL9, 41U },
2119
  { PPC::VSL10, 42U },
2120
  { PPC::VSL11, 43U },
2121
  { PPC::VSL12, 44U },
2122
  { PPC::VSL13, 45U },
2123
  { PPC::VSL14, 46U },
2124
  { PPC::VSL15, 47U },
2125
  { PPC::VSL16, 48U },
2126
  { PPC::VSL17, 49U },
2127
  { PPC::VSL18, 50U },
2128
  { PPC::VSL19, 51U },
2129
  { PPC::VSL20, 52U },
2130
  { PPC::VSL21, 53U },
2131
  { PPC::VSL22, 54U },
2132
  { PPC::VSL23, 55U },
2133
  { PPC::VSL24, 56U },
2134
  { PPC::VSL25, 57U },
2135
  { PPC::VSL26, 58U },
2136
  { PPC::VSL27, 59U },
2137
  { PPC::VSL28, 60U },
2138
  { PPC::VSL29, 61U },
2139
  { PPC::VSL30, 62U },
2140
  { PPC::VSL31, 63U },
2141
  { PPC::X0, 0U },
2142
  { PPC::X1, 1U },
2143
  { PPC::X2, 2U },
2144
  { PPC::X3, 3U },
2145
  { PPC::X4, 4U },
2146
  { PPC::X5, 5U },
2147
  { PPC::X6, 6U },
2148
  { PPC::X7, 7U },
2149
  { PPC::X8, 8U },
2150
  { PPC::X9, 9U },
2151
  { PPC::X10, 10U },
2152
  { PPC::X11, 11U },
2153
  { PPC::X12, 12U },
2154
  { PPC::X13, 13U },
2155
  { PPC::X14, 14U },
2156
  { PPC::X15, 15U },
2157
  { PPC::X16, 16U },
2158
  { PPC::X17, 17U },
2159
  { PPC::X18, 18U },
2160
  { PPC::X19, 19U },
2161
  { PPC::X20, 20U },
2162
  { PPC::X21, 21U },
2163
  { PPC::X22, 22U },
2164
  { PPC::X23, 23U },
2165
  { PPC::X24, 24U },
2166
  { PPC::X25, 25U },
2167
  { PPC::X26, 26U },
2168
  { PPC::X27, 27U },
2169
  { PPC::X28, 28U },
2170
  { PPC::X29, 29U },
2171
  { PPC::X30, 30U },
2172
  { PPC::X31, 31U },
2173
  { PPC::ZERO8, 0U },
2174
};
2175
extern const unsigned PPCDwarfFlavour0L2DwarfSize = array_lengthof(PPCDwarfFlavour0L2Dwarf);
2176
2177
extern const MCRegisterInfo::DwarfLLVMRegPair PPCDwarfFlavour1L2Dwarf[] = {
2178
  { PPC::CTR, 66U },
2179
  { PPC::LR, 65U },
2180
  { PPC::ZERO, 0U },
2181
  { PPC::CR0, 68U },
2182
  { PPC::CR1, 69U },
2183
  { PPC::CR2, 70U },
2184
  { PPC::CR3, 71U },
2185
  { PPC::CR4, 72U },
2186
  { PPC::CR5, 73U },
2187
  { PPC::CR6, 74U },
2188
  { PPC::CR7, 75U },
2189
  { PPC::CTR8, -2U },
2190
  { PPC::F0, 32U },
2191
  { PPC::F1, 33U },
2192
  { PPC::F2, 34U },
2193
  { PPC::F3, 35U },
2194
  { PPC::F4, 36U },
2195
  { PPC::F5, 37U },
2196
  { PPC::F6, 38U },
2197
  { PPC::F7, 39U },
2198
  { PPC::F8, 40U },
2199
  { PPC::F9, 41U },
2200
  { PPC::F10, 42U },
2201
  { PPC::F11, 43U },
2202
  { PPC::F12, 44U },
2203
  { PPC::F13, 45U },
2204
  { PPC::F14, 46U },
2205
  { PPC::F15, 47U },
2206
  { PPC::F16, 48U },
2207
  { PPC::F17, 49U },
2208
  { PPC::F18, 50U },
2209
  { PPC::F19, 51U },
2210
  { PPC::F20, 52U },
2211
  { PPC::F21, 53U },
2212
  { PPC::F22, 54U },
2213
  { PPC::F23, 55U },
2214
  { PPC::F24, 56U },
2215
  { PPC::F25, 57U },
2216
  { PPC::F26, 58U },
2217
  { PPC::F27, 59U },
2218
  { PPC::F28, 60U },
2219
  { PPC::F29, 61U },
2220
  { PPC::F30, 62U },
2221
  { PPC::F31, 63U },
2222
  { PPC::LR8, -2U },
2223
  { PPC::QF0, 32U },
2224
  { PPC::QF1, 33U },
2225
  { PPC::QF2, 34U },
2226
  { PPC::QF3, 35U },
2227
  { PPC::QF4, 36U },
2228
  { PPC::QF5, 37U },
2229
  { PPC::QF6, 38U },
2230
  { PPC::QF7, 39U },
2231
  { PPC::QF8, 40U },
2232
  { PPC::QF9, 41U },
2233
  { PPC::QF10, 42U },
2234
  { PPC::QF11, 43U },
2235
  { PPC::QF12, 44U },
2236
  { PPC::QF13, 45U },
2237
  { PPC::QF14, 46U },
2238
  { PPC::QF15, 47U },
2239
  { PPC::QF16, 48U },
2240
  { PPC::QF17, 49U },
2241
  { PPC::QF18, 50U },
2242
  { PPC::QF19, 51U },
2243
  { PPC::QF20, 52U },
2244
  { PPC::QF21, 53U },
2245
  { PPC::QF22, 54U },
2246
  { PPC::QF23, 55U },
2247
  { PPC::QF24, 56U },
2248
  { PPC::QF25, 57U },
2249
  { PPC::QF26, 58U },
2250
  { PPC::QF27, 59U },
2251
  { PPC::QF28, 60U },
2252
  { PPC::QF29, 61U },
2253
  { PPC::QF30, 62U },
2254
  { PPC::QF31, 63U },
2255
  { PPC::R0, 0U },
2256
  { PPC::R1, 1U },
2257
  { PPC::R2, 2U },
2258
  { PPC::R3, 3U },
2259
  { PPC::R4, 4U },
2260
  { PPC::R5, 5U },
2261
  { PPC::R6, 6U },
2262
  { PPC::R7, 7U },
2263
  { PPC::R8, 8U },
2264
  { PPC::R9, 9U },
2265
  { PPC::R10, 10U },
2266
  { PPC::R11, 11U },
2267
  { PPC::R12, 12U },
2268
  { PPC::R13, 13U },
2269
  { PPC::R14, 14U },
2270
  { PPC::R15, 15U },
2271
  { PPC::R16, 16U },
2272
  { PPC::R17, 17U },
2273
  { PPC::R18, 18U },
2274
  { PPC::R19, 19U },
2275
  { PPC::R20, 20U },
2276
  { PPC::R21, 21U },
2277
  { PPC::R22, 22U },
2278
  { PPC::R23, 23U },
2279
  { PPC::R24, 24U },
2280
  { PPC::R25, 25U },
2281
  { PPC::R26, 26U },
2282
  { PPC::R27, 27U },
2283
  { PPC::R28, 28U },
2284
  { PPC::R29, 29U },
2285
  { PPC::R30, 30U },
2286
  { PPC::R31, 31U },
2287
  { PPC::V0, 77U },
2288
  { PPC::V1, 78U },
2289
  { PPC::V2, 79U },
2290
  { PPC::V3, 80U },
2291
  { PPC::V4, 81U },
2292
  { PPC::V5, 82U },
2293
  { PPC::V6, 83U },
2294
  { PPC::V7, 84U },
2295
  { PPC::V8, 85U },
2296
  { PPC::V9, 86U },
2297
  { PPC::V10, 87U },
2298
  { PPC::V11, 88U },
2299
  { PPC::V12, 89U },
2300
  { PPC::V13, 90U },
2301
  { PPC::V14, 91U },
2302
  { PPC::V15, 92U },
2303
  { PPC::V16, 93U },
2304
  { PPC::V17, 94U },
2305
  { PPC::V18, 95U },
2306
  { PPC::V19, 96U },
2307
  { PPC::V20, 97U },
2308
  { PPC::V21, 98U },
2309
  { PPC::V22, 99U },
2310
  { PPC::V23, 100U },
2311
  { PPC::V24, 101U },
2312
  { PPC::V25, 102U },
2313
  { PPC::V26, 103U },
2314
  { PPC::V27, 104U },
2315
  { PPC::V28, 105U },
2316
  { PPC::V29, 106U },
2317
  { PPC::V30, 107U },
2318
  { PPC::V31, 108U },
2319
  { PPC::VSH0, 77U },
2320
  { PPC::VSH1, 78U },
2321
  { PPC::VSH2, 79U },
2322
  { PPC::VSH3, 80U },
2323
  { PPC::VSH4, 81U },
2324
  { PPC::VSH5, 82U },
2325
  { PPC::VSH6, 83U },
2326
  { PPC::VSH7, 84U },
2327
  { PPC::VSH8, 85U },
2328
  { PPC::VSH9, 86U },
2329
  { PPC::VSH10, 87U },
2330
  { PPC::VSH11, 88U },
2331
  { PPC::VSH12, 89U },
2332
  { PPC::VSH13, 90U },
2333
  { PPC::VSH14, 91U },
2334
  { PPC::VSH15, 92U },
2335
  { PPC::VSH16, 93U },
2336
  { PPC::VSH17, 94U },
2337
  { PPC::VSH18, 95U },
2338
  { PPC::VSH19, 96U },
2339
  { PPC::VSH20, 97U },
2340
  { PPC::VSH21, 98U },
2341
  { PPC::VSH22, 99U },
2342
  { PPC::VSH23, 100U },
2343
  { PPC::VSH24, 101U },
2344
  { PPC::VSH25, 102U },
2345
  { PPC::VSH26, 103U },
2346
  { PPC::VSH27, 104U },
2347
  { PPC::VSH28, 105U },
2348
  { PPC::VSH29, 106U },
2349
  { PPC::VSH30, 107U },
2350
  { PPC::VSH31, 108U },
2351
  { PPC::VSL0, 32U },
2352
  { PPC::VSL1, 33U },
2353
  { PPC::VSL2, 34U },
2354
  { PPC::VSL3, 35U },
2355
  { PPC::VSL4, 36U },
2356
  { PPC::VSL5, 37U },
2357
  { PPC::VSL6, 38U },
2358
  { PPC::VSL7, 39U },
2359
  { PPC::VSL8, 40U },
2360
  { PPC::VSL9, 41U },
2361
  { PPC::VSL10, 42U },
2362
  { PPC::VSL11, 43U },
2363
  { PPC::VSL12, 44U },
2364
  { PPC::VSL13, 45U },
2365
  { PPC::VSL14, 46U },
2366
  { PPC::VSL15, 47U },
2367
  { PPC::VSL16, 48U },
2368
  { PPC::VSL17, 49U },
2369
  { PPC::VSL18, 50U },
2370
  { PPC::VSL19, 51U },
2371
  { PPC::VSL20, 52U },
2372
  { PPC::VSL21, 53U },
2373
  { PPC::VSL22, 54U },
2374
  { PPC::VSL23, 55U },
2375
  { PPC::VSL24, 56U },
2376
  { PPC::VSL25, 57U },
2377
  { PPC::VSL26, 58U },
2378
  { PPC::VSL27, 59U },
2379
  { PPC::VSL28, 60U },
2380
  { PPC::VSL29, 61U },
2381
  { PPC::VSL30, 62U },
2382
  { PPC::VSL31, 63U },
2383
  { PPC::X0, -2U },
2384
  { PPC::X1, -2U },
2385
  { PPC::X2, -2U },
2386
  { PPC::X3, -2U },
2387
  { PPC::X4, -2U },
2388
  { PPC::X5, -2U },
2389
  { PPC::X6, -2U },
2390
  { PPC::X7, -2U },
2391
  { PPC::X8, -2U },
2392
  { PPC::X9, -2U },
2393
  { PPC::X10, -2U },
2394
  { PPC::X11, -2U },
2395
  { PPC::X12, -2U },
2396
  { PPC::X13, -2U },
2397
  { PPC::X14, -2U },
2398
  { PPC::X15, -2U },
2399
  { PPC::X16, -2U },
2400
  { PPC::X17, -2U },
2401
  { PPC::X18, -2U },
2402
  { PPC::X19, -2U },
2403
  { PPC::X20, -2U },
2404
  { PPC::X21, -2U },
2405
  { PPC::X22, -2U },
2406
  { PPC::X23, -2U },
2407
  { PPC::X24, -2U },
2408
  { PPC::X25, -2U },
2409
  { PPC::X26, -2U },
2410
  { PPC::X27, -2U },
2411
  { PPC::X28, -2U },
2412
  { PPC::X29, -2U },
2413
  { PPC::X30, -2U },
2414
  { PPC::X31, -2U },
2415
  { PPC::ZERO8, -2U },
2416
};
2417
extern const unsigned PPCDwarfFlavour1L2DwarfSize = array_lengthof(PPCDwarfFlavour1L2Dwarf);
2418
2419
extern const MCRegisterInfo::DwarfLLVMRegPair PPCEHFlavour0L2Dwarf[] = {
2420
  { PPC::CARRY, 76U },
2421
  { PPC::CTR, -2U },
2422
  { PPC::LR, -2U },
2423
  { PPC::VRSAVE, 109U },
2424
  { PPC::ZERO, -2U },
2425
  { PPC::CR0, 68U },
2426
  { PPC::CR1, 69U },
2427
  { PPC::CR2, 70U },
2428
  { PPC::CR3, 71U },
2429
  { PPC::CR4, 72U },
2430
  { PPC::CR5, 73U },
2431
  { PPC::CR6, 74U },
2432
  { PPC::CR7, 75U },
2433
  { PPC::CTR8, 66U },
2434
  { PPC::F0, 32U },
2435
  { PPC::F1, 33U },
2436
  { PPC::F2, 34U },
2437
  { PPC::F3, 35U },
2438
  { PPC::F4, 36U },
2439
  { PPC::F5, 37U },
2440
  { PPC::F6, 38U },
2441
  { PPC::F7, 39U },
2442
  { PPC::F8, 40U },
2443
  { PPC::F9, 41U },
2444
  { PPC::F10, 42U },
2445
  { PPC::F11, 43U },
2446
  { PPC::F12, 44U },
2447
  { PPC::F13, 45U },
2448
  { PPC::F14, 46U },
2449
  { PPC::F15, 47U },
2450
  { PPC::F16, 48U },
2451
  { PPC::F17, 49U },
2452
  { PPC::F18, 50U },
2453
  { PPC::F19, 51U },
2454
  { PPC::F20, 52U },
2455
  { PPC::F21, 53U },
2456
  { PPC::F22, 54U },
2457
  { PPC::F23, 55U },
2458
  { PPC::F24, 56U },
2459
  { PPC::F25, 57U },
2460
  { PPC::F26, 58U },
2461
  { PPC::F27, 59U },
2462
  { PPC::F28, 60U },
2463
  { PPC::F29, 61U },
2464
  { PPC::F30, 62U },
2465
  { PPC::F31, 63U },
2466
  { PPC::LR8, 65U },
2467
  { PPC::QF0, 32U },
2468
  { PPC::QF1, 33U },
2469
  { PPC::QF2, 34U },
2470
  { PPC::QF3, 35U },
2471
  { PPC::QF4, 36U },
2472
  { PPC::QF5, 37U },
2473
  { PPC::QF6, 38U },
2474
  { PPC::QF7, 39U },
2475
  { PPC::QF8, 40U },
2476
  { PPC::QF9, 41U },
2477
  { PPC::QF10, 42U },
2478
  { PPC::QF11, 43U },
2479
  { PPC::QF12, 44U },
2480
  { PPC::QF13, 45U },
2481
  { PPC::QF14, 46U },
2482
  { PPC::QF15, 47U },
2483
  { PPC::QF16, 48U },
2484
  { PPC::QF17, 49U },
2485
  { PPC::QF18, 50U },
2486
  { PPC::QF19, 51U },
2487
  { PPC::QF20, 52U },
2488
  { PPC::QF21, 53U },
2489
  { PPC::QF22, 54U },
2490
  { PPC::QF23, 55U },
2491
  { PPC::QF24, 56U },
2492
  { PPC::QF25, 57U },
2493
  { PPC::QF26, 58U },
2494
  { PPC::QF27, 59U },
2495
  { PPC::QF28, 60U },
2496
  { PPC::QF29, 61U },
2497
  { PPC::QF30, 62U },
2498
  { PPC::QF31, 63U },
2499
  { PPC::R0, -2U },
2500
  { PPC::R1, -2U },
2501
  { PPC::R2, -2U },
2502
  { PPC::R3, -2U },
2503
  { PPC::R4, -2U },
2504
  { PPC::R5, -2U },
2505
  { PPC::R6, -2U },
2506
  { PPC::R7, -2U },
2507
  { PPC::R8, -2U },
2508
  { PPC::R9, -2U },
2509
  { PPC::R10, -2U },
2510
  { PPC::R11, -2U },
2511
  { PPC::R12, -2U },
2512
  { PPC::R13, -2U },
2513
  { PPC::R14, -2U },
2514
  { PPC::R15, -2U },
2515
  { PPC::R16, -2U },
2516
  { PPC::R17, -2U },
2517
  { PPC::R18, -2U },
2518
  { PPC::R19, -2U },
2519
  { PPC::R20, -2U },
2520
  { PPC::R21, -2U },
2521
  { PPC::R22, -2U },
2522
  { PPC::R23, -2U },
2523
  { PPC::R24, -2U },
2524
  { PPC::R25, -2U },
2525
  { PPC::R26, -2U },
2526
  { PPC::R27, -2U },
2527
  { PPC::R28, -2U },
2528
  { PPC::R29, -2U },
2529
  { PPC::R30, -2U },
2530
  { PPC::R31, -2U },
2531
  { PPC::V0, 77U },
2532
  { PPC::V1, 78U },
2533
  { PPC::V2, 79U },
2534
  { PPC::V3, 80U },
2535
  { PPC::V4, 81U },
2536
  { PPC::V5, 82U },
2537
  { PPC::V6, 83U },
2538
  { PPC::V7, 84U },
2539
  { PPC::V8, 85U },
2540
  { PPC::V9, 86U },
2541
  { PPC::V10, 87U },
2542
  { PPC::V11, 88U },
2543
  { PPC::V12, 89U },
2544
  { PPC::V13, 90U },
2545
  { PPC::V14, 91U },
2546
  { PPC::V15, 92U },
2547
  { PPC::V16, 93U },
2548
  { PPC::V17, 94U },
2549
  { PPC::V18, 95U },
2550
  { PPC::V19, 96U },
2551
  { PPC::V20, 97U },
2552
  { PPC::V21, 98U },
2553
  { PPC::V22, 99U },
2554
  { PPC::V23, 100U },
2555
  { PPC::V24, 101U },
2556
  { PPC::V25, 102U },
2557
  { PPC::V26, 103U },
2558
  { PPC::V27, 104U },
2559
  { PPC::V28, 105U },
2560
  { PPC::V29, 106U },
2561
  { PPC::V30, 107U },
2562
  { PPC::V31, 108U },
2563
  { PPC::VSH0, 77U },
2564
  { PPC::VSH1, 78U },
2565
  { PPC::VSH2, 79U },
2566
  { PPC::VSH3, 80U },
2567
  { PPC::VSH4, 81U },
2568
  { PPC::VSH5, 82U },
2569
  { PPC::VSH6, 83U },
2570
  { PPC::VSH7, 84U },
2571
  { PPC::VSH8, 85U },
2572
  { PPC::VSH9, 86U },
2573
  { PPC::VSH10, 87U },
2574
  { PPC::VSH11, 88U },
2575
  { PPC::VSH12, 89U },
2576
  { PPC::VSH13, 90U },
2577
  { PPC::VSH14, 91U },
2578
  { PPC::VSH15, 92U },
2579
  { PPC::VSH16, 93U },
2580
  { PPC::VSH17, 94U },
2581
  { PPC::VSH18, 95U },
2582
  { PPC::VSH19, 96U },
2583
  { PPC::VSH20, 97U },
2584
  { PPC::VSH21, 98U },
2585
  { PPC::VSH22, 99U },
2586
  { PPC::VSH23, 100U },
2587
  { PPC::VSH24, 101U },
2588
  { PPC::VSH25, 102U },
2589
  { PPC::VSH26, 103U },
2590
  { PPC::VSH27, 104U },
2591
  { PPC::VSH28, 105U },
2592
  { PPC::VSH29, 106U },
2593
  { PPC::VSH30, 107U },
2594
  { PPC::VSH31, 108U },
2595
  { PPC::VSL0, 32U },
2596
  { PPC::VSL1, 33U },
2597
  { PPC::VSL2, 34U },
2598
  { PPC::VSL3, 35U },
2599
  { PPC::VSL4, 36U },
2600
  { PPC::VSL5, 37U },
2601
  { PPC::VSL6, 38U },
2602
  { PPC::VSL7, 39U },
2603
  { PPC::VSL8, 40U },
2604
  { PPC::VSL9, 41U },
2605
  { PPC::VSL10, 42U },
2606
  { PPC::VSL11, 43U },
2607
  { PPC::VSL12, 44U },
2608
  { PPC::VSL13, 45U },
2609
  { PPC::VSL14, 46U },
2610
  { PPC::VSL15, 47U },
2611
  { PPC::VSL16, 48U },
2612
  { PPC::VSL17, 49U },
2613
  { PPC::VSL18, 50U },
2614
  { PPC::VSL19, 51U },
2615
  { PPC::VSL20, 52U },
2616
  { PPC::VSL21, 53U },
2617
  { PPC::VSL22, 54U },
2618
  { PPC::VSL23, 55U },
2619
  { PPC::VSL24, 56U },
2620
  { PPC::VSL25, 57U },
2621
  { PPC::VSL26, 58U },
2622
  { PPC::VSL27, 59U },
2623
  { PPC::VSL28, 60U },
2624
  { PPC::VSL29, 61U },
2625
  { PPC::VSL30, 62U },
2626
  { PPC::VSL31, 63U },
2627
  { PPC::X0, 0U },
2628
  { PPC::X1, 1U },
2629
  { PPC::X2, 2U },
2630
  { PPC::X3, 3U },
2631
  { PPC::X4, 4U },
2632
  { PPC::X5, 5U },
2633
  { PPC::X6, 6U },
2634
  { PPC::X7, 7U },
2635
  { PPC::X8, 8U },
2636
  { PPC::X9, 9U },
2637
  { PPC::X10, 10U },
2638
  { PPC::X11, 11U },
2639
  { PPC::X12, 12U },
2640
  { PPC::X13, 13U },
2641
  { PPC::X14, 14U },
2642
  { PPC::X15, 15U },
2643
  { PPC::X16, 16U },
2644
  { PPC::X17, 17U },
2645
  { PPC::X18, 18U },
2646
  { PPC::X19, 19U },
2647
  { PPC::X20, 20U },
2648
  { PPC::X21, 21U },
2649
  { PPC::X22, 22U },
2650
  { PPC::X23, 23U },
2651
  { PPC::X24, 24U },
2652
  { PPC::X25, 25U },
2653
  { PPC::X26, 26U },
2654
  { PPC::X27, 27U },
2655
  { PPC::X28, 28U },
2656
  { PPC::X29, 29U },
2657
  { PPC::X30, 30U },
2658
  { PPC::X31, 31U },
2659
  { PPC::ZERO8, 0U },
2660
};
2661
extern const unsigned PPCEHFlavour0L2DwarfSize = array_lengthof(PPCEHFlavour0L2Dwarf);
2662
2663
extern const MCRegisterInfo::DwarfLLVMRegPair PPCEHFlavour1L2Dwarf[] = {
2664
  { PPC::CTR, 66U },
2665
  { PPC::LR, 65U },
2666
  { PPC::ZERO, 0U },
2667
  { PPC::CR0, 68U },
2668
  { PPC::CR1, 69U },
2669
  { PPC::CR2, 70U },
2670
  { PPC::CR3, 71U },
2671
  { PPC::CR4, 72U },
2672
  { PPC::CR5, 73U },
2673
  { PPC::CR6, 74U },
2674
  { PPC::CR7, 75U },
2675
  { PPC::CTR8, -2U },
2676
  { PPC::F0, 32U },
2677
  { PPC::F1, 33U },
2678
  { PPC::F2, 34U },
2679
  { PPC::F3, 35U },
2680
  { PPC::F4, 36U },
2681
  { PPC::F5, 37U },
2682
  { PPC::F6, 38U },
2683
  { PPC::F7, 39U },
2684
  { PPC::F8, 40U },
2685
  { PPC::F9, 41U },
2686
  { PPC::F10, 42U },
2687
  { PPC::F11, 43U },
2688
  { PPC::F12, 44U },
2689
  { PPC::F13, 45U },
2690
  { PPC::F14, 46U },
2691
  { PPC::F15, 47U },
2692
  { PPC::F16, 48U },
2693
  { PPC::F17, 49U },
2694
  { PPC::F18, 50U },
2695
  { PPC::F19, 51U },
2696
  { PPC::F20, 52U },
2697
  { PPC::F21, 53U },
2698
  { PPC::F22, 54U },
2699
  { PPC::F23, 55U },
2700
  { PPC::F24, 56U },
2701
  { PPC::F25, 57U },
2702
  { PPC::F26, 58U },
2703
  { PPC::F27, 59U },
2704
  { PPC::F28, 60U },
2705
  { PPC::F29, 61U },
2706
  { PPC::F30, 62U },
2707
  { PPC::F31, 63U },
2708
  { PPC::LR8, -2U },
2709
  { PPC::QF0, 32U },
2710
  { PPC::QF1, 33U },
2711
  { PPC::QF2, 34U },
2712
  { PPC::QF3, 35U },
2713
  { PPC::QF4, 36U },
2714
  { PPC::QF5, 37U },
2715
  { PPC::QF6, 38U },
2716
  { PPC::QF7, 39U },
2717
  { PPC::QF8, 40U },
2718
  { PPC::QF9, 41U },
2719
  { PPC::QF10, 42U },
2720
  { PPC::QF11, 43U },
2721
  { PPC::QF12, 44U },
2722
  { PPC::QF13, 45U },
2723
  { PPC::QF14, 46U },
2724
  { PPC::QF15, 47U },
2725
  { PPC::QF16, 48U },
2726
  { PPC::QF17, 49U },
2727
  { PPC::QF18, 50U },
2728
  { PPC::QF19, 51U },
2729
  { PPC::QF20, 52U },
2730
  { PPC::QF21, 53U },
2731
  { PPC::QF22, 54U },
2732
  { PPC::QF23, 55U },
2733
  { PPC::QF24, 56U },
2734
  { PPC::QF25, 57U },
2735
  { PPC::QF26, 58U },
2736
  { PPC::QF27, 59U },
2737
  { PPC::QF28, 60U },
2738
  { PPC::QF29, 61U },
2739
  { PPC::QF30, 62U },
2740
  { PPC::QF31, 63U },
2741
  { PPC::R0, 0U },
2742
  { PPC::R1, 1U },
2743
  { PPC::R2, 2U },
2744
  { PPC::R3, 3U },
2745
  { PPC::R4, 4U },
2746
  { PPC::R5, 5U },
2747
  { PPC::R6, 6U },
2748
  { PPC::R7, 7U },
2749
  { PPC::R8, 8U },
2750
  { PPC::R9, 9U },
2751
  { PPC::R10, 10U },
2752
  { PPC::R11, 11U },
2753
  { PPC::R12, 12U },
2754
  { PPC::R13, 13U },
2755
  { PPC::R14, 14U },
2756
  { PPC::R15, 15U },
2757
  { PPC::R16, 16U },
2758
  { PPC::R17, 17U },
2759
  { PPC::R18, 18U },
2760
  { PPC::R19, 19U },
2761
  { PPC::R20, 20U },
2762
  { PPC::R21, 21U },
2763
  { PPC::R22, 22U },
2764
  { PPC::R23, 23U },
2765
  { PPC::R24, 24U },
2766
  { PPC::R25, 25U },
2767
  { PPC::R26, 26U },
2768
  { PPC::R27, 27U },
2769
  { PPC::R28, 28U },
2770
  { PPC::R29, 29U },
2771
  { PPC::R30, 30U },
2772
  { PPC::R31, 31U },
2773
  { PPC::V0, 77U },
2774
  { PPC::V1, 78U },
2775
  { PPC::V2, 79U },
2776
  { PPC::V3, 80U },
2777
  { PPC::V4, 81U },
2778
  { PPC::V5, 82U },
2779
  { PPC::V6, 83U },
2780
  { PPC::V7, 84U },
2781
  { PPC::V8, 85U },
2782
  { PPC::V9, 86U },
2783
  { PPC::V10, 87U },
2784
  { PPC::V11, 88U },
2785
  { PPC::V12, 89U },
2786
  { PPC::V13, 90U },
2787
  { PPC::V14, 91U },
2788
  { PPC::V15, 92U },
2789
  { PPC::V16, 93U },
2790
  { PPC::V17, 94U },
2791
  { PPC::V18, 95U },
2792
  { PPC::V19, 96U },
2793
  { PPC::V20, 97U },
2794
  { PPC::V21, 98U },
2795
  { PPC::V22, 99U },
2796
  { PPC::V23, 100U },
2797
  { PPC::V24, 101U },
2798
  { PPC::V25, 102U },
2799
  { PPC::V26, 103U },
2800
  { PPC::V27, 104U },
2801
  { PPC::V28, 105U },
2802
  { PPC::V29, 106U },
2803
  { PPC::V30, 107U },
2804
  { PPC::V31, 108U },
2805
  { PPC::VSH0, 77U },
2806
  { PPC::VSH1, 78U },
2807
  { PPC::VSH2, 79U },
2808
  { PPC::VSH3, 80U },
2809
  { PPC::VSH4, 81U },
2810
  { PPC::VSH5, 82U },
2811
  { PPC::VSH6, 83U },
2812
  { PPC::VSH7, 84U },
2813
  { PPC::VSH8, 85U },
2814
  { PPC::VSH9, 86U },
2815
  { PPC::VSH10, 87U },
2816
  { PPC::VSH11, 88U },
2817
  { PPC::VSH12, 89U },
2818
  { PPC::VSH13, 90U },
2819
  { PPC::VSH14, 91U },
2820
  { PPC::VSH15, 92U },
2821
  { PPC::VSH16, 93U },
2822
  { PPC::VSH17, 94U },
2823
  { PPC::VSH18, 95U },
2824
  { PPC::VSH19, 96U },
2825
  { PPC::VSH20, 97U },
2826
  { PPC::VSH21, 98U },
2827
  { PPC::VSH22, 99U },
2828
  { PPC::VSH23, 100U },
2829
  { PPC::VSH24, 101U },
2830
  { PPC::VSH25, 102U },
2831
  { PPC::VSH26, 103U },
2832
  { PPC::VSH27, 104U },
2833
  { PPC::VSH28, 105U },
2834
  { PPC::VSH29, 106U },
2835
  { PPC::VSH30, 107U },
2836
  { PPC::VSH31, 108U },
2837
  { PPC::VSL0, 32U },
2838
  { PPC::VSL1, 33U },
2839
  { PPC::VSL2, 34U },
2840
  { PPC::VSL3, 35U },
2841
  { PPC::VSL4, 36U },
2842
  { PPC::VSL5, 37U },
2843
  { PPC::VSL6, 38U },
2844
  { PPC::VSL7, 39U },
2845
  { PPC::VSL8, 40U },
2846
  { PPC::VSL9, 41U },
2847
  { PPC::VSL10, 42U },
2848
  { PPC::VSL11, 43U },
2849
  { PPC::VSL12, 44U },
2850
  { PPC::VSL13, 45U },
2851
  { PPC::VSL14, 46U },
2852
  { PPC::VSL15, 47U },
2853
  { PPC::VSL16, 48U },
2854
  { PPC::VSL17, 49U },
2855
  { PPC::VSL18, 50U },
2856
  { PPC::VSL19, 51U },
2857
  { PPC::VSL20, 52U },
2858
  { PPC::VSL21, 53U },
2859
  { PPC::VSL22, 54U },
2860
  { PPC::VSL23, 55U },
2861
  { PPC::VSL24, 56U },
2862
  { PPC::VSL25, 57U },
2863
  { PPC::VSL26, 58U },
2864
  { PPC::VSL27, 59U },
2865
  { PPC::VSL28, 60U },
2866
  { PPC::VSL29, 61U },
2867
  { PPC::VSL30, 62U },
2868
  { PPC::VSL31, 63U },
2869
  { PPC::X0, -2U },
2870
  { PPC::X1, -2U },
2871
  { PPC::X2, -2U },
2872
  { PPC::X3, -2U },
2873
  { PPC::X4, -2U },
2874
  { PPC::X5, -2U },
2875
  { PPC::X6, -2U },
2876
  { PPC::X7, -2U },
2877
  { PPC::X8, -2U },
2878
  { PPC::X9, -2U },
2879
  { PPC::X10, -2U },
2880
  { PPC::X11, -2U },
2881
  { PPC::X12, -2U },
2882
  { PPC::X13, -2U },
2883
  { PPC::X14, -2U },
2884
  { PPC::X15, -2U },
2885
  { PPC::X16, -2U },
2886
  { PPC::X17, -2U },
2887
  { PPC::X18, -2U },
2888
  { PPC::X19, -2U },
2889
  { PPC::X20, -2U },
2890
  { PPC::X21, -2U },
2891
  { PPC::X22, -2U },
2892
  { PPC::X23, -2U },
2893
  { PPC::X24, -2U },
2894
  { PPC::X25, -2U },
2895
  { PPC::X26, -2U },
2896
  { PPC::X27, -2U },
2897
  { PPC::X28, -2U },
2898
  { PPC::X29, -2U },
2899
  { PPC::X30, -2U },
2900
  { PPC::X31, -2U },
2901
  { PPC::ZERO8, -2U },
2902
};
2903
extern const unsigned PPCEHFlavour1L2DwarfSize = array_lengthof(PPCEHFlavour1L2Dwarf);
2904
2905
extern const uint16_t PPCRegEncodingTable[] = {
2906
  0,
2907
  0,
2908
  1,
2909
  9,
2910
  0,
2911
  8,
2912
  0,
2913
  256,
2914
  0,
2915
  0,
2916
  0,
2917
  1,
2918
  2,
2919
  3,
2920
  4,
2921
  5,
2922
  6,
2923
  7,
2924
  9,
2925
  0,
2926
  1,
2927
  2,
2928
  3,
2929
  4,
2930
  5,
2931
  6,
2932
  7,
2933
  8,
2934
  9,
2935
  10,
2936
  11,
2937
  12,
2938
  13,
2939
  14,
2940
  15,
2941
  16,
2942
  17,
2943
  18,
2944
  19,
2945
  20,
2946
  21,
2947
  22,
2948
  23,
2949
  24,
2950
  25,
2951
  26,
2952
  27,
2953
  28,
2954
  29,
2955
  30,
2956
  31,
2957
  0,
2958
  8,
2959
  0,
2960
  1,
2961
  2,
2962
  3,
2963
  4,
2964
  5,
2965
  6,
2966
  7,
2967
  8,
2968
  9,
2969
  10,
2970
  11,
2971
  12,
2972
  13,
2973
  14,
2974
  15,
2975
  16,
2976
  17,
2977
  18,
2978
  19,
2979
  20,
2980
  21,
2981
  22,
2982
  23,
2983
  24,
2984
  25,
2985
  26,
2986
  27,
2987
  28,
2988
  29,
2989
  30,
2990
  31,
2991
  0,
2992
  1,
2993
  2,
2994
  3,
2995
  4,
2996
  5,
2997
  6,
2998
  7,
2999
  8,
3000
  9,
3001
  10,
3002
  11,
3003
  12,
3004
  13,
3005
  14,
3006
  15,
3007
  16,
3008
  17,
3009
  18,
3010
  19,
3011
  20,
3012
  21,
3013
  22,
3014
  23,
3015
  24,
3016
  25,
3017
  26,
3018
  27,
3019
  28,
3020
  29,
3021
  30,
3022
  31,
3023
  0,
3024
  1,
3025
  2,
3026
  3,
3027
  4,
3028
  5,
3029
  6,
3030
  7,
3031
  8,
3032
  9,
3033
  10,
3034
  11,
3035
  12,
3036
  13,
3037
  14,
3038
  15,
3039
  16,
3040
  17,
3041
  18,
3042
  19,
3043
  20,
3044
  21,
3045
  22,
3046
  23,
3047
  24,
3048
  25,
3049
  26,
3050
  27,
3051
  28,
3052
  29,
3053
  30,
3054
  31,
3055
  32,
3056
  33,
3057
  34,
3058
  35,
3059
  36,
3060
  37,
3061
  38,
3062
  39,
3063
  40,
3064
  41,
3065
  42,
3066
  43,
3067
  44,
3068
  45,
3069
  46,
3070
  47,
3071
  48,
3072
  49,
3073
  50,
3074
  51,
3075
  52,
3076
  53,
3077
  54,
3078
  55,
3079
  56,
3080
  57,
3081
  58,
3082
  59,
3083
  60,
3084
  61,
3085
  62,
3086
  63,
3087
  32,
3088
  33,
3089
  34,
3090
  35,
3091
  36,
3092
  37,
3093
  38,
3094
  39,
3095
  40,
3096
  41,
3097
  42,
3098
  43,
3099
  44,
3100
  45,
3101
  46,
3102
  47,
3103
  48,
3104
  49,
3105
  50,
3106
  51,
3107
  52,
3108
  53,
3109
  54,
3110
  55,
3111
  56,
3112
  57,
3113
  58,
3114
  59,
3115
  60,
3116
  61,
3117
  62,
3118
  63,
3119
  0,
3120
  1,
3121
  2,
3122
  3,
3123
  4,
3124
  5,
3125
  6,
3126
  7,
3127
  8,
3128
  9,
3129
  10,
3130
  11,
3131
  12,
3132
  13,
3133
  14,
3134
  15,
3135
  16,
3136
  17,
3137
  18,
3138
  19,
3139
  20,
3140
  21,
3141
  22,
3142
  23,
3143
  24,
3144
  25,
3145
  26,
3146
  27,
3147
  28,
3148
  29,
3149
  30,
3150
  31,
3151
  0,
3152
  1,
3153
  2,
3154
  3,
3155
  4,
3156
  5,
3157
  6,
3158
  7,
3159
  8,
3160
  9,
3161
  10,
3162
  11,
3163
  12,
3164
  13,
3165
  14,
3166
  15,
3167
  16,
3168
  17,
3169
  18,
3170
  19,
3171
  20,
3172
  21,
3173
  22,
3174
  23,
3175
  24,
3176
  25,
3177
  26,
3178
  27,
3179
  28,
3180
  29,
3181
  30,
3182
  31,
3183
  0,
3184
  2,
3185
  6,
3186
  10,
3187
  14,
3188
  18,
3189
  22,
3190
  26,
3191
  30,
3192
  1,
3193
  5,
3194
  9,
3195
  13,
3196
  17,
3197
  21,
3198
  25,
3199
  29,
3200
  0,
3201
  4,
3202
  8,
3203
  12,
3204
  16,
3205
  20,
3206
  24,
3207
  28,
3208
  3,
3209
  7,
3210
  11,
3211
  15,
3212
  19,
3213
  23,
3214
  27,
3215
  31,
3216
};
3217
5.93k
static inline void InitPPCMCRegisterInfo(MCRegisterInfo *RI, unsigned RA, unsigned DwarfFlavour = 0, unsigned EHFlavour = 0, unsigned PC = 0) {
3218
5.93k
  RI->InitMCRegisterInfo(PPCRegDesc, 310, RA, PC, PPCMCRegisterClasses, 25, PPCRegUnitRoots, 138, PPCRegDiffLists, PPCLaneMaskLists, PPCRegStrings, PPCRegClassStrings, PPCSubRegIdxLists, 8,
3219
5.93k
PPCSubRegIdxRanges, PPCRegEncodingTable);
3220
3221
5.93k
  switch (DwarfFlavour) {
3222
0
  default:
3223
0
    llvm_unreachable("Unknown DWARF flavour");
3224
3.81k
  case 0:
3225
3.81k
    RI->mapDwarfRegsToLLVMRegs(PPCDwarfFlavour0Dwarf2L, PPCDwarfFlavour0Dwarf2LSize, false);
3226
3.81k
    break;
3227
2.12k
  case 1:
3228
2.12k
    RI->mapDwarfRegsToLLVMRegs(PPCDwarfFlavour1Dwarf2L, PPCDwarfFlavour1Dwarf2LSize, false);
3229
2.12k
    break;
3230
5.93k
  }
3231
5.93k
  switch (EHFlavour) {
3232
0
  default:
3233
0
    llvm_unreachable("Unknown DWARF flavour");
3234
3.81k
  case 0:
3235
3.81k
    RI->mapDwarfRegsToLLVMRegs(PPCEHFlavour0Dwarf2L, PPCEHFlavour0Dwarf2LSize, true);
3236
3.81k
    break;
3237
2.12k
  case 1:
3238
2.12k
    RI->mapDwarfRegsToLLVMRegs(PPCEHFlavour1Dwarf2L, PPCEHFlavour1Dwarf2LSize, true);
3239
2.12k
    break;
3240
5.93k
  }
3241
5.93k
  switch (DwarfFlavour) {
3242
0
  default:
3243
0
    llvm_unreachable("Unknown DWARF flavour");
3244
3.81k
  case 0:
3245
3.81k
    RI->mapLLVMRegsToDwarfRegs(PPCDwarfFlavour0L2Dwarf, PPCDwarfFlavour0L2DwarfSize, false);
3246
3.81k
    break;
3247
2.12k
  case 1:
3248
2.12k
    RI->mapLLVMRegsToDwarfRegs(PPCDwarfFlavour1L2Dwarf, PPCDwarfFlavour1L2DwarfSize, false);
3249
2.12k
    break;
3250
5.93k
  }
3251
5.93k
  switch (EHFlavour) {
3252
0
  default:
3253
0
    llvm_unreachable("Unknown DWARF flavour");
3254
3.81k
  case 0:
3255
3.81k
    RI->mapLLVMRegsToDwarfRegs(PPCEHFlavour0L2Dwarf, PPCEHFlavour0L2DwarfSize, true);
3256
3.81k
    break;
3257
2.12k
  case 1:
3258
2.12k
    RI->mapLLVMRegsToDwarfRegs(PPCEHFlavour1L2Dwarf, PPCEHFlavour1L2DwarfSize, true);
3259
2.12k
    break;
3260
5.93k
  }
3261
5.93k
}
3262
3263
} // End llvm namespace
3264
#endif // GET_REGINFO_MC_DESC