1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* MC Register Information *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9namespace llvm {
10
11extern const int16_t HexagonRegDiffLists[] = {
12 /* 0 */ 21, -304, 0,
13 /* 3 */ -209, -158, 0,
14 /* 6 */ -211, -111, 0,
15 /* 9 */ -140, -92, 0,
16 /* 12 */ -77, 0,
17 /* 14 */ -76, 0,
18 /* 16 */ -75, 0,
19 /* 18 */ -74, 0,
20 /* 20 */ -73, 0,
21 /* 22 */ -72, 0,
22 /* 24 */ -71, 0,
23 /* 26 */ -70, 0,
24 /* 28 */ -69, 0,
25 /* 30 */ -68, 0,
26 /* 32 */ -67, 0,
27 /* 34 */ -66, 0,
28 /* 36 */ -65, 0,
29 /* 38 */ -64, 0,
30 /* 40 */ -63, 0,
31 /* 42 */ -62, 0,
32 /* 44 */ -61, 0,
33 /* 46 */ -52, 0,
34 /* 48 */ -51, 0,
35 /* 50 */ -327, -31, 0,
36 /* 53 */ -284, -30, 0,
37 /* 56 */ -324, -28, 0,
38 /* 59 */ -303, -24, 0,
39 /* 62 */ -21, 0,
40 /* 64 */ 72, -16, 0,
41 /* 67 */ -345, -15, 0,
42 /* 70 */ 72, -15, 0,
43 /* 73 */ 72, -14, 0,
44 /* 76 */ 72, -13, 0,
45 /* 79 */ 72, -12, 0,
46 /* 82 */ 72, -11, 0,
47 /* 85 */ 72, -10, 0,
48 /* 88 */ 72, -9, 0,
49 /* 91 */ 72, -8, 0,
50 /* 94 */ -324, -2, 0,
51 /* 97 */ -352, -1, 0,
52 /* 100 */ -346, -1, 0,
53 /* 103 */ -339, -1, 0,
54 /* 106 */ -331, -1, 0,
55 /* 109 */ -205, -1, 0,
56 /* 112 */ -204, -1, 0,
57 /* 115 */ 2, -1, 0,
58 /* 118 */ -360, 1, 0,
59 /* 121 */ -357, 1, 0,
60 /* 124 */ -312, 1, 0,
61 /* 127 */ -271, 1, 0,
62 /* 130 */ -270, 1, 0,
63 /* 133 */ -269, 1, 0,
64 /* 136 */ -268, 1, 0,
65 /* 139 */ -267, 1, 0,
66 /* 142 */ -266, 1, 0,
67 /* 145 */ -265, 1, 0,
68 /* 148 */ -264, 1, 0,
69 /* 151 */ -262, 1, 0,
70 /* 154 */ -261, 1, 0,
71 /* 157 */ -253, 1, 0,
72 /* 160 */ -252, 1, 0,
73 /* 163 */ -233, 1, 0,
74 /* 166 */ -217, 1, 0,
75 /* 169 */ -216, 1, 0,
76 /* 172 */ -215, 1, 0,
77 /* 175 */ -214, 1, 0,
78 /* 178 */ -213, 1, 0,
79 /* 181 */ -212, 1, 0,
80 /* 184 */ -211, 1, 0,
81 /* 187 */ -210, 1, 0,
82 /* 190 */ -209, 1, 0,
83 /* 193 */ -208, 1, 0,
84 /* 196 */ -207, 1, 0,
85 /* 199 */ -201, 1, 0,
86 /* 202 */ 1, 1, 1, 15, 1, 0,
87 /* 208 */ 1, 1, 1, 17, 1, 0,
88 /* 214 */ 1, 1, 1, 19, 1, 0,
89 /* 220 */ 1, 1, 1, 21, 1, 0,
90 /* 226 */ 1, 1, 1, 23, 1, 0,
91 /* 232 */ 1, 1, 1, 25, 1, 0,
92 /* 238 */ 1, 1, 1, 27, 1, 0,
93 /* 244 */ 1, 1, 1, 29, 1, 0,
94 /* 250 */ 51, 1, 0,
95 /* 253 */ 61, 1, 0,
96 /* 256 */ 62, 1, 0,
97 /* 259 */ 63, 1, 0,
98 /* 262 */ 64, 1, 0,
99 /* 265 */ 65, 1, 0,
100 /* 268 */ 66, 1, 0,
101 /* 271 */ 67, 1, 0,
102 /* 274 */ 68, 1, 0,
103 /* 277 */ 69, 1, 0,
104 /* 280 */ 70, 1, 0,
105 /* 283 */ 71, 1, 0,
106 /* 286 */ 72, 1, 0,
107 /* 289 */ 73, 1, 0,
108 /* 292 */ 74, 1, 0,
109 /* 295 */ 75, 1, 0,
110 /* 298 */ 76, 1, 0,
111 /* 301 */ 2, 0,
112 /* 303 */ -331, 5, 0,
113 /* 306 */ 15, 12, 0,
114 /* 309 */ -358, 16, 0,
115 /* 312 */ 15, -90, 1, 17, 73, -89, 1, 16, 0,
116 /* 321 */ -90, 1, 17, 0,
117 /* 325 */ 14, -92, 1, 19, 73, -91, 1, 18, 0,
118 /* 334 */ -92, 1, 19, 0,
119 /* 338 */ 13, -94, 1, 21, 73, -93, 1, 20, 0,
120 /* 347 */ -94, 1, 21, 0,
121 /* 351 */ 12, -96, 1, 23, 73, -95, 1, 22, 0,
122 /* 360 */ -96, 1, 23, 0,
123 /* 364 */ 103, -8, 24, 0,
124 /* 368 */ 104, -8, 24, 0,
125 /* 372 */ 11, -98, 1, 25, 73, -97, 1, 24, 0,
126 /* 381 */ 101, -9, 25, 0,
127 /* 385 */ 102, -9, 25, 0,
128 /* 389 */ 103, -9, 25, 0,
129 /* 393 */ -98, 1, 25, 0,
130 /* 397 */ 99, -10, 26, 0,
131 /* 401 */ 100, -10, 26, 0,
132 /* 405 */ 101, -10, 26, 0,
133 /* 409 */ 10, -100, 1, 27, 73, -99, 1, 26, 0,
134 /* 418 */ -366, 27, 0,
135 /* 421 */ 97, -11, 27, 0,
136 /* 425 */ 98, -11, 27, 0,
137 /* 429 */ 99, -11, 27, 0,
138 /* 433 */ -100, 1, 27, 0,
139 /* 437 */ 95, -12, 28, 0,
140 /* 441 */ 96, -12, 28, 0,
141 /* 445 */ 97, -12, 28, 0,
142 /* 449 */ 9, -102, 1, 29, 73, -101, 1, 28, 0,
143 /* 458 */ 93, -13, 29, 0,
144 /* 462 */ 94, -13, 29, 0,
145 /* 466 */ 95, -13, 29, 0,
146 /* 470 */ -102, 1, 29, 0,
147 /* 474 */ 91, -14, 30, 0,
148 /* 478 */ 92, -14, 30, 0,
149 /* 482 */ 93, -14, 30, 0,
150 /* 486 */ 8, -104, 1, 31, 73, -103, 1, 30, 0,
151 /* 495 */ 89, -15, 31, 0,
152 /* 499 */ 90, -15, 31, 0,
153 /* 503 */ 91, -15, 31, 0,
154 /* 507 */ -104, 1, 31, 0,
155 /* 511 */ 88, -16, 32, 0,
156 /* 515 */ 89, -16, 32, 0,
157 /* 519 */ 33, 0,
158 /* 521 */ -105, 1, 48, 0,
159 /* 525 */ -106, 1, 49, 0,
160 /* 529 */ -107, 1, 50, 0,
161 /* 533 */ -108, 1, 51, 0,
162 /* 537 */ -109, 1, 52, 0,
163 /* 541 */ -110, 1, 53, 0,
164 /* 545 */ -111, 1, 54, 0,
165 /* 549 */ -112, 1, 55, 0,
166 /* 553 */ -113, 1, 56, 0,
167 /* 557 */ -114, 1, 57, 0,
168 /* 561 */ -115, 1, 58, 0,
169 /* 565 */ -116, 1, 59, 0,
170 /* 569 */ -117, 1, 60, 0,
171 /* 573 */ -273, 61, 0,
172 /* 576 */ -118, 1, 61, 0,
173 /* 580 */ -331, 62, 0,
174 /* 583 */ -119, 1, 62, 0,
175 /* 587 */ -120, 1, 63, 0,
176 /* 591 */ 64, 0,
177 /* 593 */ 73, 0,
178 /* 595 */ -351, 78, 0,
179 /* 598 */ 89, 0,
180 /* 600 */ 97, 0,
181 /* 602 */ 104, 0,
182 /* 604 */ 116, 0,
183 /* 606 */ -331, 120, 0,
184 /* 609 */ -345, 133, 0,
185 /* 612 */ 140, 0,
186 /* 614 */ 142, 0,
187 /* 616 */ 68, 2, 2, 2, 153, 0,
188 /* 622 */ 200, 0,
189 /* 624 */ 201, 0,
190 /* 626 */ 204, 0,
191 /* 628 */ 205, 0,
192 /* 630 */ 206, 0,
193 /* 632 */ 207, 0,
194 /* 634 */ 208, 0,
195 /* 636 */ 209, 0,
196 /* 638 */ 210, 0,
197 /* 640 */ 211, 0,
198 /* 642 */ 212, 0,
199 /* 644 */ 213, 0,
200 /* 646 */ 214, 0,
201 /* 648 */ 215, 0,
202 /* 650 */ 216, 0,
203 /* 652 */ 217, 0,
204 /* 654 */ 232, 0,
205 /* 656 */ 233, 0,
206 /* 658 */ 251, 0,
207 /* 660 */ 252, 0,
208 /* 662 */ 253, 0,
209 /* 664 */ 260, 0,
210 /* 666 */ 261, 0,
211 /* 668 */ 262, 0,
212 /* 670 */ 263, 0,
213 /* 672 */ 264, 0,
214 /* 674 */ 265, 0,
215 /* 676 */ 266, 0,
216 /* 678 */ 267, 0,
217 /* 680 */ 268, 0,
218 /* 682 */ 269, 0,
219 /* 684 */ 270, 0,
220 /* 686 */ 271, 0,
221 /* 688 */ 273, 0,
222 /* 690 */ 283, 0,
223 /* 692 */ 284, 0,
224 /* 694 */ 303, 0,
225 /* 696 */ 311, 0,
226 /* 698 */ 312, 0,
227 /* 700 */ 314, 0,
228 /* 702 */ 322, 0,
229 /* 704 */ 324, 0,
230 /* 706 */ 326, 0,
231 /* 708 */ 327, 0,
232 /* 710 */ 331, 0,
233 /* 712 */ 332, 0,
234 /* 714 */ 339, 0,
235 /* 716 */ 340, 0,
236 /* 718 */ 342, 0,
237 /* 720 */ 345, 0,
238 /* 722 */ 346, 0,
239 /* 724 */ 347, 0,
240 /* 726 */ 351, 0,
241 /* 728 */ 352, 0,
242 /* 730 */ 353, 0,
243 /* 732 */ 356, 0,
244 /* 734 */ 357, 0,
245 /* 736 */ 358, 0,
246 /* 738 */ 359, 0,
247 /* 740 */ 360, 0,
248 /* 742 */ 366, 0,
249 /* 744 */ 367, 0,
250};
251
252extern const LaneBitmask HexagonLaneMaskLists[] = {
253 /* 0 */ LaneBitmask(0x0000000000000002), LaneBitmask(0x0000000000000001),
254 /* 2 */ LaneBitmask(0x0000000000000001), LaneBitmask(0x0000000000000002),
255 /* 4 */ LaneBitmask(0x0000000000000001), LaneBitmask(0x0000000000000002), LaneBitmask(0x0000000000000002),
256 /* 7 */ LaneBitmask(0x0000000000000001), LaneBitmask(0x0000000000000002), LaneBitmask(0x0000000000000002), LaneBitmask(0x0000000000000002), LaneBitmask(0x0000000000000002), LaneBitmask(0x0000000000000002),
257 /* 13 */ LaneBitmask(0x0000000000000020), LaneBitmask(0x0000000000000010), LaneBitmask(0x0000000000000008),
258 /* 16 */ LaneBitmask(0x0000000000000020), LaneBitmask(0x0000000000000010), LaneBitmask(0x0000000000000100), LaneBitmask(0x0000000000000080), LaneBitmask(0x0000000000000008), LaneBitmask(0x0000000000000040),
259 /* 22 */ LaneBitmask(0x0000000000000004), LaneBitmask(0xFFFFFFFFFFFFFFFF),
260 /* 24 */ LaneBitmask(0xFFFFFFFFFFFFFFFF), LaneBitmask(0xFFFFFFFFFFFFFFFF), LaneBitmask(0xFFFFFFFFFFFFFFFF), LaneBitmask(0xFFFFFFFFFFFFFFFF), LaneBitmask(0xFFFFFFFFFFFFFFFF),
261};
262
263extern const uint16_t HexagonSubRegIdxLists[] = {
264 /* 0 */ 2, 1,
265 /* 2 */ 3,
266 /* 3 */ 6, 5, 4,
267 /* 6 */ 8, 6, 5, 4, 7, 11, 10, 9,
268};
269
270
271#ifdef __GNUC__
272#pragma GCC diagnostic push
273#pragma GCC diagnostic ignored "-Woverlength-strings"
274#endif
275extern const char HexagonRegStrings[] = {
276 /* 0 */ "D10\000"
277 /* 4 */ "VF10\000"
278 /* 9 */ "G10\000"
279 /* 13 */ "VFR10\000"
280 /* 19 */ "WR10\000"
281 /* 24 */ "V10\000"
282 /* 28 */ "W10\000"
283 /* 32 */ "C11_10\000"
284 /* 39 */ "G11_10\000"
285 /* 46 */ "S11_10\000"
286 /* 53 */ "VF20\000"
287 /* 58 */ "G20\000"
288 /* 62 */ "VFR20\000"
289 /* 68 */ "S20\000"
290 /* 72 */ "V20\000"
291 /* 76 */ "G21_20\000"
292 /* 83 */ "S21_20\000"
293 /* 90 */ "VF30\000"
294 /* 95 */ "G30\000"
295 /* 99 */ "VFR30\000"
296 /* 105 */ "V30\000"
297 /* 109 */ "G31_30\000"
298 /* 116 */ "S31_30\000"
299 /* 123 */ "S41_40\000"
300 /* 130 */ "S51_50\000"
301 /* 137 */ "S60\000"
302 /* 141 */ "S61_60\000"
303 /* 148 */ "S70\000"
304 /* 152 */ "S71_70\000"
305 /* 159 */ "S80\000"
306 /* 163 */ "SA0\000"
307 /* 167 */ "BADVA0\000"
308 /* 174 */ "LC0\000"
309 /* 178 */ "BRKPTPC0\000"
310 /* 187 */ "D0\000"
311 /* 190 */ "VF0\000"
312 /* 194 */ "ISDBCFG0\000"
313 /* 203 */ "BRKPTCFG0\000"
314 /* 213 */ "M0\000"
315 /* 216 */ "SGP0\000"
316 /* 221 */ "VQ0\000"
317 /* 225 */ "VFR0\000"
318 /* 230 */ "WR0\000"
319 /* 234 */ "CS0\000"
320 /* 238 */ "GPMUCNT0\000"
321 /* 247 */ "V0\000"
322 /* 250 */ "W0\000"
323 /* 253 */ "C1_0\000"
324 /* 258 */ "G1_0\000"
325 /* 263 */ "SGP1_0\000"
326 /* 270 */ "P3_0\000"
327 /* 275 */ "D11\000"
328 /* 279 */ "VF11\000"
329 /* 284 */ "G11\000"
330 /* 288 */ "VFR11\000"
331 /* 294 */ "WR11\000"
332 /* 299 */ "S11\000"
333 /* 303 */ "V11\000"
334 /* 307 */ "W11\000"
335 /* 311 */ "VF21\000"
336 /* 316 */ "G21\000"
337 /* 320 */ "VFR21\000"
338 /* 326 */ "V21\000"
339 /* 330 */ "VF31\000"
340 /* 335 */ "G31\000"
341 /* 339 */ "VFR31\000"
342 /* 345 */ "V31\000"
343 /* 349 */ "S61\000"
344 /* 353 */ "S71\000"
345 /* 357 */ "SA1\000"
346 /* 361 */ "BADVA1\000"
347 /* 368 */ "LC1\000"
348 /* 372 */ "BRKPTPC1\000"
349 /* 381 */ "D1\000"
350 /* 384 */ "VF1\000"
351 /* 388 */ "ISDBCFG1\000"
352 /* 397 */ "BRKPTCFG1\000"
353 /* 407 */ "M1\000"
354 /* 410 */ "SGP1\000"
355 /* 415 */ "VQ1\000"
356 /* 419 */ "VFR1\000"
357 /* 424 */ "WR1\000"
358 /* 428 */ "CS1\000"
359 /* 432 */ "GPMUCNT1\000"
360 /* 441 */ "V1\000"
361 /* 444 */ "W1\000"
362 /* 447 */ "D12\000"
363 /* 451 */ "VF12\000"
364 /* 456 */ "G12\000"
365 /* 460 */ "VFR12\000"
366 /* 466 */ "WR12\000"
367 /* 471 */ "S12\000"
368 /* 475 */ "V12\000"
369 /* 479 */ "W12\000"
370 /* 483 */ "G13_12\000"
371 /* 490 */ "S13_12\000"
372 /* 497 */ "VF22\000"
373 /* 502 */ "G22\000"
374 /* 506 */ "VFR22\000"
375 /* 512 */ "S22\000"
376 /* 516 */ "V22\000"
377 /* 520 */ "G23_22\000"
378 /* 527 */ "S23_22\000"
379 /* 534 */ "S33_32\000"
380 /* 541 */ "S43_42\000"
381 /* 548 */ "S53_52\000"
382 /* 555 */ "S62\000"
383 /* 559 */ "S63_62\000"
384 /* 566 */ "S72\000"
385 /* 570 */ "S73_72\000"
386 /* 577 */ "D2\000"
387 /* 580 */ "VF2\000"
388 /* 584 */ "P2\000"
389 /* 587 */ "VQ2\000"
390 /* 591 */ "VFR2\000"
391 /* 596 */ "WR2\000"
392 /* 600 */ "GPMUCNT2\000"
393 /* 609 */ "V2\000"
394 /* 612 */ "W2\000"
395 /* 615 */ "C3_2\000"
396 /* 620 */ "G3_2\000"
397 /* 625 */ "S3_2\000"
398 /* 630 */ "D13\000"
399 /* 634 */ "VF13\000"
400 /* 639 */ "G13\000"
401 /* 643 */ "VFR13\000"
402 /* 649 */ "WR13\000"
403 /* 654 */ "S13\000"
404 /* 658 */ "V13\000"
405 /* 662 */ "W13\000"
406 /* 666 */ "VF23\000"
407 /* 671 */ "G23\000"
408 /* 675 */ "VFR23\000"
409 /* 681 */ "S23\000"
410 /* 685 */ "V23\000"
411 /* 689 */ "S63\000"
412 /* 693 */ "S73\000"
413 /* 697 */ "D3\000"
414 /* 700 */ "VF3\000"
415 /* 704 */ "G3\000"
416 /* 707 */ "P3\000"
417 /* 710 */ "VQ3\000"
418 /* 714 */ "VFR3\000"
419 /* 719 */ "WR3\000"
420 /* 723 */ "GPMUCNT3\000"
421 /* 732 */ "V3\000"
422 /* 735 */ "W3\000"
423 /* 738 */ "D14\000"
424 /* 742 */ "VF14\000"
425 /* 747 */ "G14\000"
426 /* 751 */ "VFR14\000"
427 /* 757 */ "WR14\000"
428 /* 762 */ "S14\000"
429 /* 766 */ "V14\000"
430 /* 770 */ "W14\000"
431 /* 774 */ "G15_14\000"
432 /* 781 */ "S15_14\000"
433 /* 788 */ "VF24\000"
434 /* 793 */ "VFR24\000"
435 /* 799 */ "S24\000"
436 /* 803 */ "V24\000"
437 /* 807 */ "G25_24\000"
438 /* 814 */ "S25_24\000"
439 /* 821 */ "S35_34\000"
440 /* 828 */ "S44\000"
441 /* 832 */ "S45_44\000"
442 /* 839 */ "S54\000"
443 /* 843 */ "S55_54\000"
444 /* 850 */ "S64\000"
445 /* 854 */ "S65_64\000"
446 /* 861 */ "S74\000"
447 /* 865 */ "S75_74\000"
448 /* 872 */ "D4\000"
449 /* 875 */ "VF4\000"
450 /* 879 */ "G4\000"
451 /* 882 */ "VQ4\000"
452 /* 886 */ "VFR4\000"
453 /* 891 */ "WR4\000"
454 /* 895 */ "GPMUCNT4\000"
455 /* 904 */ "V4\000"
456 /* 907 */ "W4\000"
457 /* 910 */ "C5_4\000"
458 /* 915 */ "G5_4\000"
459 /* 920 */ "S5_4\000"
460 /* 925 */ "D15\000"
461 /* 929 */ "VF15\000"
462 /* 934 */ "G15\000"
463 /* 938 */ "VFR15\000"
464 /* 944 */ "WR15\000"
465 /* 949 */ "S15\000"
466 /* 953 */ "V15\000"
467 /* 957 */ "W15\000"
468 /* 961 */ "VF25\000"
469 /* 966 */ "VFR25\000"
470 /* 972 */ "S25\000"
471 /* 976 */ "V25\000"
472 /* 980 */ "S35\000"
473 /* 984 */ "S45\000"
474 /* 988 */ "S55\000"
475 /* 992 */ "S65\000"
476 /* 996 */ "S75\000"
477 /* 1000 */ "C5\000"
478 /* 1003 */ "D5\000"
479 /* 1006 */ "VF5\000"
480 /* 1010 */ "G5\000"
481 /* 1013 */ "VQ5\000"
482 /* 1017 */ "VFR5\000"
483 /* 1022 */ "WR5\000"
484 /* 1026 */ "GPMUCNT5\000"
485 /* 1035 */ "V5\000"
486 /* 1038 */ "W5\000"
487 /* 1041 */ "VF16\000"
488 /* 1046 */ "VFR16\000"
489 /* 1052 */ "V16\000"
490 /* 1056 */ "C17_16\000"
491 /* 1063 */ "G17_16\000"
492 /* 1070 */ "S17_16\000"
493 /* 1077 */ "VF26\000"
494 /* 1082 */ "VFR26\000"
495 /* 1088 */ "S26\000"
496 /* 1092 */ "V26\000"
497 /* 1096 */ "G27_26\000"
498 /* 1103 */ "S27_26\000"
499 /* 1110 */ "S37_36\000"
500 /* 1117 */ "S46\000"
501 /* 1121 */ "S47_46\000"
502 /* 1128 */ "S56\000"
503 /* 1132 */ "S57_56\000"
504 /* 1139 */ "S66\000"
505 /* 1143 */ "S67_66\000"
506 /* 1150 */ "S76\000"
507 /* 1154 */ "S77_76\000"
508 /* 1161 */ "D6\000"
509 /* 1164 */ "VF6\000"
510 /* 1168 */ "G6\000"
511 /* 1171 */ "VQ6\000"
512 /* 1175 */ "VFR6\000"
513 /* 1180 */ "WR6\000"
514 /* 1184 */ "GPMUCNT6\000"
515 /* 1193 */ "V6\000"
516 /* 1196 */ "W6\000"
517 /* 1199 */ "C7_6\000"
518 /* 1204 */ "G7_6\000"
519 /* 1209 */ "S7_6\000"
520 /* 1214 */ "VF17\000"
521 /* 1219 */ "VFR17\000"
522 /* 1225 */ "V17\000"
523 /* 1229 */ "VF27\000"
524 /* 1234 */ "VFR27\000"
525 /* 1240 */ "V27\000"
526 /* 1244 */ "S47\000"
527 /* 1248 */ "S57\000"
528 /* 1252 */ "S67\000"
529 /* 1256 */ "S77\000"
530 /* 1260 */ "D7\000"
531 /* 1263 */ "VF7\000"
532 /* 1267 */ "G7\000"
533 /* 1270 */ "VQ7\000"
534 /* 1274 */ "VFR7\000"
535 /* 1279 */ "WR7\000"
536 /* 1283 */ "GPMUCNT7\000"
537 /* 1292 */ "V7\000"
538 /* 1295 */ "W7\000"
539 /* 1298 */ "VF18\000"
540 /* 1303 */ "VFR18\000"
541 /* 1309 */ "V18\000"
542 /* 1313 */ "G19_18\000"
543 /* 1320 */ "S19_18\000"
544 /* 1327 */ "VF28\000"
545 /* 1332 */ "VFR28\000"
546 /* 1338 */ "V28\000"
547 /* 1342 */ "G29_28\000"
548 /* 1349 */ "S29_28\000"
549 /* 1356 */ "S39_38\000"
550 /* 1363 */ "S49_48\000"
551 /* 1370 */ "S58\000"
552 /* 1374 */ "S59_58\000"
553 /* 1381 */ "S68\000"
554 /* 1385 */ "S69_68\000"
555 /* 1392 */ "S78\000"
556 /* 1396 */ "S79_78\000"
557 /* 1403 */ "C8\000"
558 /* 1406 */ "D8\000"
559 /* 1409 */ "VF8\000"
560 /* 1413 */ "G8\000"
561 /* 1416 */ "VFR8\000"
562 /* 1421 */ "WR8\000"
563 /* 1425 */ "V8\000"
564 /* 1428 */ "W8\000"
565 /* 1431 */ "C9_8\000"
566 /* 1436 */ "G9_8\000"
567 /* 1441 */ "S9_8\000"
568 /* 1446 */ "VF19\000"
569 /* 1451 */ "VFR19\000"
570 /* 1457 */ "S19\000"
571 /* 1461 */ "V19\000"
572 /* 1465 */ "VF29\000"
573 /* 1470 */ "VFR29\000"
574 /* 1476 */ "V29\000"
575 /* 1480 */ "S59\000"
576 /* 1484 */ "S69\000"
577 /* 1488 */ "S79\000"
578 /* 1492 */ "D9\000"
579 /* 1495 */ "VF9\000"
580 /* 1499 */ "G9\000"
581 /* 1502 */ "VFR9\000"
582 /* 1507 */ "WR9\000"
583 /* 1511 */ "V9\000"
584 /* 1514 */ "W9\000"
585 /* 1517 */ "BADVA\000"
586 /* 1523 */ "EVB\000"
587 /* 1527 */ "PC\000"
588 /* 1530 */ "HTID\000"
589 /* 1535 */ "STID\000"
590 /* 1540 */ "VID\000"
591 /* 1544 */ "UPCYCLE\000"
592 /* 1552 */ "CFGBASE\000"
593 /* 1560 */ "USR_OVF\000"
594 /* 1568 */ "DIAG\000"
595 /* 1573 */ "SYSCFG\000"
596 /* 1580 */ "PMUEVTCFG\000"
597 /* 1590 */ "PMUCFG\000"
598 /* 1597 */ "GPCYCLEHI\000"
599 /* 1607 */ "UPCYCLEHI\000"
600 /* 1617 */ "UTIMERHI\000"
601 /* 1626 */ "PKTCOUNTHI\000"
602 /* 1637 */ "IMASK\000"
603 /* 1643 */ "MODECTL\000"
604 /* 1651 */ "ISDBEN\000"
605 /* 1658 */ "ISDBMBXIN\000"
606 /* 1668 */ "GPCYCLELO\000"
607 /* 1678 */ "UPCYCLELO\000"
608 /* 1688 */ "UTIMERLO\000"
609 /* 1697 */ "PKTCOUNTLO\000"
610 /* 1708 */ "UGP\000"
611 /* 1712 */ "VTMP\000"
612 /* 1717 */ "GOSP\000"
613 /* 1722 */ "CCR\000"
614 /* 1726 */ "UTIMER\000"
615 /* 1733 */ "GELR\000"
616 /* 1738 */ "ISDBGPR\000"
617 /* 1746 */ "GSR\000"
618 /* 1750 */ "SSR\000"
619 /* 1754 */ "USR\000"
620 /* 1758 */ "CS\000"
621 /* 1761 */ "FRAMELIMIT\000"
622 /* 1772 */ "PKTCOUNT\000"
623 /* 1781 */ "ISDBST\000"
624 /* 1788 */ "ISDBMBXOUT\000"
625 /* 1799 */ "REV\000"
626 /* 1803 */ "FRAMEKEY\000"
627};
628#ifdef __GNUC__
629#pragma GCC diagnostic pop
630#endif
631
632extern const MCRegisterDesc HexagonRegDesc[] = { // Descriptors
633 { .Name: 3, .SubRegs: 0, .SuperRegs: 0, .SubRegIndices: 0, .RegUnits: 0, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
634 { .Name: 1517, .SubRegs: 2, .SuperRegs: 740, .SubRegIndices: 2, .RegUnits: 8192, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
635 { .Name: 1722, .SubRegs: 2, .SuperRegs: 736, .SubRegIndices: 2, .RegUnits: 8193, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
636 { .Name: 1552, .SubRegs: 2, .SuperRegs: 744, .SubRegIndices: 2, .RegUnits: 8194, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
637 { .Name: 1758, .SubRegs: 250, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487427, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
638 { .Name: 1568, .SubRegs: 2, .SuperRegs: 742, .SubRegIndices: 2, .RegUnits: 8197, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
639 { .Name: 1734, .SubRegs: 2, .SuperRegs: 728, .SubRegIndices: 2, .RegUnits: 8198, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
640 { .Name: 1523, .SubRegs: 2, .SuperRegs: 736, .SubRegIndices: 2, .RegUnits: 8199, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
641 { .Name: 1803, .SubRegs: 2, .SuperRegs: 712, .SubRegIndices: 2, .RegUnits: 8200, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
642 { .Name: 1761, .SubRegs: 2, .SuperRegs: 710, .SubRegIndices: 2, .RegUnits: 8201, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
643 { .Name: 1733, .SubRegs: 2, .SuperRegs: 710, .SubRegIndices: 2, .RegUnits: 8202, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
644 { .Name: 1717, .SubRegs: 2, .SuperRegs: 710, .SubRegIndices: 2, .RegUnits: 8203, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
645 { .Name: 1709, .SubRegs: 2, .SuperRegs: 708, .SubRegIndices: 2, .RegUnits: 8204, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
646 { .Name: 1597, .SubRegs: 2, .SuperRegs: 716, .SubRegIndices: 2, .RegUnits: 8205, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
647 { .Name: 1668, .SubRegs: 2, .SuperRegs: 714, .SubRegIndices: 2, .RegUnits: 8206, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
648 { .Name: 1746, .SubRegs: 2, .SuperRegs: 706, .SubRegIndices: 2, .RegUnits: 8207, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
649 { .Name: 1530, .SubRegs: 2, .SuperRegs: 720, .SubRegIndices: 2, .RegUnits: 8208, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
650 { .Name: 1637, .SubRegs: 2, .SuperRegs: 720, .SubRegIndices: 2, .RegUnits: 8209, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
651 { .Name: 1651, .SubRegs: 2, .SuperRegs: 740, .SubRegIndices: 2, .RegUnits: 8210, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
652 { .Name: 1738, .SubRegs: 2, .SuperRegs: 738, .SubRegIndices: 2, .RegUnits: 8211, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
653 { .Name: 1658, .SubRegs: 2, .SuperRegs: 734, .SubRegIndices: 2, .RegUnits: 8212, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
654 { .Name: 1788, .SubRegs: 2, .SuperRegs: 732, .SubRegIndices: 2, .RegUnits: 8213, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
655 { .Name: 1781, .SubRegs: 2, .SuperRegs: 726, .SubRegIndices: 2, .RegUnits: 8214, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
656 { .Name: 1643, .SubRegs: 2, .SuperRegs: 718, .SubRegIndices: 2, .RegUnits: 8215, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
657 { .Name: 1527, .SubRegs: 2, .SuperRegs: 700, .SubRegIndices: 2, .RegUnits: 8216, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
658 { .Name: 1598, .SubRegs: 2, .SuperRegs: 724, .SubRegIndices: 2, .RegUnits: 8217, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
659 { .Name: 1669, .SubRegs: 2, .SuperRegs: 722, .SubRegIndices: 2, .RegUnits: 8218, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
660 { .Name: 1772, .SubRegs: 115, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487451, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
661 { .Name: 1626, .SubRegs: 2, .SuperRegs: 98, .SubRegIndices: 2, .RegUnits: 8220, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
662 { .Name: 1697, .SubRegs: 2, .SuperRegs: 95, .SubRegIndices: 2, .RegUnits: 8219, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
663 { .Name: 1590, .SubRegs: 2, .SuperRegs: 730, .SubRegIndices: 2, .RegUnits: 8221, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
664 { .Name: 1580, .SubRegs: 2, .SuperRegs: 728, .SubRegIndices: 2, .RegUnits: 8222, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
665 { .Name: 1799, .SubRegs: 2, .SuperRegs: 714, .SubRegIndices: 2, .RegUnits: 8223, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
666 { .Name: 1750, .SubRegs: 2, .SuperRegs: 708, .SubRegIndices: 2, .RegUnits: 8224, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
667 { .Name: 1535, .SubRegs: 2, .SuperRegs: 704, .SubRegIndices: 2, .RegUnits: 8225, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
668 { .Name: 1573, .SubRegs: 2, .SuperRegs: 710, .SubRegIndices: 2, .RegUnits: 8226, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
669 { .Name: 1708, .SubRegs: 2, .SuperRegs: 694, .SubRegIndices: 2, .RegUnits: 8227, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
670 { .Name: 1544, .SubRegs: 115, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487460, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
671 { .Name: 1607, .SubRegs: 2, .SuperRegs: 98, .SubRegIndices: 2, .RegUnits: 8229, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
672 { .Name: 1678, .SubRegs: 2, .SuperRegs: 95, .SubRegIndices: 2, .RegUnits: 8228, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
673 { .Name: 1754, .SubRegs: 119, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 487462, .RegUnitLaneMasks: 22, .IsConstant: 0, .IsArtificial: 0 },
674 { .Name: 1560, .SubRegs: 2, .SuperRegs: 98, .SubRegIndices: 2, .RegUnits: 8230, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
675 { .Name: 1726, .SubRegs: 115, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487464, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
676 { .Name: 1617, .SubRegs: 2, .SuperRegs: 98, .SubRegIndices: 2, .RegUnits: 8233, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
677 { .Name: 1688, .SubRegs: 2, .SuperRegs: 95, .SubRegIndices: 2, .RegUnits: 8232, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
678 { .Name: 1540, .SubRegs: 2, .SuperRegs: 702, .SubRegIndices: 2, .RegUnits: 8234, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
679 { .Name: 1712, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8235, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
680 { .Name: 167, .SubRegs: 2, .SuperRegs: 698, .SubRegIndices: 2, .RegUnits: 8236, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
681 { .Name: 361, .SubRegs: 2, .SuperRegs: 696, .SubRegIndices: 2, .RegUnits: 8237, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
682 { .Name: 203, .SubRegs: 2, .SuperRegs: 706, .SubRegIndices: 2, .RegUnits: 8238, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
683 { .Name: 397, .SubRegs: 2, .SuperRegs: 706, .SubRegIndices: 2, .RegUnits: 8239, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
684 { .Name: 178, .SubRegs: 2, .SuperRegs: 704, .SubRegIndices: 2, .RegUnits: 8240, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
685 { .Name: 372, .SubRegs: 2, .SuperRegs: 704, .SubRegIndices: 2, .RegUnits: 8241, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
686 { .Name: 1000, .SubRegs: 2, .SuperRegs: 690, .SubRegIndices: 2, .RegUnits: 8242, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
687 { .Name: 1403, .SubRegs: 2, .SuperRegs: 692, .SubRegIndices: 2, .RegUnits: 1257511, .RegUnitLaneMasks: 27, .IsConstant: 0, .IsArtificial: 0 },
688 { .Name: 234, .SubRegs: 2, .SuperRegs: 48, .SubRegIndices: 2, .RegUnits: 8195, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
689 { .Name: 428, .SubRegs: 2, .SuperRegs: 46, .SubRegIndices: 2, .RegUnits: 8196, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
690 { .Name: 187, .SubRegs: 253, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487476, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
691 { .Name: 381, .SubRegs: 256, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487478, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
692 { .Name: 577, .SubRegs: 259, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487480, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
693 { .Name: 697, .SubRegs: 262, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487482, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
694 { .Name: 872, .SubRegs: 265, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487484, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
695 { .Name: 1003, .SubRegs: 268, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487486, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
696 { .Name: 1161, .SubRegs: 271, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487488, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
697 { .Name: 1260, .SubRegs: 274, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487490, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
698 { .Name: 1406, .SubRegs: 277, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487492, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
699 { .Name: 1492, .SubRegs: 280, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487494, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
700 { .Name: 0, .SubRegs: 283, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487496, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
701 { .Name: 275, .SubRegs: 286, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487498, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
702 { .Name: 447, .SubRegs: 289, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487500, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
703 { .Name: 630, .SubRegs: 292, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487502, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
704 { .Name: 738, .SubRegs: 295, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487504, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
705 { .Name: 925, .SubRegs: 298, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487506, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
706 { .Name: 704, .SubRegs: 2, .SuperRegs: 682, .SubRegIndices: 2, .RegUnits: 8276, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
707 { .Name: 879, .SubRegs: 2, .SuperRegs: 682, .SubRegIndices: 2, .RegUnits: 8277, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
708 { .Name: 1010, .SubRegs: 2, .SuperRegs: 680, .SubRegIndices: 2, .RegUnits: 8278, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
709 { .Name: 1168, .SubRegs: 2, .SuperRegs: 680, .SubRegIndices: 2, .RegUnits: 8279, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
710 { .Name: 1267, .SubRegs: 2, .SuperRegs: 678, .SubRegIndices: 2, .RegUnits: 8280, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
711 { .Name: 1413, .SubRegs: 2, .SuperRegs: 678, .SubRegIndices: 2, .RegUnits: 8281, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
712 { .Name: 1499, .SubRegs: 2, .SuperRegs: 676, .SubRegIndices: 2, .RegUnits: 8282, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
713 { .Name: 9, .SubRegs: 2, .SuperRegs: 676, .SubRegIndices: 2, .RegUnits: 8283, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
714 { .Name: 284, .SubRegs: 2, .SuperRegs: 674, .SubRegIndices: 2, .RegUnits: 8284, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
715 { .Name: 456, .SubRegs: 2, .SuperRegs: 674, .SubRegIndices: 2, .RegUnits: 8285, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
716 { .Name: 639, .SubRegs: 2, .SuperRegs: 672, .SubRegIndices: 2, .RegUnits: 8286, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
717 { .Name: 747, .SubRegs: 2, .SuperRegs: 672, .SubRegIndices: 2, .RegUnits: 8287, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
718 { .Name: 934, .SubRegs: 2, .SuperRegs: 670, .SubRegIndices: 2, .RegUnits: 8288, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
719 { .Name: 58, .SubRegs: 2, .SuperRegs: 674, .SubRegIndices: 2, .RegUnits: 8289, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
720 { .Name: 316, .SubRegs: 2, .SuperRegs: 672, .SubRegIndices: 2, .RegUnits: 8290, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
721 { .Name: 502, .SubRegs: 2, .SuperRegs: 672, .SubRegIndices: 2, .RegUnits: 8291, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
722 { .Name: 671, .SubRegs: 2, .SuperRegs: 670, .SubRegIndices: 2, .RegUnits: 8292, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
723 { .Name: 95, .SubRegs: 2, .SuperRegs: 676, .SubRegIndices: 2, .RegUnits: 8293, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
724 { .Name: 335, .SubRegs: 2, .SuperRegs: 674, .SubRegIndices: 2, .RegUnits: 8294, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
725 { .Name: 238, .SubRegs: 2, .SuperRegs: 668, .SubRegIndices: 2, .RegUnits: 8295, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
726 { .Name: 432, .SubRegs: 2, .SuperRegs: 666, .SubRegIndices: 2, .RegUnits: 8296, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
727 { .Name: 600, .SubRegs: 2, .SuperRegs: 666, .SubRegIndices: 2, .RegUnits: 8297, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
728 { .Name: 723, .SubRegs: 2, .SuperRegs: 664, .SubRegIndices: 2, .RegUnits: 8298, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
729 { .Name: 895, .SubRegs: 2, .SuperRegs: 662, .SubRegIndices: 2, .RegUnits: 8299, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
730 { .Name: 1026, .SubRegs: 2, .SuperRegs: 660, .SubRegIndices: 2, .RegUnits: 8300, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
731 { .Name: 1184, .SubRegs: 2, .SuperRegs: 660, .SubRegIndices: 2, .RegUnits: 8301, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
732 { .Name: 1283, .SubRegs: 2, .SuperRegs: 658, .SubRegIndices: 2, .RegUnits: 8302, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
733 { .Name: 194, .SubRegs: 2, .SuperRegs: 688, .SubRegIndices: 2, .RegUnits: 8303, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
734 { .Name: 388, .SubRegs: 2, .SuperRegs: 688, .SubRegIndices: 2, .RegUnits: 8304, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
735 { .Name: 174, .SubRegs: 2, .SuperRegs: 654, .SubRegIndices: 2, .RegUnits: 8305, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
736 { .Name: 368, .SubRegs: 2, .SuperRegs: 654, .SubRegIndices: 2, .RegUnits: 8306, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
737 { .Name: 213, .SubRegs: 2, .SuperRegs: 656, .SubRegIndices: 2, .RegUnits: 8307, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
738 { .Name: 407, .SubRegs: 2, .SuperRegs: 654, .SubRegIndices: 2, .RegUnits: 8308, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
739 { .Name: 218, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 487541, .RegUnitLaneMasks: 27, .IsConstant: 0, .IsArtificial: 0 },
740 { .Name: 412, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 487543, .RegUnitLaneMasks: 27, .IsConstant: 0, .IsArtificial: 0 },
741 { .Name: 584, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 487545, .RegUnitLaneMasks: 27, .IsConstant: 0, .IsArtificial: 0 },
742 { .Name: 707, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 487547, .RegUnitLaneMasks: 27, .IsConstant: 0, .IsArtificial: 0 },
743 { .Name: 239, .SubRegs: 2, .SuperRegs: 686, .SubRegIndices: 2, .RegUnits: 8317, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
744 { .Name: 433, .SubRegs: 2, .SuperRegs: 684, .SubRegIndices: 2, .RegUnits: 8318, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
745 { .Name: 601, .SubRegs: 2, .SuperRegs: 684, .SubRegIndices: 2, .RegUnits: 8319, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
746 { .Name: 724, .SubRegs: 2, .SuperRegs: 682, .SubRegIndices: 2, .RegUnits: 8320, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
747 { .Name: 222, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8321, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
748 { .Name: 416, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8322, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
749 { .Name: 588, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8323, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
750 { .Name: 711, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8324, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
751 { .Name: 227, .SubRegs: 2, .SuperRegs: 44, .SubRegIndices: 2, .RegUnits: 8244, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
752 { .Name: 421, .SubRegs: 2, .SuperRegs: 42, .SubRegIndices: 2, .RegUnits: 8245, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
753 { .Name: 593, .SubRegs: 2, .SuperRegs: 42, .SubRegIndices: 2, .RegUnits: 8246, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
754 { .Name: 716, .SubRegs: 2, .SuperRegs: 40, .SubRegIndices: 2, .RegUnits: 8247, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
755 { .Name: 888, .SubRegs: 2, .SuperRegs: 40, .SubRegIndices: 2, .RegUnits: 8248, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
756 { .Name: 1019, .SubRegs: 2, .SuperRegs: 38, .SubRegIndices: 2, .RegUnits: 8249, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
757 { .Name: 1177, .SubRegs: 2, .SuperRegs: 38, .SubRegIndices: 2, .RegUnits: 8250, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
758 { .Name: 1276, .SubRegs: 2, .SuperRegs: 36, .SubRegIndices: 2, .RegUnits: 8251, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
759 { .Name: 1418, .SubRegs: 2, .SuperRegs: 36, .SubRegIndices: 2, .RegUnits: 8252, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
760 { .Name: 1504, .SubRegs: 2, .SuperRegs: 34, .SubRegIndices: 2, .RegUnits: 8253, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
761 { .Name: 15, .SubRegs: 2, .SuperRegs: 34, .SubRegIndices: 2, .RegUnits: 8254, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
762 { .Name: 290, .SubRegs: 2, .SuperRegs: 32, .SubRegIndices: 2, .RegUnits: 8255, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
763 { .Name: 462, .SubRegs: 2, .SuperRegs: 32, .SubRegIndices: 2, .RegUnits: 8256, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
764 { .Name: 645, .SubRegs: 2, .SuperRegs: 30, .SubRegIndices: 2, .RegUnits: 8257, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
765 { .Name: 753, .SubRegs: 2, .SuperRegs: 30, .SubRegIndices: 2, .RegUnits: 8258, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
766 { .Name: 940, .SubRegs: 2, .SuperRegs: 28, .SubRegIndices: 2, .RegUnits: 8259, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
767 { .Name: 1048, .SubRegs: 2, .SuperRegs: 28, .SubRegIndices: 2, .RegUnits: 8260, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
768 { .Name: 1221, .SubRegs: 2, .SuperRegs: 26, .SubRegIndices: 2, .RegUnits: 8261, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
769 { .Name: 1305, .SubRegs: 2, .SuperRegs: 26, .SubRegIndices: 2, .RegUnits: 8262, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
770 { .Name: 1453, .SubRegs: 2, .SuperRegs: 24, .SubRegIndices: 2, .RegUnits: 8263, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
771 { .Name: 64, .SubRegs: 2, .SuperRegs: 24, .SubRegIndices: 2, .RegUnits: 8264, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
772 { .Name: 322, .SubRegs: 2, .SuperRegs: 22, .SubRegIndices: 2, .RegUnits: 8265, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
773 { .Name: 508, .SubRegs: 2, .SuperRegs: 22, .SubRegIndices: 2, .RegUnits: 8266, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
774 { .Name: 677, .SubRegs: 2, .SuperRegs: 20, .SubRegIndices: 2, .RegUnits: 8267, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
775 { .Name: 795, .SubRegs: 2, .SuperRegs: 20, .SubRegIndices: 2, .RegUnits: 8268, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
776 { .Name: 968, .SubRegs: 2, .SuperRegs: 18, .SubRegIndices: 2, .RegUnits: 8269, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
777 { .Name: 1084, .SubRegs: 2, .SuperRegs: 18, .SubRegIndices: 2, .RegUnits: 8270, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
778 { .Name: 1236, .SubRegs: 2, .SuperRegs: 16, .SubRegIndices: 2, .RegUnits: 8271, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
779 { .Name: 1334, .SubRegs: 2, .SuperRegs: 16, .SubRegIndices: 2, .RegUnits: 8272, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
780 { .Name: 1472, .SubRegs: 2, .SuperRegs: 14, .SubRegIndices: 2, .RegUnits: 8273, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
781 { .Name: 101, .SubRegs: 2, .SuperRegs: 14, .SubRegIndices: 2, .RegUnits: 8274, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
782 { .Name: 341, .SubRegs: 2, .SuperRegs: 12, .SubRegIndices: 2, .RegUnits: 8275, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
783 { .Name: 299, .SubRegs: 2, .SuperRegs: 642, .SubRegIndices: 2, .RegUnits: 8325, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
784 { .Name: 471, .SubRegs: 2, .SuperRegs: 642, .SubRegIndices: 2, .RegUnits: 8326, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
785 { .Name: 654, .SubRegs: 2, .SuperRegs: 640, .SubRegIndices: 2, .RegUnits: 8327, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
786 { .Name: 762, .SubRegs: 2, .SuperRegs: 640, .SubRegIndices: 2, .RegUnits: 8328, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
787 { .Name: 949, .SubRegs: 2, .SuperRegs: 638, .SubRegIndices: 2, .RegUnits: 8329, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
788 { .Name: 1457, .SubRegs: 2, .SuperRegs: 640, .SubRegIndices: 2, .RegUnits: 8330, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
789 { .Name: 68, .SubRegs: 2, .SuperRegs: 640, .SubRegIndices: 2, .RegUnits: 8331, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
790 { .Name: 512, .SubRegs: 2, .SuperRegs: 640, .SubRegIndices: 2, .RegUnits: 8332, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
791 { .Name: 681, .SubRegs: 2, .SuperRegs: 638, .SubRegIndices: 2, .RegUnits: 8333, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
792 { .Name: 799, .SubRegs: 2, .SuperRegs: 638, .SubRegIndices: 2, .RegUnits: 8334, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
793 { .Name: 972, .SubRegs: 2, .SuperRegs: 636, .SubRegIndices: 2, .RegUnits: 8335, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
794 { .Name: 1088, .SubRegs: 2, .SuperRegs: 636, .SubRegIndices: 2, .RegUnits: 8336, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
795 { .Name: 980, .SubRegs: 2, .SuperRegs: 642, .SubRegIndices: 2, .RegUnits: 8337, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
796 { .Name: 828, .SubRegs: 2, .SuperRegs: 650, .SubRegIndices: 2, .RegUnits: 8338, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
797 { .Name: 984, .SubRegs: 2, .SuperRegs: 648, .SubRegIndices: 2, .RegUnits: 8339, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
798 { .Name: 1117, .SubRegs: 2, .SuperRegs: 648, .SubRegIndices: 2, .RegUnits: 8340, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
799 { .Name: 1244, .SubRegs: 2, .SuperRegs: 646, .SubRegIndices: 2, .RegUnits: 8341, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
800 { .Name: 839, .SubRegs: 2, .SuperRegs: 652, .SubRegIndices: 2, .RegUnits: 8342, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
801 { .Name: 988, .SubRegs: 2, .SuperRegs: 650, .SubRegIndices: 2, .RegUnits: 8343, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
802 { .Name: 1128, .SubRegs: 2, .SuperRegs: 650, .SubRegIndices: 2, .RegUnits: 8344, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
803 { .Name: 1248, .SubRegs: 2, .SuperRegs: 648, .SubRegIndices: 2, .RegUnits: 8345, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
804 { .Name: 1370, .SubRegs: 2, .SuperRegs: 648, .SubRegIndices: 2, .RegUnits: 8346, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
805 { .Name: 1480, .SubRegs: 2, .SuperRegs: 646, .SubRegIndices: 2, .RegUnits: 8347, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
806 { .Name: 137, .SubRegs: 2, .SuperRegs: 646, .SubRegIndices: 2, .RegUnits: 8348, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
807 { .Name: 349, .SubRegs: 2, .SuperRegs: 644, .SubRegIndices: 2, .RegUnits: 8349, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
808 { .Name: 555, .SubRegs: 2, .SuperRegs: 644, .SubRegIndices: 2, .RegUnits: 8350, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
809 { .Name: 689, .SubRegs: 2, .SuperRegs: 642, .SubRegIndices: 2, .RegUnits: 8351, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
810 { .Name: 850, .SubRegs: 2, .SuperRegs: 642, .SubRegIndices: 2, .RegUnits: 8352, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
811 { .Name: 992, .SubRegs: 2, .SuperRegs: 640, .SubRegIndices: 2, .RegUnits: 8353, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
812 { .Name: 1139, .SubRegs: 2, .SuperRegs: 640, .SubRegIndices: 2, .RegUnits: 8354, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
813 { .Name: 1252, .SubRegs: 2, .SuperRegs: 638, .SubRegIndices: 2, .RegUnits: 8355, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
814 { .Name: 1381, .SubRegs: 2, .SuperRegs: 638, .SubRegIndices: 2, .RegUnits: 8356, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
815 { .Name: 1484, .SubRegs: 2, .SuperRegs: 636, .SubRegIndices: 2, .RegUnits: 8357, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
816 { .Name: 148, .SubRegs: 2, .SuperRegs: 636, .SubRegIndices: 2, .RegUnits: 8358, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
817 { .Name: 353, .SubRegs: 2, .SuperRegs: 634, .SubRegIndices: 2, .RegUnits: 8359, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
818 { .Name: 566, .SubRegs: 2, .SuperRegs: 634, .SubRegIndices: 2, .RegUnits: 8360, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
819 { .Name: 693, .SubRegs: 2, .SuperRegs: 632, .SubRegIndices: 2, .RegUnits: 8361, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
820 { .Name: 861, .SubRegs: 2, .SuperRegs: 632, .SubRegIndices: 2, .RegUnits: 8362, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
821 { .Name: 996, .SubRegs: 2, .SuperRegs: 630, .SubRegIndices: 2, .RegUnits: 8363, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
822 { .Name: 1150, .SubRegs: 2, .SuperRegs: 630, .SubRegIndices: 2, .RegUnits: 8364, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
823 { .Name: 1256, .SubRegs: 2, .SuperRegs: 628, .SubRegIndices: 2, .RegUnits: 8365, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
824 { .Name: 1392, .SubRegs: 2, .SuperRegs: 628, .SubRegIndices: 2, .RegUnits: 8366, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
825 { .Name: 1488, .SubRegs: 2, .SuperRegs: 626, .SubRegIndices: 2, .RegUnits: 8367, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
826 { .Name: 159, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8368, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
827 { .Name: 163, .SubRegs: 2, .SuperRegs: 612, .SubRegIndices: 2, .RegUnits: 8369, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
828 { .Name: 357, .SubRegs: 2, .SuperRegs: 612, .SubRegIndices: 2, .RegUnits: 8370, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
829 { .Name: 216, .SubRegs: 2, .SuperRegs: 624, .SubRegIndices: 2, .RegUnits: 8371, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
830 { .Name: 410, .SubRegs: 2, .SuperRegs: 622, .SubRegIndices: 2, .RegUnits: 8372, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
831 { .Name: 247, .SubRegs: 2, .SuperRegs: 368, .SubRegIndices: 2, .RegUnits: 8373, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
832 { .Name: 441, .SubRegs: 2, .SuperRegs: 364, .SubRegIndices: 2, .RegUnits: 8374, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
833 { .Name: 609, .SubRegs: 2, .SuperRegs: 389, .SubRegIndices: 2, .RegUnits: 8375, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
834 { .Name: 732, .SubRegs: 2, .SuperRegs: 385, .SubRegIndices: 2, .RegUnits: 8376, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
835 { .Name: 904, .SubRegs: 2, .SuperRegs: 385, .SubRegIndices: 2, .RegUnits: 8377, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
836 { .Name: 1035, .SubRegs: 2, .SuperRegs: 381, .SubRegIndices: 2, .RegUnits: 8378, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
837 { .Name: 1193, .SubRegs: 2, .SuperRegs: 405, .SubRegIndices: 2, .RegUnits: 8379, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
838 { .Name: 1292, .SubRegs: 2, .SuperRegs: 401, .SubRegIndices: 2, .RegUnits: 8380, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
839 { .Name: 1425, .SubRegs: 2, .SuperRegs: 401, .SubRegIndices: 2, .RegUnits: 8381, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
840 { .Name: 1511, .SubRegs: 2, .SuperRegs: 397, .SubRegIndices: 2, .RegUnits: 8382, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
841 { .Name: 24, .SubRegs: 2, .SuperRegs: 429, .SubRegIndices: 2, .RegUnits: 8383, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
842 { .Name: 303, .SubRegs: 2, .SuperRegs: 425, .SubRegIndices: 2, .RegUnits: 8384, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
843 { .Name: 475, .SubRegs: 2, .SuperRegs: 425, .SubRegIndices: 2, .RegUnits: 8385, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
844 { .Name: 658, .SubRegs: 2, .SuperRegs: 421, .SubRegIndices: 2, .RegUnits: 8386, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
845 { .Name: 766, .SubRegs: 2, .SuperRegs: 445, .SubRegIndices: 2, .RegUnits: 8387, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
846 { .Name: 953, .SubRegs: 2, .SuperRegs: 441, .SubRegIndices: 2, .RegUnits: 8388, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
847 { .Name: 1052, .SubRegs: 2, .SuperRegs: 441, .SubRegIndices: 2, .RegUnits: 8389, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
848 { .Name: 1225, .SubRegs: 2, .SuperRegs: 437, .SubRegIndices: 2, .RegUnits: 8390, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
849 { .Name: 1309, .SubRegs: 2, .SuperRegs: 466, .SubRegIndices: 2, .RegUnits: 8391, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
850 { .Name: 1461, .SubRegs: 2, .SuperRegs: 462, .SubRegIndices: 2, .RegUnits: 8392, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
851 { .Name: 72, .SubRegs: 2, .SuperRegs: 462, .SubRegIndices: 2, .RegUnits: 8393, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
852 { .Name: 326, .SubRegs: 2, .SuperRegs: 458, .SubRegIndices: 2, .RegUnits: 8394, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
853 { .Name: 516, .SubRegs: 2, .SuperRegs: 482, .SubRegIndices: 2, .RegUnits: 8395, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
854 { .Name: 685, .SubRegs: 2, .SuperRegs: 478, .SubRegIndices: 2, .RegUnits: 8396, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
855 { .Name: 803, .SubRegs: 2, .SuperRegs: 478, .SubRegIndices: 2, .RegUnits: 8397, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
856 { .Name: 976, .SubRegs: 2, .SuperRegs: 474, .SubRegIndices: 2, .RegUnits: 8398, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
857 { .Name: 1092, .SubRegs: 2, .SuperRegs: 503, .SubRegIndices: 2, .RegUnits: 8399, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
858 { .Name: 1240, .SubRegs: 2, .SuperRegs: 499, .SubRegIndices: 2, .RegUnits: 8400, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
859 { .Name: 1338, .SubRegs: 2, .SuperRegs: 499, .SubRegIndices: 2, .RegUnits: 8401, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
860 { .Name: 1476, .SubRegs: 2, .SuperRegs: 495, .SubRegIndices: 2, .RegUnits: 8402, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
861 { .Name: 105, .SubRegs: 2, .SuperRegs: 515, .SubRegIndices: 2, .RegUnits: 8403, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
862 { .Name: 345, .SubRegs: 2, .SuperRegs: 511, .SubRegIndices: 2, .RegUnits: 8404, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 0 },
863 { .Name: 190, .SubRegs: 2, .SuperRegs: 91, .SubRegIndices: 2, .RegUnits: 8405, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
864 { .Name: 384, .SubRegs: 2, .SuperRegs: 88, .SubRegIndices: 2, .RegUnits: 8406, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
865 { .Name: 580, .SubRegs: 2, .SuperRegs: 88, .SubRegIndices: 2, .RegUnits: 8407, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
866 { .Name: 700, .SubRegs: 2, .SuperRegs: 85, .SubRegIndices: 2, .RegUnits: 8408, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
867 { .Name: 875, .SubRegs: 2, .SuperRegs: 85, .SubRegIndices: 2, .RegUnits: 8409, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
868 { .Name: 1006, .SubRegs: 2, .SuperRegs: 82, .SubRegIndices: 2, .RegUnits: 8410, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
869 { .Name: 1164, .SubRegs: 2, .SuperRegs: 82, .SubRegIndices: 2, .RegUnits: 8411, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
870 { .Name: 1263, .SubRegs: 2, .SuperRegs: 79, .SubRegIndices: 2, .RegUnits: 8412, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
871 { .Name: 1409, .SubRegs: 2, .SuperRegs: 79, .SubRegIndices: 2, .RegUnits: 8413, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
872 { .Name: 1495, .SubRegs: 2, .SuperRegs: 76, .SubRegIndices: 2, .RegUnits: 8414, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
873 { .Name: 4, .SubRegs: 2, .SuperRegs: 76, .SubRegIndices: 2, .RegUnits: 8415, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
874 { .Name: 279, .SubRegs: 2, .SuperRegs: 73, .SubRegIndices: 2, .RegUnits: 8416, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
875 { .Name: 451, .SubRegs: 2, .SuperRegs: 73, .SubRegIndices: 2, .RegUnits: 8417, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
876 { .Name: 634, .SubRegs: 2, .SuperRegs: 70, .SubRegIndices: 2, .RegUnits: 8418, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
877 { .Name: 742, .SubRegs: 2, .SuperRegs: 70, .SubRegIndices: 2, .RegUnits: 8419, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
878 { .Name: 929, .SubRegs: 2, .SuperRegs: 64, .SubRegIndices: 2, .RegUnits: 8420, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
879 { .Name: 1041, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8421, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
880 { .Name: 1214, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8422, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
881 { .Name: 1298, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8423, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
882 { .Name: 1446, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8424, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
883 { .Name: 53, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8425, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
884 { .Name: 311, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8426, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
885 { .Name: 497, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8427, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
886 { .Name: 666, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8428, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
887 { .Name: 788, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8429, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
888 { .Name: 961, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8430, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
889 { .Name: 1077, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8431, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
890 { .Name: 1229, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8432, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
891 { .Name: 1327, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8433, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
892 { .Name: 1465, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8434, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
893 { .Name: 90, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8435, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
894 { .Name: 330, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8436, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
895 { .Name: 225, .SubRegs: 2, .SuperRegs: 555, .SubRegIndices: 2, .RegUnits: 8437, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
896 { .Name: 419, .SubRegs: 2, .SuperRegs: 555, .SubRegIndices: 2, .RegUnits: 8438, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
897 { .Name: 591, .SubRegs: 2, .SuperRegs: 555, .SubRegIndices: 2, .RegUnits: 8439, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
898 { .Name: 714, .SubRegs: 2, .SuperRegs: 555, .SubRegIndices: 2, .RegUnits: 8440, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
899 { .Name: 886, .SubRegs: 2, .SuperRegs: 555, .SubRegIndices: 2, .RegUnits: 8441, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
900 { .Name: 1017, .SubRegs: 2, .SuperRegs: 555, .SubRegIndices: 2, .RegUnits: 8442, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
901 { .Name: 1175, .SubRegs: 2, .SuperRegs: 555, .SubRegIndices: 2, .RegUnits: 8443, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
902 { .Name: 1274, .SubRegs: 2, .SuperRegs: 555, .SubRegIndices: 2, .RegUnits: 8444, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
903 { .Name: 1416, .SubRegs: 2, .SuperRegs: 555, .SubRegIndices: 2, .RegUnits: 8445, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
904 { .Name: 1502, .SubRegs: 2, .SuperRegs: 555, .SubRegIndices: 2, .RegUnits: 8446, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
905 { .Name: 13, .SubRegs: 2, .SuperRegs: 555, .SubRegIndices: 2, .RegUnits: 8447, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
906 { .Name: 288, .SubRegs: 2, .SuperRegs: 555, .SubRegIndices: 2, .RegUnits: 8448, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
907 { .Name: 460, .SubRegs: 2, .SuperRegs: 555, .SubRegIndices: 2, .RegUnits: 8449, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
908 { .Name: 643, .SubRegs: 2, .SuperRegs: 555, .SubRegIndices: 2, .RegUnits: 8450, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
909 { .Name: 751, .SubRegs: 2, .SuperRegs: 555, .SubRegIndices: 2, .RegUnits: 8451, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
910 { .Name: 938, .SubRegs: 2, .SuperRegs: 555, .SubRegIndices: 2, .RegUnits: 8452, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
911 { .Name: 1046, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8453, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
912 { .Name: 1219, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8454, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
913 { .Name: 1303, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8455, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
914 { .Name: 1451, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8456, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
915 { .Name: 62, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8457, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
916 { .Name: 320, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8458, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
917 { .Name: 506, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8459, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
918 { .Name: 675, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8460, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
919 { .Name: 793, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8461, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
920 { .Name: 966, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8462, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
921 { .Name: 1082, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8463, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
922 { .Name: 1234, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8464, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
923 { .Name: 1332, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8465, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
924 { .Name: 1470, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8466, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
925 { .Name: 99, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8467, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
926 { .Name: 339, .SubRegs: 2, .SuperRegs: 2, .SubRegIndices: 2, .RegUnits: 8468, .RegUnitLaneMasks: 23, .IsConstant: 0, .IsArtificial: 1 },
927 { .Name: 221, .SubRegs: 486, .SuperRegs: 2, .SubRegIndices: 6, .RegUnits: 999605, .RegUnitLaneMasks: 16, .IsConstant: 0, .IsArtificial: 0 },
928 { .Name: 415, .SubRegs: 449, .SuperRegs: 2, .SubRegIndices: 6, .RegUnits: 975033, .RegUnitLaneMasks: 16, .IsConstant: 0, .IsArtificial: 0 },
929 { .Name: 587, .SubRegs: 409, .SuperRegs: 2, .SubRegIndices: 6, .RegUnits: 950461, .RegUnitLaneMasks: 16, .IsConstant: 0, .IsArtificial: 0 },
930 { .Name: 710, .SubRegs: 372, .SuperRegs: 2, .SubRegIndices: 6, .RegUnits: 925889, .RegUnitLaneMasks: 16, .IsConstant: 0, .IsArtificial: 0 },
931 { .Name: 882, .SubRegs: 351, .SuperRegs: 2, .SubRegIndices: 6, .RegUnits: 901317, .RegUnitLaneMasks: 16, .IsConstant: 0, .IsArtificial: 0 },
932 { .Name: 1013, .SubRegs: 338, .SuperRegs: 2, .SubRegIndices: 6, .RegUnits: 876745, .RegUnitLaneMasks: 16, .IsConstant: 0, .IsArtificial: 0 },
933 { .Name: 1171, .SubRegs: 325, .SuperRegs: 2, .SubRegIndices: 6, .RegUnits: 852173, .RegUnitLaneMasks: 16, .IsConstant: 0, .IsArtificial: 0 },
934 { .Name: 1270, .SubRegs: 312, .SuperRegs: 2, .SubRegIndices: 6, .RegUnits: 827601, .RegUnitLaneMasks: 16, .IsConstant: 0, .IsArtificial: 0 },
935 { .Name: 250, .SubRegs: 507, .SuperRegs: 92, .SubRegIndices: 3, .RegUnits: 2080949, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
936 { .Name: 444, .SubRegs: 491, .SuperRegs: 89, .SubRegIndices: 3, .RegUnits: 2015415, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
937 { .Name: 612, .SubRegs: 470, .SuperRegs: 89, .SubRegIndices: 3, .RegUnits: 1929401, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
938 { .Name: 735, .SubRegs: 454, .SuperRegs: 86, .SubRegIndices: 3, .RegUnits: 1863867, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
939 { .Name: 907, .SubRegs: 433, .SuperRegs: 86, .SubRegIndices: 3, .RegUnits: 1777853, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
940 { .Name: 1038, .SubRegs: 414, .SuperRegs: 83, .SubRegIndices: 3, .RegUnits: 1700031, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
941 { .Name: 1196, .SubRegs: 393, .SuperRegs: 83, .SubRegIndices: 3, .RegUnits: 1614017, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
942 { .Name: 1295, .SubRegs: 377, .SuperRegs: 80, .SubRegIndices: 3, .RegUnits: 1548483, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
943 { .Name: 1428, .SubRegs: 360, .SuperRegs: 80, .SubRegIndices: 3, .RegUnits: 1478853, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
944 { .Name: 1514, .SubRegs: 356, .SuperRegs: 77, .SubRegIndices: 3, .RegUnits: 1462471, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
945 { .Name: 28, .SubRegs: 347, .SuperRegs: 77, .SubRegIndices: 3, .RegUnits: 1425609, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
946 { .Name: 307, .SubRegs: 343, .SuperRegs: 74, .SubRegIndices: 3, .RegUnits: 1409227, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
947 { .Name: 479, .SubRegs: 334, .SuperRegs: 74, .SubRegIndices: 3, .RegUnits: 1372365, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
948 { .Name: 662, .SubRegs: 330, .SuperRegs: 68, .SubRegIndices: 3, .RegUnits: 1355983, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
949 { .Name: 770, .SubRegs: 321, .SuperRegs: 68, .SubRegIndices: 3, .RegUnits: 1319121, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
950 { .Name: 957, .SubRegs: 317, .SuperRegs: 65, .SubRegIndices: 3, .RegUnits: 1302739, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
951 { .Name: 230, .SubRegs: 587, .SuperRegs: 2, .SubRegIndices: 3, .RegUnits: 2408629, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
952 { .Name: 424, .SubRegs: 583, .SuperRegs: 2, .SubRegIndices: 3, .RegUnits: 2392247, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
953 { .Name: 596, .SubRegs: 576, .SuperRegs: 2, .SubRegIndices: 3, .RegUnits: 2363577, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
954 { .Name: 719, .SubRegs: 569, .SuperRegs: 2, .SubRegIndices: 3, .RegUnits: 2334907, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
955 { .Name: 891, .SubRegs: 565, .SuperRegs: 2, .SubRegIndices: 3, .RegUnits: 2318525, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
956 { .Name: 1022, .SubRegs: 561, .SuperRegs: 2, .SubRegIndices: 3, .RegUnits: 2302143, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
957 { .Name: 1180, .SubRegs: 557, .SuperRegs: 2, .SubRegIndices: 3, .RegUnits: 2285761, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
958 { .Name: 1279, .SubRegs: 553, .SuperRegs: 2, .SubRegIndices: 3, .RegUnits: 2269379, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
959 { .Name: 1421, .SubRegs: 549, .SuperRegs: 2, .SubRegIndices: 3, .RegUnits: 2252997, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
960 { .Name: 1507, .SubRegs: 545, .SuperRegs: 2, .SubRegIndices: 3, .RegUnits: 2236615, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
961 { .Name: 19, .SubRegs: 541, .SuperRegs: 2, .SubRegIndices: 3, .RegUnits: 2220233, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
962 { .Name: 294, .SubRegs: 537, .SuperRegs: 2, .SubRegIndices: 3, .RegUnits: 2203851, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
963 { .Name: 466, .SubRegs: 533, .SuperRegs: 2, .SubRegIndices: 3, .RegUnits: 2187469, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
964 { .Name: 649, .SubRegs: 529, .SuperRegs: 2, .SubRegIndices: 3, .RegUnits: 2171087, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
965 { .Name: 757, .SubRegs: 525, .SuperRegs: 2, .SubRegIndices: 3, .RegUnits: 2154705, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
966 { .Name: 944, .SubRegs: 521, .SuperRegs: 2, .SubRegIndices: 3, .RegUnits: 2138323, .RegUnitLaneMasks: 13, .IsConstant: 0, .IsArtificial: 0 },
967 { .Name: 253, .SubRegs: 9, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 2420849, .RegUnitLaneMasks: 2, .IsConstant: 0, .IsArtificial: 0 },
968 { .Name: 615, .SubRegs: 9, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 2420850, .RegUnitLaneMasks: 2, .IsConstant: 0, .IsArtificial: 0 },
969 { .Name: 910, .SubRegs: 0, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 2523186, .RegUnitLaneMasks: 7, .IsConstant: 0, .IsArtificial: 0 },
970 { .Name: 1199, .SubRegs: 163, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487539, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
971 { .Name: 1431, .SubRegs: 53, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 1253400, .RegUnitLaneMasks: 4, .IsConstant: 0, .IsArtificial: 0 },
972 { .Name: 32, .SubRegs: 59, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 1482764, .RegUnitLaneMasks: 2, .IsConstant: 0, .IsArtificial: 0 },
973 { .Name: 1056, .SubRegs: 106, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487432, .RegUnitLaneMasks: 2, .IsConstant: 0, .IsArtificial: 0 },
974 { .Name: 258, .SubRegs: 303, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 1245194, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
975 { .Name: 620, .SubRegs: 580, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 2428939, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
976 { .Name: 915, .SubRegs: 133, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487509, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
977 { .Name: 1204, .SubRegs: 136, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487511, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
978 { .Name: 1436, .SubRegs: 139, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487513, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
979 { .Name: 39, .SubRegs: 142, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487515, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
980 { .Name: 483, .SubRegs: 145, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487517, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
981 { .Name: 774, .SubRegs: 148, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487519, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
982 { .Name: 1063, .SubRegs: 157, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487531, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
983 { .Name: 1313, .SubRegs: 160, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487533, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
984 { .Name: 76, .SubRegs: 145, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487521, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
985 { .Name: 520, .SubRegs: 148, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487523, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
986 { .Name: 807, .SubRegs: 103, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487437, .RegUnitLaneMasks: 2, .IsConstant: 0, .IsArtificial: 0 },
987 { .Name: 1096, .SubRegs: 151, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487527, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
988 { .Name: 1342, .SubRegs: 154, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487529, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
989 { .Name: 109, .SubRegs: 142, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487525, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
990 { .Name: 270, .SubRegs: 2, .SuperRegs: 62, .SubRegIndices: 2, .RegUnits: 2527350, .RegUnitLaneMasks: 24, .IsConstant: 0, .IsArtificial: 0 },
991 { .Name: 625, .SubRegs: 56, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 1716230, .RegUnitLaneMasks: 2, .IsConstant: 0, .IsArtificial: 0 },
992 { .Name: 920, .SubRegs: 124, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487468, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
993 { .Name: 1209, .SubRegs: 50, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 2035713, .RegUnitLaneMasks: 2, .IsConstant: 0, .IsArtificial: 0 },
994 { .Name: 1441, .SubRegs: 67, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 1269760, .RegUnitLaneMasks: 2, .IsConstant: 0, .IsArtificial: 0 },
995 { .Name: 46, .SubRegs: 609, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 2474001, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
996 { .Name: 490, .SubRegs: 181, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487558, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
997 { .Name: 781, .SubRegs: 184, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487560, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
998 { .Name: 1070, .SubRegs: 309, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 1269767, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
999 { .Name: 1320, .SubRegs: 606, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 2465826, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
1000 { .Name: 83, .SubRegs: 6, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 2457642, .RegUnitLaneMasks: 2, .IsConstant: 0, .IsArtificial: 0 },
1001 { .Name: 527, .SubRegs: 184, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487564, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
1002 { .Name: 814, .SubRegs: 187, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487566, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
1003 { .Name: 1103, .SubRegs: 3, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 2514946, .RegUnitLaneMasks: 2, .IsConstant: 0, .IsArtificial: 0 },
1004 { .Name: 1349, .SubRegs: 418, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 1634309, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
1005 { .Name: 116, .SubRegs: 100, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487449, .RegUnitLaneMasks: 2, .IsConstant: 0, .IsArtificial: 0 },
1006 { .Name: 534, .SubRegs: 595, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 2449430, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
1007 { .Name: 821, .SubRegs: 573, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 2125936, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
1008 { .Name: 1110, .SubRegs: 94, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 1232942, .RegUnitLaneMasks: 2, .IsConstant: 0, .IsArtificial: 0 },
1009 { .Name: 1356, .SubRegs: 94, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 1232943, .RegUnitLaneMasks: 2, .IsConstant: 0, .IsArtificial: 0 },
1010 { .Name: 123, .SubRegs: 121, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487444, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
1011 { .Name: 541, .SubRegs: 118, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487442, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
1012 { .Name: 832, .SubRegs: 169, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487570, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
1013 { .Name: 1121, .SubRegs: 172, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487572, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
1014 { .Name: 1363, .SubRegs: 127, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487549, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
1015 { .Name: 130, .SubRegs: 130, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487551, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
1016 { .Name: 548, .SubRegs: 97, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487453, .RegUnitLaneMasks: 2, .IsConstant: 0, .IsArtificial: 0 },
1017 { .Name: 843, .SubRegs: 166, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487574, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
1018 { .Name: 1132, .SubRegs: 169, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487576, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
1019 { .Name: 1374, .SubRegs: 172, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487578, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
1020 { .Name: 141, .SubRegs: 175, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487580, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
1021 { .Name: 559, .SubRegs: 178, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487582, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
1022 { .Name: 854, .SubRegs: 181, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487584, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
1023 { .Name: 1143, .SubRegs: 184, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487586, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
1024 { .Name: 1385, .SubRegs: 187, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487588, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
1025 { .Name: 152, .SubRegs: 190, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487590, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
1026 { .Name: 570, .SubRegs: 193, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487592, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
1027 { .Name: 865, .SubRegs: 196, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487594, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
1028 { .Name: 1154, .SubRegs: 109, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487596, .RegUnitLaneMasks: 2, .IsConstant: 0, .IsArtificial: 0 },
1029 { .Name: 1396, .SubRegs: 112, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487598, .RegUnitLaneMasks: 2, .IsConstant: 0, .IsArtificial: 0 },
1030 { .Name: 263, .SubRegs: 199, .SuperRegs: 2, .SubRegIndices: 0, .RegUnits: 487603, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
1031};
1032
1033extern const MCPhysReg HexagonRegUnitRoots[][2] = {
1034 { Hexagon::BADVA },
1035 { Hexagon::CCR },
1036 { Hexagon::CFGBASE },
1037 { Hexagon::CS0 },
1038 { Hexagon::CS1 },
1039 { Hexagon::DIAG },
1040 { Hexagon::ELR },
1041 { Hexagon::EVB },
1042 { Hexagon::FRAMEKEY },
1043 { Hexagon::FRAMELIMIT },
1044 { Hexagon::GELR },
1045 { Hexagon::GOSP },
1046 { Hexagon::GP },
1047 { Hexagon::GPCYCLEHI },
1048 { Hexagon::GPCYCLELO },
1049 { Hexagon::GSR },
1050 { Hexagon::HTID },
1051 { Hexagon::IMASK },
1052 { Hexagon::ISDBEN },
1053 { Hexagon::ISDBGPR },
1054 { Hexagon::ISDBMBXIN },
1055 { Hexagon::ISDBMBXOUT },
1056 { Hexagon::ISDBST },
1057 { Hexagon::MODECTL },
1058 { Hexagon::PC },
1059 { Hexagon::PCYCLEHI },
1060 { Hexagon::PCYCLELO },
1061 { Hexagon::PKTCOUNTLO },
1062 { Hexagon::PKTCOUNTHI },
1063 { Hexagon::PMUCFG },
1064 { Hexagon::PMUEVTCFG },
1065 { Hexagon::REV },
1066 { Hexagon::SSR },
1067 { Hexagon::STID },
1068 { Hexagon::SYSCFG },
1069 { Hexagon::UGP },
1070 { Hexagon::UPCYCLELO },
1071 { Hexagon::UPCYCLEHI },
1072 { Hexagon::USR_OVF },
1073 { Hexagon::USR, Hexagon::C8 },
1074 { Hexagon::UTIMERLO },
1075 { Hexagon::UTIMERHI },
1076 { Hexagon::VID },
1077 { Hexagon::VTMP },
1078 { Hexagon::BADVA0 },
1079 { Hexagon::BADVA1 },
1080 { Hexagon::BRKPTCFG0 },
1081 { Hexagon::BRKPTCFG1 },
1082 { Hexagon::BRKPTPC0 },
1083 { Hexagon::BRKPTPC1 },
1084 { Hexagon::C5 },
1085 { Hexagon::C8 },
1086 { Hexagon::R0 },
1087 { Hexagon::R1 },
1088 { Hexagon::R2 },
1089 { Hexagon::R3 },
1090 { Hexagon::R4 },
1091 { Hexagon::R5 },
1092 { Hexagon::R6 },
1093 { Hexagon::R7 },
1094 { Hexagon::R8 },
1095 { Hexagon::R9 },
1096 { Hexagon::R10 },
1097 { Hexagon::R11 },
1098 { Hexagon::R12 },
1099 { Hexagon::R13 },
1100 { Hexagon::R14 },
1101 { Hexagon::R15 },
1102 { Hexagon::R16 },
1103 { Hexagon::R17 },
1104 { Hexagon::R18 },
1105 { Hexagon::R19 },
1106 { Hexagon::R20 },
1107 { Hexagon::R21 },
1108 { Hexagon::R22 },
1109 { Hexagon::R23 },
1110 { Hexagon::R24 },
1111 { Hexagon::R25 },
1112 { Hexagon::R26 },
1113 { Hexagon::R27 },
1114 { Hexagon::R28 },
1115 { Hexagon::R29 },
1116 { Hexagon::R30 },
1117 { Hexagon::R31 },
1118 { Hexagon::G3 },
1119 { Hexagon::G4 },
1120 { Hexagon::G5 },
1121 { Hexagon::G6 },
1122 { Hexagon::G7 },
1123 { Hexagon::G8 },
1124 { Hexagon::G9 },
1125 { Hexagon::G10 },
1126 { Hexagon::G11 },
1127 { Hexagon::G12 },
1128 { Hexagon::G13 },
1129 { Hexagon::G14 },
1130 { Hexagon::G15 },
1131 { Hexagon::G20 },
1132 { Hexagon::G21 },
1133 { Hexagon::G22 },
1134 { Hexagon::G23 },
1135 { Hexagon::G30 },
1136 { Hexagon::G31 },
1137 { Hexagon::GPMUCNT0 },
1138 { Hexagon::GPMUCNT1 },
1139 { Hexagon::GPMUCNT2 },
1140 { Hexagon::GPMUCNT3 },
1141 { Hexagon::GPMUCNT4 },
1142 { Hexagon::GPMUCNT5 },
1143 { Hexagon::GPMUCNT6 },
1144 { Hexagon::GPMUCNT7 },
1145 { Hexagon::ISDBCFG0 },
1146 { Hexagon::ISDBCFG1 },
1147 { Hexagon::LC0 },
1148 { Hexagon::LC1 },
1149 { Hexagon::M0 },
1150 { Hexagon::M1 },
1151 { Hexagon::P0 },
1152 { Hexagon::P0, Hexagon::P3_0 },
1153 { Hexagon::P1 },
1154 { Hexagon::P1, Hexagon::P3_0 },
1155 { Hexagon::P2 },
1156 { Hexagon::P2, Hexagon::P3_0 },
1157 { Hexagon::P3 },
1158 { Hexagon::P3, Hexagon::P3_0 },
1159 { Hexagon::PMUCNT0 },
1160 { Hexagon::PMUCNT1 },
1161 { Hexagon::PMUCNT2 },
1162 { Hexagon::PMUCNT3 },
1163 { Hexagon::Q0 },
1164 { Hexagon::Q1 },
1165 { Hexagon::Q2 },
1166 { Hexagon::Q3 },
1167 { Hexagon::S11 },
1168 { Hexagon::S12 },
1169 { Hexagon::S13 },
1170 { Hexagon::S14 },
1171 { Hexagon::S15 },
1172 { Hexagon::S19 },
1173 { Hexagon::S20 },
1174 { Hexagon::S22 },
1175 { Hexagon::S23 },
1176 { Hexagon::S24 },
1177 { Hexagon::S25 },
1178 { Hexagon::S26 },
1179 { Hexagon::S35 },
1180 { Hexagon::S44 },
1181 { Hexagon::S45 },
1182 { Hexagon::S46 },
1183 { Hexagon::S47 },
1184 { Hexagon::S54 },
1185 { Hexagon::S55 },
1186 { Hexagon::S56 },
1187 { Hexagon::S57 },
1188 { Hexagon::S58 },
1189 { Hexagon::S59 },
1190 { Hexagon::S60 },
1191 { Hexagon::S61 },
1192 { Hexagon::S62 },
1193 { Hexagon::S63 },
1194 { Hexagon::S64 },
1195 { Hexagon::S65 },
1196 { Hexagon::S66 },
1197 { Hexagon::S67 },
1198 { Hexagon::S68 },
1199 { Hexagon::S69 },
1200 { Hexagon::S70 },
1201 { Hexagon::S71 },
1202 { Hexagon::S72 },
1203 { Hexagon::S73 },
1204 { Hexagon::S74 },
1205 { Hexagon::S75 },
1206 { Hexagon::S76 },
1207 { Hexagon::S77 },
1208 { Hexagon::S78 },
1209 { Hexagon::S79 },
1210 { Hexagon::S80 },
1211 { Hexagon::SA0 },
1212 { Hexagon::SA1 },
1213 { Hexagon::SGP0 },
1214 { Hexagon::SGP1 },
1215 { Hexagon::V0 },
1216 { Hexagon::V1 },
1217 { Hexagon::V2 },
1218 { Hexagon::V3 },
1219 { Hexagon::V4 },
1220 { Hexagon::V5 },
1221 { Hexagon::V6 },
1222 { Hexagon::V7 },
1223 { Hexagon::V8 },
1224 { Hexagon::V9 },
1225 { Hexagon::V10 },
1226 { Hexagon::V11 },
1227 { Hexagon::V12 },
1228 { Hexagon::V13 },
1229 { Hexagon::V14 },
1230 { Hexagon::V15 },
1231 { Hexagon::V16 },
1232 { Hexagon::V17 },
1233 { Hexagon::V18 },
1234 { Hexagon::V19 },
1235 { Hexagon::V20 },
1236 { Hexagon::V21 },
1237 { Hexagon::V22 },
1238 { Hexagon::V23 },
1239 { Hexagon::V24 },
1240 { Hexagon::V25 },
1241 { Hexagon::V26 },
1242 { Hexagon::V27 },
1243 { Hexagon::V28 },
1244 { Hexagon::V29 },
1245 { Hexagon::V30 },
1246 { Hexagon::V31 },
1247 { Hexagon::VF0 },
1248 { Hexagon::VF1 },
1249 { Hexagon::VF2 },
1250 { Hexagon::VF3 },
1251 { Hexagon::VF4 },
1252 { Hexagon::VF5 },
1253 { Hexagon::VF6 },
1254 { Hexagon::VF7 },
1255 { Hexagon::VF8 },
1256 { Hexagon::VF9 },
1257 { Hexagon::VF10 },
1258 { Hexagon::VF11 },
1259 { Hexagon::VF12 },
1260 { Hexagon::VF13 },
1261 { Hexagon::VF14 },
1262 { Hexagon::VF15 },
1263 { Hexagon::VF16 },
1264 { Hexagon::VF17 },
1265 { Hexagon::VF18 },
1266 { Hexagon::VF19 },
1267 { Hexagon::VF20 },
1268 { Hexagon::VF21 },
1269 { Hexagon::VF22 },
1270 { Hexagon::VF23 },
1271 { Hexagon::VF24 },
1272 { Hexagon::VF25 },
1273 { Hexagon::VF26 },
1274 { Hexagon::VF27 },
1275 { Hexagon::VF28 },
1276 { Hexagon::VF29 },
1277 { Hexagon::VF30 },
1278 { Hexagon::VF31 },
1279 { Hexagon::VFR0 },
1280 { Hexagon::VFR1 },
1281 { Hexagon::VFR2 },
1282 { Hexagon::VFR3 },
1283 { Hexagon::VFR4 },
1284 { Hexagon::VFR5 },
1285 { Hexagon::VFR6 },
1286 { Hexagon::VFR7 },
1287 { Hexagon::VFR8 },
1288 { Hexagon::VFR9 },
1289 { Hexagon::VFR10 },
1290 { Hexagon::VFR11 },
1291 { Hexagon::VFR12 },
1292 { Hexagon::VFR13 },
1293 { Hexagon::VFR14 },
1294 { Hexagon::VFR15 },
1295 { Hexagon::VFR16 },
1296 { Hexagon::VFR17 },
1297 { Hexagon::VFR18 },
1298 { Hexagon::VFR19 },
1299 { Hexagon::VFR20 },
1300 { Hexagon::VFR21 },
1301 { Hexagon::VFR22 },
1302 { Hexagon::VFR23 },
1303 { Hexagon::VFR24 },
1304 { Hexagon::VFR25 },
1305 { Hexagon::VFR26 },
1306 { Hexagon::VFR27 },
1307 { Hexagon::VFR28 },
1308 { Hexagon::VFR29 },
1309 { Hexagon::VFR30 },
1310 { Hexagon::VFR31 },
1311 { Hexagon::P3_0 },
1312};
1313
1314namespace { // Register classes...
1315 // UsrBits Register Class...
1316 const MCPhysReg UsrBits[] = {
1317 Hexagon::USR_OVF,
1318 };
1319
1320 // UsrBits Bit set.
1321 const uint8_t UsrBitsBits[] = {
1322 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
1323 };
1324
1325 // SysRegs Register Class...
1326 const MCPhysReg SysRegs[] = {
1327 Hexagon::SGP0, Hexagon::SGP1, Hexagon::STID, Hexagon::ELR, Hexagon::BADVA0, Hexagon::BADVA1, Hexagon::SSR, Hexagon::CCR, Hexagon::HTID, Hexagon::BADVA, Hexagon::IMASK, Hexagon::S11, Hexagon::S12, Hexagon::S13, Hexagon::S14, Hexagon::S15, Hexagon::S19, Hexagon::S23, Hexagon::S25, Hexagon::EVB, Hexagon::MODECTL, Hexagon::SYSCFG, Hexagon::S20, Hexagon::VID, Hexagon::S22, Hexagon::S24, Hexagon::S26, Hexagon::CFGBASE, Hexagon::DIAG, Hexagon::REV, Hexagon::PCYCLEHI, Hexagon::PCYCLELO, Hexagon::ISDBST, Hexagon::ISDBCFG0, Hexagon::ISDBCFG1, Hexagon::S35, Hexagon::BRKPTPC0, Hexagon::BRKPTCFG0, Hexagon::BRKPTPC1, Hexagon::BRKPTCFG1, Hexagon::ISDBMBXIN, Hexagon::ISDBMBXOUT, Hexagon::ISDBEN, Hexagon::ISDBGPR, Hexagon::S44, Hexagon::S45, Hexagon::S46, Hexagon::S47, Hexagon::PMUCNT0, Hexagon::PMUCNT1, Hexagon::PMUCNT2, Hexagon::PMUCNT3, Hexagon::PMUEVTCFG, Hexagon::PMUCFG, Hexagon::S54, Hexagon::S55, Hexagon::S56, Hexagon::S57, Hexagon::S58, Hexagon::S59, Hexagon::S60, Hexagon::S61, Hexagon::S62, Hexagon::S63, Hexagon::S64, Hexagon::S65, Hexagon::S66, Hexagon::S67, Hexagon::S68, Hexagon::S69, Hexagon::S70, Hexagon::S71, Hexagon::S72, Hexagon::S73, Hexagon::S74, Hexagon::S75, Hexagon::S76, Hexagon::S77, Hexagon::S78, Hexagon::S79, Hexagon::S80,
1328 };
1329
1330 // SysRegs Bit set.
1331 const uint8_t SysRegsBits[] = {
1332 0xee, 0x00, 0xff, 0xc6, 0x0f, 0xa0, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xc0, 0x03, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x33,
1333 };
1334
1335 // GuestRegs Register Class...
1336 const MCPhysReg GuestRegs[] = {
1337 Hexagon::GELR, Hexagon::GSR, Hexagon::GOSP, Hexagon::G3, Hexagon::G4, Hexagon::G5, Hexagon::G6, Hexagon::G7, Hexagon::G8, Hexagon::G9, Hexagon::G10, Hexagon::G11, Hexagon::G12, Hexagon::G13, Hexagon::G14, Hexagon::G15, Hexagon::GPMUCNT4, Hexagon::GPMUCNT5, Hexagon::GPMUCNT6, Hexagon::GPMUCNT7, Hexagon::G20, Hexagon::G21, Hexagon::G22, Hexagon::G23, Hexagon::GPCYCLELO, Hexagon::GPCYCLEHI, Hexagon::GPMUCNT0, Hexagon::GPMUCNT1, Hexagon::GPMUCNT2, Hexagon::GPMUCNT3, Hexagon::G30, Hexagon::G31,
1338 };
1339
1340 // GuestRegs Bit set.
1341 const uint8_t GuestRegsBits[] = {
1342 0x00, 0xec, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x0f,
1343 };
1344
1345 // IntRegs Register Class...
1346 const MCPhysReg IntRegs[] = {
1347 Hexagon::R0, Hexagon::R1, Hexagon::R2, Hexagon::R3, Hexagon::R4, Hexagon::R5, Hexagon::R6, Hexagon::R7, Hexagon::R8, Hexagon::R9, Hexagon::R12, Hexagon::R13, Hexagon::R14, Hexagon::R15, Hexagon::R16, Hexagon::R17, Hexagon::R18, Hexagon::R19, Hexagon::R20, Hexagon::R21, Hexagon::R22, Hexagon::R23, Hexagon::R24, Hexagon::R25, Hexagon::R26, Hexagon::R27, Hexagon::R28, Hexagon::R10, Hexagon::R11, Hexagon::R29, Hexagon::R30, Hexagon::R31,
1348 };
1349
1350 // IntRegs Bit set.
1351 const uint8_t IntRegsBits[] = {
1352 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x3f,
1353 };
1354
1355 // CtrRegs Register Class...
1356 const MCPhysReg CtrRegs[] = {
1357 Hexagon::LC0, Hexagon::SA0, Hexagon::LC1, Hexagon::SA1, Hexagon::P3_0, Hexagon::C5, Hexagon::C8, Hexagon::PC, Hexagon::UGP, Hexagon::GP, Hexagon::CS0, Hexagon::CS1, Hexagon::UPCYCLELO, Hexagon::UPCYCLEHI, Hexagon::FRAMELIMIT, Hexagon::FRAMEKEY, Hexagon::PKTCOUNTLO, Hexagon::PKTCOUNTHI, Hexagon::UTIMERLO, Hexagon::UTIMERHI, Hexagon::M0, Hexagon::M1, Hexagon::USR,
1358 };
1359
1360 // CtrRegs Bit set.
1361 const uint8_t CtrRegsBits[] = {
1362 0x00, 0x13, 0x00, 0x31, 0xd0, 0x19, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
1363 };
1364
1365 // GeneralSubRegs Register Class...
1366 const MCPhysReg GeneralSubRegs[] = {
1367 Hexagon::R23, Hexagon::R22, Hexagon::R21, Hexagon::R20, Hexagon::R19, Hexagon::R18, Hexagon::R17, Hexagon::R16, Hexagon::R7, Hexagon::R6, Hexagon::R5, Hexagon::R4, Hexagon::R3, Hexagon::R2, Hexagon::R1, Hexagon::R0,
1368 };
1369
1370 // GeneralSubRegs Bit set.
1371 const uint8_t GeneralSubRegsBits[] = {
1372 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, 0xc0, 0x3f,
1373 };
1374
1375 // V62Regs Register Class...
1376 const MCPhysReg V62Regs[] = {
1377 Hexagon::FRAMELIMIT, Hexagon::FRAMEKEY, Hexagon::C17_16, Hexagon::PKTCOUNTLO, Hexagon::PKTCOUNTHI, Hexagon::PKTCOUNT, Hexagon::UTIMERLO, Hexagon::UTIMERHI, Hexagon::UTIMER,
1378 };
1379
1380 // V62Regs Bit set.
1381 const uint8_t V62RegsBits[] = {
1382 0x00, 0x03, 0x00, 0x38, 0x00, 0x1c, 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, 0x00, 0x00, 0x10,
1383 };
1384
1385 // IntRegsLow8 Register Class...
1386 const MCPhysReg IntRegsLow8[] = {
1387 Hexagon::R7, Hexagon::R6, Hexagon::R5, Hexagon::R4, Hexagon::R3, Hexagon::R2, Hexagon::R1, Hexagon::R0,
1388 };
1389
1390 // IntRegsLow8 Bit set.
1391 const uint8_t IntRegsLow8Bits[] = {
1392 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f,
1393 };
1394
1395 // CtrRegs_and_V62Regs Register Class...
1396 const MCPhysReg CtrRegs_and_V62Regs[] = {
1397 Hexagon::FRAMELIMIT, Hexagon::FRAMEKEY, Hexagon::PKTCOUNTLO, Hexagon::PKTCOUNTHI, Hexagon::UTIMERLO, Hexagon::UTIMERHI,
1398 };
1399
1400 // CtrRegs_and_V62Regs Bit set.
1401 const uint8_t CtrRegs_and_V62RegsBits[] = {
1402 0x00, 0x03, 0x00, 0x30, 0x00, 0x18,
1403 };
1404
1405 // PredRegs Register Class...
1406 const MCPhysReg PredRegs[] = {
1407 Hexagon::P0, Hexagon::P1, Hexagon::P2, Hexagon::P3,
1408 };
1409
1410 // PredRegs Bit set.
1411 const uint8_t PredRegsBits[] = {
1412 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c,
1413 };
1414
1415 // V62Regs_with_isub_hi Register Class...
1416 const MCPhysReg V62Regs_with_isub_hi[] = {
1417 Hexagon::C17_16, Hexagon::PKTCOUNT, Hexagon::UTIMER,
1418 };
1419
1420 // V62Regs_with_isub_hi Bit set.
1421 const uint8_t V62Regs_with_isub_hiBits[] = {
1422 0x00, 0x00, 0x00, 0x08, 0x00, 0x04, 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, 0x00, 0x00, 0x10,
1423 };
1424
1425 // ModRegs Register Class...
1426 const MCPhysReg ModRegs[] = {
1427 Hexagon::M0, Hexagon::M1,
1428 };
1429
1430 // ModRegs Bit set.
1431 const uint8_t ModRegsBits[] = {
1432 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
1433 };
1434
1435 // CtrRegs_with_subreg_overflow Register Class...
1436 const MCPhysReg CtrRegs_with_subreg_overflow[] = {
1437 Hexagon::USR,
1438 };
1439
1440 // CtrRegs_with_subreg_overflow Bit set.
1441 const uint8_t CtrRegs_with_subreg_overflowBits[] = {
1442 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
1443 };
1444
1445 // V65Regs Register Class...
1446 const MCPhysReg V65Regs[] = {
1447 Hexagon::VTMP,
1448 };
1449
1450 // V65Regs Bit set.
1451 const uint8_t V65RegsBits[] = {
1452 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
1453 };
1454
1455 // SysRegs64 Register Class...
1456 const MCPhysReg SysRegs64[] = {
1457 Hexagon::SGP1_0, Hexagon::S3_2, Hexagon::S5_4, Hexagon::S7_6, Hexagon::S9_8, Hexagon::S11_10, Hexagon::S13_12, Hexagon::S15_14, Hexagon::S17_16, Hexagon::S19_18, Hexagon::S21_20, Hexagon::S23_22, Hexagon::S25_24, Hexagon::S27_26, Hexagon::S29_28, Hexagon::S31_30, Hexagon::S33_32, Hexagon::S35_34, Hexagon::S37_36, Hexagon::S39_38, Hexagon::S41_40, Hexagon::S43_42, Hexagon::S45_44, Hexagon::S47_46, Hexagon::S49_48, Hexagon::S51_50, Hexagon::S53_52, Hexagon::S55_54, Hexagon::S57_56, Hexagon::S59_58, Hexagon::S61_60, Hexagon::S63_62, Hexagon::S65_64, Hexagon::S67_66, Hexagon::S69_68, Hexagon::S71_70, Hexagon::S73_72, Hexagon::S75_74, Hexagon::S77_76, Hexagon::S79_78,
1458 };
1459
1460 // SysRegs64 Bit set.
1461 const uint8_t SysRegs64Bits[] = {
1462 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x3f,
1463 };
1464
1465 // DoubleRegs Register Class...
1466 const MCPhysReg DoubleRegs[] = {
1467 Hexagon::D0, Hexagon::D1, Hexagon::D2, Hexagon::D3, Hexagon::D4, Hexagon::D6, Hexagon::D7, Hexagon::D8, Hexagon::D9, Hexagon::D10, Hexagon::D11, Hexagon::D12, Hexagon::D13, Hexagon::D5, Hexagon::D14, Hexagon::D15,
1468 };
1469
1470 // DoubleRegs Bit set.
1471 const uint8_t DoubleRegsBits[] = {
1472 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x01,
1473 };
1474
1475 // GuestRegs64 Register Class...
1476 const MCPhysReg GuestRegs64[] = {
1477 Hexagon::G1_0, Hexagon::G3_2, Hexagon::G5_4, Hexagon::G7_6, Hexagon::G9_8, Hexagon::G11_10, Hexagon::G13_12, Hexagon::G15_14, Hexagon::G17_16, Hexagon::G19_18, Hexagon::G21_20, Hexagon::G23_22, Hexagon::G25_24, Hexagon::G27_26, Hexagon::G29_28, Hexagon::G31_30,
1478 };
1479
1480 // GuestRegs64 Bit set.
1481 const uint8_t GuestRegs64Bits[] = {
1482 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x1f,
1483 };
1484
1485 // VectRegRev Register Class...
1486 const MCPhysReg VectRegRev[] = {
1487 Hexagon::WR0, Hexagon::WR1, Hexagon::WR2, Hexagon::WR3, Hexagon::WR4, Hexagon::WR5, Hexagon::WR6, Hexagon::WR7, Hexagon::WR8, Hexagon::WR9, Hexagon::WR10, Hexagon::WR11, Hexagon::WR12, Hexagon::WR13, Hexagon::WR14, Hexagon::WR15,
1488 };
1489
1490 // VectRegRev Bit set.
1491 const uint8_t VectRegRevBits[] = {
1492 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x3f,
1493 };
1494
1495 // CtrRegs64 Register Class...
1496 const MCPhysReg CtrRegs64[] = {
1497 Hexagon::C1_0, Hexagon::C3_2, Hexagon::C5_4, Hexagon::C7_6, Hexagon::C9_8, Hexagon::C11_10, Hexagon::CS, Hexagon::UPCYCLE, Hexagon::C17_16, Hexagon::PKTCOUNT, Hexagon::UTIMER,
1498 };
1499
1500 // CtrRegs64 Bit set.
1501 const uint8_t CtrRegs64Bits[] = {
1502 0x10, 0x00, 0x00, 0x08, 0x20, 0x04, 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, 0x00, 0xc0, 0x1f,
1503 };
1504
1505 // GeneralDoubleLow8Regs Register Class...
1506 const MCPhysReg GeneralDoubleLow8Regs[] = {
1507 Hexagon::D11, Hexagon::D10, Hexagon::D9, Hexagon::D8, Hexagon::D3, Hexagon::D2, Hexagon::D1, Hexagon::D0,
1508 };
1509
1510 // GeneralDoubleLow8Regs Bit set.
1511 const uint8_t GeneralDoubleLow8RegsBits[] = {
1512 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x1e,
1513 };
1514
1515 // DoubleRegs_with_isub_hi_in_IntRegsLow8 Register Class...
1516 const MCPhysReg DoubleRegs_with_isub_hi_in_IntRegsLow8[] = {
1517 Hexagon::D3, Hexagon::D2, Hexagon::D1, Hexagon::D0,
1518 };
1519
1520 // DoubleRegs_with_isub_hi_in_IntRegsLow8 Bit set.
1521 const uint8_t DoubleRegs_with_isub_hi_in_IntRegsLow8Bits[] = {
1522 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e,
1523 };
1524
1525 // CtrRegs64_and_V62Regs Register Class...
1526 const MCPhysReg CtrRegs64_and_V62Regs[] = {
1527 Hexagon::C17_16, Hexagon::PKTCOUNT, Hexagon::UTIMER,
1528 };
1529
1530 // CtrRegs64_and_V62Regs Bit set.
1531 const uint8_t CtrRegs64_and_V62RegsBits[] = {
1532 0x00, 0x00, 0x00, 0x08, 0x00, 0x04, 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, 0x00, 0x00, 0x10,
1533 };
1534
1535 // CtrRegs64_with_isub_hi_in_ModRegs Register Class...
1536 const MCPhysReg CtrRegs64_with_isub_hi_in_ModRegs[] = {
1537 Hexagon::C7_6,
1538 };
1539
1540 // CtrRegs64_with_isub_hi_in_ModRegs Bit set.
1541 const uint8_t CtrRegs64_with_isub_hi_in_ModRegsBits[] = {
1542 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
1543 };
1544
1545 // HvxQR Register Class...
1546 const MCPhysReg HvxQR[] = {
1547 Hexagon::Q0, Hexagon::Q1, Hexagon::Q2, Hexagon::Q3,
1548 };
1549
1550 // HvxQR Bit set.
1551 const uint8_t HvxQRBits[] = {
1552 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c,
1553 };
1554
1555 // HvxVR Register Class...
1556 const MCPhysReg HvxVR[] = {
1557 Hexagon::V0, Hexagon::V1, Hexagon::V2, Hexagon::V3, Hexagon::V4, Hexagon::V5, Hexagon::V6, Hexagon::V7, Hexagon::V8, Hexagon::V9, Hexagon::V10, Hexagon::V11, Hexagon::V12, Hexagon::V13, Hexagon::V14, Hexagon::V15, Hexagon::V16, Hexagon::V17, Hexagon::V18, Hexagon::V19, Hexagon::V20, Hexagon::V21, Hexagon::V22, Hexagon::V23, Hexagon::V24, Hexagon::V25, Hexagon::V26, Hexagon::V27, Hexagon::V28, Hexagon::V29, Hexagon::V30, Hexagon::V31, Hexagon::VTMP,
1558 };
1559
1560 // HvxVR Bit set.
1561 const uint8_t HvxVRBits[] = {
1562 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x3f,
1563 };
1564
1565 // HvxVR_and_V65Regs Register Class...
1566 const MCPhysReg HvxVR_and_V65Regs[] = {
1567 Hexagon::VTMP,
1568 };
1569
1570 // HvxVR_and_V65Regs Bit set.
1571 const uint8_t HvxVR_and_V65RegsBits[] = {
1572 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
1573 };
1574
1575 // HvxWR Register Class...
1576 const MCPhysReg HvxWR[] = {
1577 Hexagon::W0, Hexagon::W1, Hexagon::W2, Hexagon::W3, Hexagon::W4, Hexagon::W5, Hexagon::W6, Hexagon::W7, Hexagon::W8, Hexagon::W9, Hexagon::W10, Hexagon::W11, Hexagon::W12, Hexagon::W13, Hexagon::W14, Hexagon::W15, Hexagon::WR0, Hexagon::WR1, Hexagon::WR2, Hexagon::WR3, Hexagon::WR4, Hexagon::WR5, Hexagon::WR6, Hexagon::WR7, Hexagon::WR8, Hexagon::WR9, Hexagon::WR10, Hexagon::WR11, Hexagon::WR12, Hexagon::WR13, Hexagon::WR14, Hexagon::WR15,
1578 };
1579
1580 // HvxWR Bit set.
1581 const uint8_t HvxWRBits[] = {
1582 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, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x3f,
1583 };
1584
1585 // HvxWR_and_VectRegRev Register Class...
1586 const MCPhysReg HvxWR_and_VectRegRev[] = {
1587 Hexagon::WR0, Hexagon::WR1, Hexagon::WR2, Hexagon::WR3, Hexagon::WR4, Hexagon::WR5, Hexagon::WR6, Hexagon::WR7, Hexagon::WR8, Hexagon::WR9, Hexagon::WR10, Hexagon::WR11, Hexagon::WR12, Hexagon::WR13, Hexagon::WR14, Hexagon::WR15,
1588 };
1589
1590 // HvxWR_and_VectRegRev Bit set.
1591 const uint8_t HvxWR_and_VectRegRevBits[] = {
1592 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x3f,
1593 };
1594
1595 // HvxVQR Register Class...
1596 const MCPhysReg HvxVQR[] = {
1597 Hexagon::VQ0, Hexagon::VQ1, Hexagon::VQ2, Hexagon::VQ3, Hexagon::VQ4, Hexagon::VQ5, Hexagon::VQ6, Hexagon::VQ7,
1598 };
1599
1600 // HvxVQR Bit set.
1601 const uint8_t HvxVQRBits[] = {
1602 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, 0x00, 0x00, 0xc0, 0x3f,
1603 };
1604
1605} // end anonymous namespace
1606
1607
1608#ifdef __GNUC__
1609#pragma GCC diagnostic push
1610#pragma GCC diagnostic ignored "-Woverlength-strings"
1611#endif
1612extern const char HexagonRegClassStrings[] = {
1613 /* 0 */ "CtrRegs64\000"
1614 /* 10 */ "SysRegs64\000"
1615 /* 20 */ "GuestRegs64\000"
1616 /* 32 */ "DoubleRegs_with_isub_hi_in_IntRegsLow8\000"
1617 /* 71 */ "HvxVQR\000"
1618 /* 78 */ "HvxQR\000"
1619 /* 84 */ "HvxVR\000"
1620 /* 90 */ "HvxWR\000"
1621 /* 96 */ "V62Regs_with_isub_hi\000"
1622 /* 117 */ "CtrRegs64_and_V62Regs\000"
1623 /* 139 */ "CtrRegs_and_V62Regs\000"
1624 /* 159 */ "HvxVR_and_V65Regs\000"
1625 /* 177 */ "GeneralDoubleLow8Regs\000"
1626 /* 199 */ "GeneralSubRegs\000"
1627 /* 214 */ "PredRegs\000"
1628 /* 223 */ "CtrRegs64_with_isub_hi_in_ModRegs\000"
1629 /* 257 */ "DoubleRegs\000"
1630 /* 268 */ "CtrRegs\000"
1631 /* 276 */ "SysRegs\000"
1632 /* 284 */ "IntRegs\000"
1633 /* 292 */ "GuestRegs\000"
1634 /* 302 */ "UsrBits\000"
1635 /* 310 */ "HvxWR_and_VectRegRev\000"
1636 /* 331 */ "CtrRegs_with_subreg_overflow\000"
1637};
1638#ifdef __GNUC__
1639#pragma GCC diagnostic pop
1640#endif
1641
1642extern const MCRegisterClass HexagonMCRegisterClasses[] = {
1643 { .RegsBegin: UsrBits, .RegSet: UsrBitsBits, .NameIdx: 302, .RegsSize: 1, .RegSetSize: sizeof(UsrBitsBits), .ID: Hexagon::UsrBitsRegClassID, .RegSizeInBits: 1, .CopyCost: 1, .Allocatable: false, .BaseClass: false },
1644 { .RegsBegin: SysRegs, .RegSet: SysRegsBits, .NameIdx: 276, .RegsSize: 81, .RegSetSize: sizeof(SysRegsBits), .ID: Hexagon::SysRegsRegClassID, .RegSizeInBits: 32, .CopyCost: 1, .Allocatable: false, .BaseClass: false },
1645 { .RegsBegin: GuestRegs, .RegSet: GuestRegsBits, .NameIdx: 292, .RegsSize: 32, .RegSetSize: sizeof(GuestRegsBits), .ID: Hexagon::GuestRegsRegClassID, .RegSizeInBits: 32, .CopyCost: 1, .Allocatable: false, .BaseClass: false },
1646 { .RegsBegin: IntRegs, .RegSet: IntRegsBits, .NameIdx: 284, .RegsSize: 32, .RegSetSize: sizeof(IntRegsBits), .ID: Hexagon::IntRegsRegClassID, .RegSizeInBits: 32, .CopyCost: 1, .Allocatable: true, .BaseClass: false },
1647 { .RegsBegin: CtrRegs, .RegSet: CtrRegsBits, .NameIdx: 268, .RegsSize: 23, .RegSetSize: sizeof(CtrRegsBits), .ID: Hexagon::CtrRegsRegClassID, .RegSizeInBits: 32, .CopyCost: 1, .Allocatable: false, .BaseClass: false },
1648 { .RegsBegin: GeneralSubRegs, .RegSet: GeneralSubRegsBits, .NameIdx: 199, .RegsSize: 16, .RegSetSize: sizeof(GeneralSubRegsBits), .ID: Hexagon::GeneralSubRegsRegClassID, .RegSizeInBits: 32, .CopyCost: 1, .Allocatable: true, .BaseClass: false },
1649 { .RegsBegin: V62Regs, .RegSet: V62RegsBits, .NameIdx: 131, .RegsSize: 9, .RegSetSize: sizeof(V62RegsBits), .ID: Hexagon::V62RegsRegClassID, .RegSizeInBits: 32, .CopyCost: 1, .Allocatable: false, .BaseClass: false },
1650 { .RegsBegin: IntRegsLow8, .RegSet: IntRegsLow8Bits, .NameIdx: 59, .RegsSize: 8, .RegSetSize: sizeof(IntRegsLow8Bits), .ID: Hexagon::IntRegsLow8RegClassID, .RegSizeInBits: 32, .CopyCost: 1, .Allocatable: true, .BaseClass: false },
1651 { .RegsBegin: CtrRegs_and_V62Regs, .RegSet: CtrRegs_and_V62RegsBits, .NameIdx: 139, .RegsSize: 6, .RegSetSize: sizeof(CtrRegs_and_V62RegsBits), .ID: Hexagon::CtrRegs_and_V62RegsRegClassID, .RegSizeInBits: 32, .CopyCost: 1, .Allocatable: false, .BaseClass: false },
1652 { .RegsBegin: PredRegs, .RegSet: PredRegsBits, .NameIdx: 214, .RegsSize: 4, .RegSetSize: sizeof(PredRegsBits), .ID: Hexagon::PredRegsRegClassID, .RegSizeInBits: 32, .CopyCost: 1, .Allocatable: true, .BaseClass: false },
1653 { .RegsBegin: V62Regs_with_isub_hi, .RegSet: V62Regs_with_isub_hiBits, .NameIdx: 96, .RegsSize: 3, .RegSetSize: sizeof(V62Regs_with_isub_hiBits), .ID: Hexagon::V62Regs_with_isub_hiRegClassID, .RegSizeInBits: 32, .CopyCost: 1, .Allocatable: false, .BaseClass: false },
1654 { .RegsBegin: ModRegs, .RegSet: ModRegsBits, .NameIdx: 249, .RegsSize: 2, .RegSetSize: sizeof(ModRegsBits), .ID: Hexagon::ModRegsRegClassID, .RegSizeInBits: 32, .CopyCost: 1, .Allocatable: true, .BaseClass: false },
1655 { .RegsBegin: CtrRegs_with_subreg_overflow, .RegSet: CtrRegs_with_subreg_overflowBits, .NameIdx: 331, .RegsSize: 1, .RegSetSize: sizeof(CtrRegs_with_subreg_overflowBits), .ID: Hexagon::CtrRegs_with_subreg_overflowRegClassID, .RegSizeInBits: 32, .CopyCost: 1, .Allocatable: false, .BaseClass: false },
1656 { .RegsBegin: V65Regs, .RegSet: V65RegsBits, .NameIdx: 169, .RegsSize: 1, .RegSetSize: sizeof(V65RegsBits), .ID: Hexagon::V65RegsRegClassID, .RegSizeInBits: 32, .CopyCost: 1, .Allocatable: false, .BaseClass: false },
1657 { .RegsBegin: SysRegs64, .RegSet: SysRegs64Bits, .NameIdx: 10, .RegsSize: 40, .RegSetSize: sizeof(SysRegs64Bits), .ID: Hexagon::SysRegs64RegClassID, .RegSizeInBits: 64, .CopyCost: 1, .Allocatable: false, .BaseClass: false },
1658 { .RegsBegin: DoubleRegs, .RegSet: DoubleRegsBits, .NameIdx: 257, .RegsSize: 16, .RegSetSize: sizeof(DoubleRegsBits), .ID: Hexagon::DoubleRegsRegClassID, .RegSizeInBits: 64, .CopyCost: 1, .Allocatable: true, .BaseClass: false },
1659 { .RegsBegin: GuestRegs64, .RegSet: GuestRegs64Bits, .NameIdx: 20, .RegsSize: 16, .RegSetSize: sizeof(GuestRegs64Bits), .ID: Hexagon::GuestRegs64RegClassID, .RegSizeInBits: 64, .CopyCost: 1, .Allocatable: false, .BaseClass: false },
1660 { .RegsBegin: VectRegRev, .RegSet: VectRegRevBits, .NameIdx: 320, .RegsSize: 16, .RegSetSize: sizeof(VectRegRevBits), .ID: Hexagon::VectRegRevRegClassID, .RegSizeInBits: 64, .CopyCost: 1, .Allocatable: true, .BaseClass: false },
1661 { .RegsBegin: CtrRegs64, .RegSet: CtrRegs64Bits, .NameIdx: 0, .RegsSize: 11, .RegSetSize: sizeof(CtrRegs64Bits), .ID: Hexagon::CtrRegs64RegClassID, .RegSizeInBits: 64, .CopyCost: 1, .Allocatable: false, .BaseClass: false },
1662 { .RegsBegin: GeneralDoubleLow8Regs, .RegSet: GeneralDoubleLow8RegsBits, .NameIdx: 177, .RegsSize: 8, .RegSetSize: sizeof(GeneralDoubleLow8RegsBits), .ID: Hexagon::GeneralDoubleLow8RegsRegClassID, .RegSizeInBits: 64, .CopyCost: 1, .Allocatable: true, .BaseClass: false },
1663 { .RegsBegin: DoubleRegs_with_isub_hi_in_IntRegsLow8, .RegSet: DoubleRegs_with_isub_hi_in_IntRegsLow8Bits, .NameIdx: 32, .RegsSize: 4, .RegSetSize: sizeof(DoubleRegs_with_isub_hi_in_IntRegsLow8Bits), .ID: Hexagon::DoubleRegs_with_isub_hi_in_IntRegsLow8RegClassID, .RegSizeInBits: 64, .CopyCost: 1, .Allocatable: true, .BaseClass: false },
1664 { .RegsBegin: CtrRegs64_and_V62Regs, .RegSet: CtrRegs64_and_V62RegsBits, .NameIdx: 117, .RegsSize: 3, .RegSetSize: sizeof(CtrRegs64_and_V62RegsBits), .ID: Hexagon::CtrRegs64_and_V62RegsRegClassID, .RegSizeInBits: 64, .CopyCost: 1, .Allocatable: false, .BaseClass: false },
1665 { .RegsBegin: CtrRegs64_with_isub_hi_in_ModRegs, .RegSet: CtrRegs64_with_isub_hi_in_ModRegsBits, .NameIdx: 223, .RegsSize: 1, .RegSetSize: sizeof(CtrRegs64_with_isub_hi_in_ModRegsBits), .ID: Hexagon::CtrRegs64_with_isub_hi_in_ModRegsRegClassID, .RegSizeInBits: 64, .CopyCost: 1, .Allocatable: false, .BaseClass: false },
1666 { .RegsBegin: HvxQR, .RegSet: HvxQRBits, .NameIdx: 78, .RegsSize: 4, .RegSetSize: sizeof(HvxQRBits), .ID: Hexagon::HvxQRRegClassID, .RegSizeInBits: 0, .CopyCost: 1, .Allocatable: true, .BaseClass: false },
1667 { .RegsBegin: HvxVR, .RegSet: HvxVRBits, .NameIdx: 84, .RegsSize: 33, .RegSetSize: sizeof(HvxVRBits), .ID: Hexagon::HvxVRRegClassID, .RegSizeInBits: 0, .CopyCost: 1, .Allocatable: true, .BaseClass: false },
1668 { .RegsBegin: HvxVR_and_V65Regs, .RegSet: HvxVR_and_V65RegsBits, .NameIdx: 159, .RegsSize: 1, .RegSetSize: sizeof(HvxVR_and_V65RegsBits), .ID: Hexagon::HvxVR_and_V65RegsRegClassID, .RegSizeInBits: 0, .CopyCost: 1, .Allocatable: true, .BaseClass: false },
1669 { .RegsBegin: HvxWR, .RegSet: HvxWRBits, .NameIdx: 90, .RegsSize: 32, .RegSetSize: sizeof(HvxWRBits), .ID: Hexagon::HvxWRRegClassID, .RegSizeInBits: 0, .CopyCost: 1, .Allocatable: true, .BaseClass: false },
1670 { .RegsBegin: HvxWR_and_VectRegRev, .RegSet: HvxWR_and_VectRegRevBits, .NameIdx: 310, .RegsSize: 16, .RegSetSize: sizeof(HvxWR_and_VectRegRevBits), .ID: Hexagon::HvxWR_and_VectRegRevRegClassID, .RegSizeInBits: 0, .CopyCost: 1, .Allocatable: true, .BaseClass: false },
1671 { .RegsBegin: HvxVQR, .RegSet: HvxVQRBits, .NameIdx: 71, .RegsSize: 8, .RegSetSize: sizeof(HvxVQRBits), .ID: Hexagon::HvxVQRRegClassID, .RegSizeInBits: 0, .CopyCost: 1, .Allocatable: true, .BaseClass: false },
1672};
1673
1674// Hexagon Dwarf<->LLVM register mappings.
1675extern const MCRegisterInfo::DwarfLLVMRegPair HexagonDwarfFlavour0Dwarf2L[] = {
1676 { .FromReg: 0U, .ToReg: Hexagon::R0 },
1677 { .FromReg: 1U, .ToReg: Hexagon::R1 },
1678 { .FromReg: 2U, .ToReg: Hexagon::R2 },
1679 { .FromReg: 3U, .ToReg: Hexagon::R3 },
1680 { .FromReg: 4U, .ToReg: Hexagon::R4 },
1681 { .FromReg: 5U, .ToReg: Hexagon::R5 },
1682 { .FromReg: 6U, .ToReg: Hexagon::R6 },
1683 { .FromReg: 7U, .ToReg: Hexagon::R7 },
1684 { .FromReg: 8U, .ToReg: Hexagon::R8 },
1685 { .FromReg: 9U, .ToReg: Hexagon::R9 },
1686 { .FromReg: 10U, .ToReg: Hexagon::R10 },
1687 { .FromReg: 11U, .ToReg: Hexagon::R11 },
1688 { .FromReg: 12U, .ToReg: Hexagon::R12 },
1689 { .FromReg: 13U, .ToReg: Hexagon::R13 },
1690 { .FromReg: 14U, .ToReg: Hexagon::R14 },
1691 { .FromReg: 15U, .ToReg: Hexagon::R15 },
1692 { .FromReg: 16U, .ToReg: Hexagon::R16 },
1693 { .FromReg: 17U, .ToReg: Hexagon::R17 },
1694 { .FromReg: 18U, .ToReg: Hexagon::R18 },
1695 { .FromReg: 19U, .ToReg: Hexagon::R19 },
1696 { .FromReg: 20U, .ToReg: Hexagon::R20 },
1697 { .FromReg: 21U, .ToReg: Hexagon::R21 },
1698 { .FromReg: 22U, .ToReg: Hexagon::R22 },
1699 { .FromReg: 23U, .ToReg: Hexagon::R23 },
1700 { .FromReg: 24U, .ToReg: Hexagon::R24 },
1701 { .FromReg: 25U, .ToReg: Hexagon::R25 },
1702 { .FromReg: 26U, .ToReg: Hexagon::R26 },
1703 { .FromReg: 27U, .ToReg: Hexagon::R27 },
1704 { .FromReg: 28U, .ToReg: Hexagon::R28 },
1705 { .FromReg: 29U, .ToReg: Hexagon::R29 },
1706 { .FromReg: 30U, .ToReg: Hexagon::R30 },
1707 { .FromReg: 31U, .ToReg: Hexagon::R31 },
1708 { .FromReg: 32U, .ToReg: Hexagon::D0 },
1709 { .FromReg: 34U, .ToReg: Hexagon::D1 },
1710 { .FromReg: 36U, .ToReg: Hexagon::D2 },
1711 { .FromReg: 38U, .ToReg: Hexagon::D3 },
1712 { .FromReg: 40U, .ToReg: Hexagon::D4 },
1713 { .FromReg: 42U, .ToReg: Hexagon::D5 },
1714 { .FromReg: 44U, .ToReg: Hexagon::D6 },
1715 { .FromReg: 46U, .ToReg: Hexagon::D7 },
1716 { .FromReg: 48U, .ToReg: Hexagon::D8 },
1717 { .FromReg: 50U, .ToReg: Hexagon::D9 },
1718 { .FromReg: 52U, .ToReg: Hexagon::D10 },
1719 { .FromReg: 54U, .ToReg: Hexagon::D11 },
1720 { .FromReg: 56U, .ToReg: Hexagon::D12 },
1721 { .FromReg: 58U, .ToReg: Hexagon::D13 },
1722 { .FromReg: 60U, .ToReg: Hexagon::D14 },
1723 { .FromReg: 62U, .ToReg: Hexagon::D15 },
1724 { .FromReg: 63U, .ToReg: Hexagon::P0 },
1725 { .FromReg: 64U, .ToReg: Hexagon::P1 },
1726 { .FromReg: 65U, .ToReg: Hexagon::P2 },
1727 { .FromReg: 66U, .ToReg: Hexagon::P3 },
1728 { .FromReg: 67U, .ToReg: Hexagon::C1_0 },
1729 { .FromReg: 68U, .ToReg: Hexagon::LC0 },
1730 { .FromReg: 69U, .ToReg: Hexagon::C3_2 },
1731 { .FromReg: 70U, .ToReg: Hexagon::LC1 },
1732 { .FromReg: 71U, .ToReg: Hexagon::P3_0 },
1733 { .FromReg: 72U, .ToReg: Hexagon::C7_6 },
1734 { .FromReg: 73U, .ToReg: Hexagon::M0 },
1735 { .FromReg: 74U, .ToReg: Hexagon::C9_8 },
1736 { .FromReg: 75U, .ToReg: Hexagon::C8 },
1737 { .FromReg: 76U, .ToReg: Hexagon::C11_10 },
1738 { .FromReg: 77U, .ToReg: Hexagon::UGP },
1739 { .FromReg: 78U, .ToReg: Hexagon::GP },
1740 { .FromReg: 79U, .ToReg: Hexagon::CS0 },
1741 { .FromReg: 80U, .ToReg: Hexagon::CS1 },
1742 { .FromReg: 81U, .ToReg: Hexagon::UPCYCLELO },
1743 { .FromReg: 82U, .ToReg: Hexagon::UPCYCLEHI },
1744 { .FromReg: 83U, .ToReg: Hexagon::C17_16 },
1745 { .FromReg: 84U, .ToReg: Hexagon::FRAMEKEY },
1746 { .FromReg: 85U, .ToReg: Hexagon::PKTCOUNTLO },
1747 { .FromReg: 86U, .ToReg: Hexagon::PKTCOUNTHI },
1748 { .FromReg: 97U, .ToReg: Hexagon::UTIMERLO },
1749 { .FromReg: 98U, .ToReg: Hexagon::UTIMERHI },
1750 { .FromReg: 99U, .ToReg: Hexagon::W0 },
1751 { .FromReg: 100U, .ToReg: Hexagon::V1 },
1752 { .FromReg: 101U, .ToReg: Hexagon::W1 },
1753 { .FromReg: 102U, .ToReg: Hexagon::V3 },
1754 { .FromReg: 103U, .ToReg: Hexagon::W2 },
1755 { .FromReg: 104U, .ToReg: Hexagon::V5 },
1756 { .FromReg: 105U, .ToReg: Hexagon::W3 },
1757 { .FromReg: 106U, .ToReg: Hexagon::V7 },
1758 { .FromReg: 107U, .ToReg: Hexagon::W4 },
1759 { .FromReg: 108U, .ToReg: Hexagon::V9 },
1760 { .FromReg: 109U, .ToReg: Hexagon::W5 },
1761 { .FromReg: 110U, .ToReg: Hexagon::V11 },
1762 { .FromReg: 111U, .ToReg: Hexagon::W6 },
1763 { .FromReg: 112U, .ToReg: Hexagon::V13 },
1764 { .FromReg: 113U, .ToReg: Hexagon::W7 },
1765 { .FromReg: 114U, .ToReg: Hexagon::V15 },
1766 { .FromReg: 115U, .ToReg: Hexagon::W8 },
1767 { .FromReg: 116U, .ToReg: Hexagon::V17 },
1768 { .FromReg: 117U, .ToReg: Hexagon::W9 },
1769 { .FromReg: 118U, .ToReg: Hexagon::V19 },
1770 { .FromReg: 119U, .ToReg: Hexagon::W10 },
1771 { .FromReg: 120U, .ToReg: Hexagon::V21 },
1772 { .FromReg: 121U, .ToReg: Hexagon::W11 },
1773 { .FromReg: 122U, .ToReg: Hexagon::V23 },
1774 { .FromReg: 123U, .ToReg: Hexagon::W12 },
1775 { .FromReg: 124U, .ToReg: Hexagon::V25 },
1776 { .FromReg: 125U, .ToReg: Hexagon::W13 },
1777 { .FromReg: 126U, .ToReg: Hexagon::V27 },
1778 { .FromReg: 127U, .ToReg: Hexagon::W14 },
1779 { .FromReg: 128U, .ToReg: Hexagon::V29 },
1780 { .FromReg: 129U, .ToReg: Hexagon::W15 },
1781 { .FromReg: 130U, .ToReg: Hexagon::V31 },
1782 { .FromReg: 131U, .ToReg: Hexagon::Q0 },
1783 { .FromReg: 132U, .ToReg: Hexagon::Q1 },
1784 { .FromReg: 133U, .ToReg: Hexagon::Q2 },
1785 { .FromReg: 134U, .ToReg: Hexagon::Q3 },
1786 { .FromReg: 144U, .ToReg: Hexagon::SGP1_0 },
1787 { .FromReg: 145U, .ToReg: Hexagon::SGP1 },
1788 { .FromReg: 146U, .ToReg: Hexagon::S3_2 },
1789 { .FromReg: 147U, .ToReg: Hexagon::ELR },
1790 { .FromReg: 148U, .ToReg: Hexagon::S5_4 },
1791 { .FromReg: 149U, .ToReg: Hexagon::BADVA1 },
1792 { .FromReg: 150U, .ToReg: Hexagon::S7_6 },
1793 { .FromReg: 151U, .ToReg: Hexagon::CCR },
1794 { .FromReg: 152U, .ToReg: Hexagon::S9_8 },
1795 { .FromReg: 153U, .ToReg: Hexagon::BADVA },
1796 { .FromReg: 154U, .ToReg: Hexagon::S11_10 },
1797 { .FromReg: 155U, .ToReg: Hexagon::S11 },
1798 { .FromReg: 156U, .ToReg: Hexagon::S13_12 },
1799 { .FromReg: 157U, .ToReg: Hexagon::S13 },
1800 { .FromReg: 158U, .ToReg: Hexagon::S15_14 },
1801 { .FromReg: 159U, .ToReg: Hexagon::S15 },
1802 { .FromReg: 160U, .ToReg: Hexagon::S17_16 },
1803 { .FromReg: 161U, .ToReg: Hexagon::WR0 },
1804 { .FromReg: 162U, .ToReg: Hexagon::S19_18 },
1805 { .FromReg: 163U, .ToReg: Hexagon::WR2 },
1806 { .FromReg: 164U, .ToReg: Hexagon::S21_20 },
1807 { .FromReg: 165U, .ToReg: Hexagon::WR4 },
1808 { .FromReg: 166U, .ToReg: Hexagon::S23_22 },
1809 { .FromReg: 167U, .ToReg: Hexagon::WR6 },
1810 { .FromReg: 168U, .ToReg: Hexagon::S25_24 },
1811 { .FromReg: 169U, .ToReg: Hexagon::WR8 },
1812 { .FromReg: 170U, .ToReg: Hexagon::S27_26 },
1813 { .FromReg: 171U, .ToReg: Hexagon::WR10 },
1814 { .FromReg: 172U, .ToReg: Hexagon::S29_28 },
1815 { .FromReg: 173U, .ToReg: Hexagon::WR12 },
1816 { .FromReg: 174U, .ToReg: Hexagon::S31_30 },
1817 { .FromReg: 175U, .ToReg: Hexagon::WR14 },
1818 { .FromReg: 176U, .ToReg: Hexagon::S33_32 },
1819 { .FromReg: 177U, .ToReg: Hexagon::ISDBCFG0 },
1820 { .FromReg: 178U, .ToReg: Hexagon::S35_34 },
1821 { .FromReg: 179U, .ToReg: Hexagon::S35 },
1822 { .FromReg: 180U, .ToReg: Hexagon::S37_36 },
1823 { .FromReg: 181U, .ToReg: Hexagon::BRKPTCFG0 },
1824 { .FromReg: 182U, .ToReg: Hexagon::S39_38 },
1825 { .FromReg: 183U, .ToReg: Hexagon::BRKPTCFG1 },
1826 { .FromReg: 184U, .ToReg: Hexagon::S41_40 },
1827 { .FromReg: 185U, .ToReg: Hexagon::ISDBMBXOUT },
1828 { .FromReg: 186U, .ToReg: Hexagon::S43_42 },
1829 { .FromReg: 187U, .ToReg: Hexagon::ISDBGPR },
1830 { .FromReg: 188U, .ToReg: Hexagon::S45_44 },
1831 { .FromReg: 189U, .ToReg: Hexagon::S45 },
1832 { .FromReg: 190U, .ToReg: Hexagon::S47_46 },
1833 { .FromReg: 191U, .ToReg: Hexagon::S47 },
1834 { .FromReg: 192U, .ToReg: Hexagon::S49_48 },
1835 { .FromReg: 193U, .ToReg: Hexagon::PMUCNT1 },
1836 { .FromReg: 194U, .ToReg: Hexagon::S51_50 },
1837 { .FromReg: 195U, .ToReg: Hexagon::PMUCNT3 },
1838 { .FromReg: 196U, .ToReg: Hexagon::S53_52 },
1839 { .FromReg: 197U, .ToReg: Hexagon::PMUCFG },
1840 { .FromReg: 198U, .ToReg: Hexagon::S55_54 },
1841 { .FromReg: 199U, .ToReg: Hexagon::S55 },
1842 { .FromReg: 200U, .ToReg: Hexagon::S57_56 },
1843 { .FromReg: 201U, .ToReg: Hexagon::S57 },
1844 { .FromReg: 202U, .ToReg: Hexagon::S59_58 },
1845 { .FromReg: 203U, .ToReg: Hexagon::S59 },
1846 { .FromReg: 204U, .ToReg: Hexagon::S61_60 },
1847 { .FromReg: 205U, .ToReg: Hexagon::S61 },
1848 { .FromReg: 206U, .ToReg: Hexagon::S63_62 },
1849 { .FromReg: 207U, .ToReg: Hexagon::S63 },
1850 { .FromReg: 208U, .ToReg: Hexagon::S65_64 },
1851 { .FromReg: 209U, .ToReg: Hexagon::S65 },
1852 { .FromReg: 210U, .ToReg: Hexagon::S67_66 },
1853 { .FromReg: 211U, .ToReg: Hexagon::S67 },
1854 { .FromReg: 212U, .ToReg: Hexagon::S69_68 },
1855 { .FromReg: 213U, .ToReg: Hexagon::S69 },
1856 { .FromReg: 214U, .ToReg: Hexagon::S71_70 },
1857 { .FromReg: 215U, .ToReg: Hexagon::S71 },
1858 { .FromReg: 216U, .ToReg: Hexagon::S73_72 },
1859 { .FromReg: 217U, .ToReg: Hexagon::S73 },
1860 { .FromReg: 218U, .ToReg: Hexagon::S75_74 },
1861 { .FromReg: 219U, .ToReg: Hexagon::S77_76 },
1862 { .FromReg: 220U, .ToReg: Hexagon::S79_78 },
1863 { .FromReg: 221U, .ToReg: Hexagon::S77 },
1864 { .FromReg: 222U, .ToReg: Hexagon::G3_2 },
1865 { .FromReg: 223U, .ToReg: Hexagon::S79 },
1866 { .FromReg: 224U, .ToReg: Hexagon::G5_4 },
1867 { .FromReg: 225U, .ToReg: Hexagon::G5 },
1868 { .FromReg: 226U, .ToReg: Hexagon::G7_6 },
1869 { .FromReg: 227U, .ToReg: Hexagon::G7 },
1870 { .FromReg: 228U, .ToReg: Hexagon::G9_8 },
1871 { .FromReg: 229U, .ToReg: Hexagon::G9 },
1872 { .FromReg: 230U, .ToReg: Hexagon::G11_10 },
1873 { .FromReg: 231U, .ToReg: Hexagon::G11 },
1874 { .FromReg: 232U, .ToReg: Hexagon::G13_12 },
1875 { .FromReg: 233U, .ToReg: Hexagon::G13 },
1876 { .FromReg: 234U, .ToReg: Hexagon::G15_14 },
1877 { .FromReg: 235U, .ToReg: Hexagon::G15 },
1878 { .FromReg: 236U, .ToReg: Hexagon::G17_16 },
1879 { .FromReg: 237U, .ToReg: Hexagon::GPMUCNT5 },
1880 { .FromReg: 238U, .ToReg: Hexagon::G19_18 },
1881 { .FromReg: 239U, .ToReg: Hexagon::GPMUCNT7 },
1882 { .FromReg: 240U, .ToReg: Hexagon::G21_20 },
1883 { .FromReg: 241U, .ToReg: Hexagon::G21 },
1884 { .FromReg: 242U, .ToReg: Hexagon::G23_22 },
1885 { .FromReg: 243U, .ToReg: Hexagon::G23 },
1886 { .FromReg: 244U, .ToReg: Hexagon::G25_24 },
1887 { .FromReg: 245U, .ToReg: Hexagon::GPCYCLEHI },
1888 { .FromReg: 246U, .ToReg: Hexagon::G27_26 },
1889 { .FromReg: 247U, .ToReg: Hexagon::GPMUCNT1 },
1890 { .FromReg: 248U, .ToReg: Hexagon::G29_28 },
1891 { .FromReg: 249U, .ToReg: Hexagon::GPMUCNT3 },
1892 { .FromReg: 250U, .ToReg: Hexagon::G31_30 },
1893 { .FromReg: 251U, .ToReg: Hexagon::G31 },
1894 { .FromReg: 252U, .ToReg: Hexagon::VQ0 },
1895 { .FromReg: 253U, .ToReg: Hexagon::VQ1 },
1896 { .FromReg: 254U, .ToReg: Hexagon::VQ2 },
1897 { .FromReg: 255U, .ToReg: Hexagon::VQ3 },
1898 { .FromReg: 256U, .ToReg: Hexagon::VQ4 },
1899 { .FromReg: 257U, .ToReg: Hexagon::VQ5 },
1900 { .FromReg: 258U, .ToReg: Hexagon::VQ6 },
1901 { .FromReg: 259U, .ToReg: Hexagon::VQ7 },
1902 { .FromReg: 999999U, .ToReg: Hexagon::VF0 },
1903 { .FromReg: 1000000U, .ToReg: Hexagon::VF1 },
1904 { .FromReg: 1000001U, .ToReg: Hexagon::VF2 },
1905 { .FromReg: 1000002U, .ToReg: Hexagon::VF3 },
1906 { .FromReg: 1000003U, .ToReg: Hexagon::VF4 },
1907 { .FromReg: 1000004U, .ToReg: Hexagon::VF5 },
1908 { .FromReg: 1000005U, .ToReg: Hexagon::VF6 },
1909 { .FromReg: 1000006U, .ToReg: Hexagon::VF7 },
1910 { .FromReg: 1000007U, .ToReg: Hexagon::VF8 },
1911 { .FromReg: 1000008U, .ToReg: Hexagon::VF9 },
1912 { .FromReg: 1000009U, .ToReg: Hexagon::VF10 },
1913 { .FromReg: 1000010U, .ToReg: Hexagon::VF11 },
1914 { .FromReg: 1000011U, .ToReg: Hexagon::VF12 },
1915 { .FromReg: 1000012U, .ToReg: Hexagon::VF13 },
1916 { .FromReg: 1000013U, .ToReg: Hexagon::VF14 },
1917 { .FromReg: 1000014U, .ToReg: Hexagon::VF15 },
1918 { .FromReg: 1000015U, .ToReg: Hexagon::VF16 },
1919 { .FromReg: 1000016U, .ToReg: Hexagon::VF17 },
1920 { .FromReg: 1000017U, .ToReg: Hexagon::VF18 },
1921 { .FromReg: 1000018U, .ToReg: Hexagon::VF19 },
1922 { .FromReg: 1000019U, .ToReg: Hexagon::VF20 },
1923 { .FromReg: 1000020U, .ToReg: Hexagon::VF21 },
1924 { .FromReg: 1000021U, .ToReg: Hexagon::VF22 },
1925 { .FromReg: 1000022U, .ToReg: Hexagon::VF23 },
1926 { .FromReg: 1000023U, .ToReg: Hexagon::VF24 },
1927 { .FromReg: 1000024U, .ToReg: Hexagon::VF25 },
1928 { .FromReg: 1000025U, .ToReg: Hexagon::VF26 },
1929 { .FromReg: 1000026U, .ToReg: Hexagon::VF27 },
1930 { .FromReg: 1000027U, .ToReg: Hexagon::VF28 },
1931 { .FromReg: 1000028U, .ToReg: Hexagon::VF29 },
1932 { .FromReg: 1000029U, .ToReg: Hexagon::VF30 },
1933 { .FromReg: 1000030U, .ToReg: Hexagon::VF31 },
1934 { .FromReg: 9999999U, .ToReg: Hexagon::VFR0 },
1935 { .FromReg: 10000000U, .ToReg: Hexagon::VFR1 },
1936 { .FromReg: 10000001U, .ToReg: Hexagon::VFR2 },
1937 { .FromReg: 10000002U, .ToReg: Hexagon::VFR3 },
1938 { .FromReg: 10000003U, .ToReg: Hexagon::VFR4 },
1939 { .FromReg: 10000004U, .ToReg: Hexagon::VFR5 },
1940 { .FromReg: 10000005U, .ToReg: Hexagon::VFR6 },
1941 { .FromReg: 10000006U, .ToReg: Hexagon::VFR7 },
1942 { .FromReg: 10000007U, .ToReg: Hexagon::VFR8 },
1943 { .FromReg: 10000008U, .ToReg: Hexagon::VFR9 },
1944 { .FromReg: 10000009U, .ToReg: Hexagon::VFR10 },
1945 { .FromReg: 10000010U, .ToReg: Hexagon::VFR11 },
1946 { .FromReg: 10000011U, .ToReg: Hexagon::VFR12 },
1947 { .FromReg: 10000012U, .ToReg: Hexagon::VFR13 },
1948 { .FromReg: 10000013U, .ToReg: Hexagon::VFR14 },
1949 { .FromReg: 10000014U, .ToReg: Hexagon::VFR15 },
1950 { .FromReg: 10000015U, .ToReg: Hexagon::VFR16 },
1951 { .FromReg: 10000016U, .ToReg: Hexagon::VFR17 },
1952 { .FromReg: 10000017U, .ToReg: Hexagon::VFR18 },
1953 { .FromReg: 10000018U, .ToReg: Hexagon::VFR19 },
1954 { .FromReg: 10000019U, .ToReg: Hexagon::VFR20 },
1955 { .FromReg: 10000020U, .ToReg: Hexagon::VFR21 },
1956 { .FromReg: 10000021U, .ToReg: Hexagon::VFR22 },
1957 { .FromReg: 10000022U, .ToReg: Hexagon::VFR23 },
1958 { .FromReg: 10000023U, .ToReg: Hexagon::VFR24 },
1959 { .FromReg: 10000024U, .ToReg: Hexagon::VFR25 },
1960 { .FromReg: 10000025U, .ToReg: Hexagon::VFR26 },
1961 { .FromReg: 10000026U, .ToReg: Hexagon::VFR27 },
1962 { .FromReg: 10000027U, .ToReg: Hexagon::VFR28 },
1963 { .FromReg: 10000028U, .ToReg: Hexagon::VFR29 },
1964 { .FromReg: 10000029U, .ToReg: Hexagon::VFR30 },
1965 { .FromReg: 10000030U, .ToReg: Hexagon::VFR31 },
1966};
1967extern const unsigned HexagonDwarfFlavour0Dwarf2LSize = std::size(HexagonDwarfFlavour0Dwarf2L);
1968
1969extern const MCRegisterInfo::DwarfLLVMRegPair HexagonEHFlavour0Dwarf2L[] = {
1970 { .FromReg: 0U, .ToReg: Hexagon::R0 },
1971 { .FromReg: 1U, .ToReg: Hexagon::R1 },
1972 { .FromReg: 2U, .ToReg: Hexagon::R2 },
1973 { .FromReg: 3U, .ToReg: Hexagon::R3 },
1974 { .FromReg: 4U, .ToReg: Hexagon::R4 },
1975 { .FromReg: 5U, .ToReg: Hexagon::R5 },
1976 { .FromReg: 6U, .ToReg: Hexagon::R6 },
1977 { .FromReg: 7U, .ToReg: Hexagon::R7 },
1978 { .FromReg: 8U, .ToReg: Hexagon::R8 },
1979 { .FromReg: 9U, .ToReg: Hexagon::R9 },
1980 { .FromReg: 10U, .ToReg: Hexagon::R10 },
1981 { .FromReg: 11U, .ToReg: Hexagon::R11 },
1982 { .FromReg: 12U, .ToReg: Hexagon::R12 },
1983 { .FromReg: 13U, .ToReg: Hexagon::R13 },
1984 { .FromReg: 14U, .ToReg: Hexagon::R14 },
1985 { .FromReg: 15U, .ToReg: Hexagon::R15 },
1986 { .FromReg: 16U, .ToReg: Hexagon::R16 },
1987 { .FromReg: 17U, .ToReg: Hexagon::R17 },
1988 { .FromReg: 18U, .ToReg: Hexagon::R18 },
1989 { .FromReg: 19U, .ToReg: Hexagon::R19 },
1990 { .FromReg: 20U, .ToReg: Hexagon::R20 },
1991 { .FromReg: 21U, .ToReg: Hexagon::R21 },
1992 { .FromReg: 22U, .ToReg: Hexagon::R22 },
1993 { .FromReg: 23U, .ToReg: Hexagon::R23 },
1994 { .FromReg: 24U, .ToReg: Hexagon::R24 },
1995 { .FromReg: 25U, .ToReg: Hexagon::R25 },
1996 { .FromReg: 26U, .ToReg: Hexagon::R26 },
1997 { .FromReg: 27U, .ToReg: Hexagon::R27 },
1998 { .FromReg: 28U, .ToReg: Hexagon::R28 },
1999 { .FromReg: 29U, .ToReg: Hexagon::R29 },
2000 { .FromReg: 30U, .ToReg: Hexagon::R30 },
2001 { .FromReg: 31U, .ToReg: Hexagon::R31 },
2002 { .FromReg: 32U, .ToReg: Hexagon::D0 },
2003 { .FromReg: 34U, .ToReg: Hexagon::D1 },
2004 { .FromReg: 36U, .ToReg: Hexagon::D2 },
2005 { .FromReg: 38U, .ToReg: Hexagon::D3 },
2006 { .FromReg: 40U, .ToReg: Hexagon::D4 },
2007 { .FromReg: 42U, .ToReg: Hexagon::D5 },
2008 { .FromReg: 44U, .ToReg: Hexagon::D6 },
2009 { .FromReg: 46U, .ToReg: Hexagon::D7 },
2010 { .FromReg: 48U, .ToReg: Hexagon::D8 },
2011 { .FromReg: 50U, .ToReg: Hexagon::D9 },
2012 { .FromReg: 52U, .ToReg: Hexagon::D10 },
2013 { .FromReg: 54U, .ToReg: Hexagon::D11 },
2014 { .FromReg: 56U, .ToReg: Hexagon::D12 },
2015 { .FromReg: 58U, .ToReg: Hexagon::D13 },
2016 { .FromReg: 60U, .ToReg: Hexagon::D14 },
2017 { .FromReg: 62U, .ToReg: Hexagon::D15 },
2018 { .FromReg: 63U, .ToReg: Hexagon::P0 },
2019 { .FromReg: 64U, .ToReg: Hexagon::P1 },
2020 { .FromReg: 65U, .ToReg: Hexagon::P2 },
2021 { .FromReg: 66U, .ToReg: Hexagon::P3 },
2022 { .FromReg: 67U, .ToReg: Hexagon::C1_0 },
2023 { .FromReg: 68U, .ToReg: Hexagon::LC0 },
2024 { .FromReg: 69U, .ToReg: Hexagon::C3_2 },
2025 { .FromReg: 70U, .ToReg: Hexagon::LC1 },
2026 { .FromReg: 71U, .ToReg: Hexagon::P3_0 },
2027 { .FromReg: 72U, .ToReg: Hexagon::C7_6 },
2028 { .FromReg: 73U, .ToReg: Hexagon::M0 },
2029 { .FromReg: 74U, .ToReg: Hexagon::C9_8 },
2030 { .FromReg: 75U, .ToReg: Hexagon::C8 },
2031 { .FromReg: 76U, .ToReg: Hexagon::C11_10 },
2032 { .FromReg: 77U, .ToReg: Hexagon::UGP },
2033 { .FromReg: 78U, .ToReg: Hexagon::GP },
2034 { .FromReg: 79U, .ToReg: Hexagon::CS0 },
2035 { .FromReg: 80U, .ToReg: Hexagon::CS1 },
2036 { .FromReg: 81U, .ToReg: Hexagon::UPCYCLELO },
2037 { .FromReg: 82U, .ToReg: Hexagon::UPCYCLEHI },
2038 { .FromReg: 83U, .ToReg: Hexagon::C17_16 },
2039 { .FromReg: 84U, .ToReg: Hexagon::FRAMEKEY },
2040 { .FromReg: 85U, .ToReg: Hexagon::PKTCOUNTLO },
2041 { .FromReg: 86U, .ToReg: Hexagon::PKTCOUNTHI },
2042 { .FromReg: 97U, .ToReg: Hexagon::UTIMERLO },
2043 { .FromReg: 98U, .ToReg: Hexagon::UTIMERHI },
2044 { .FromReg: 99U, .ToReg: Hexagon::W0 },
2045 { .FromReg: 100U, .ToReg: Hexagon::V1 },
2046 { .FromReg: 101U, .ToReg: Hexagon::W1 },
2047 { .FromReg: 102U, .ToReg: Hexagon::V3 },
2048 { .FromReg: 103U, .ToReg: Hexagon::W2 },
2049 { .FromReg: 104U, .ToReg: Hexagon::V5 },
2050 { .FromReg: 105U, .ToReg: Hexagon::W3 },
2051 { .FromReg: 106U, .ToReg: Hexagon::V7 },
2052 { .FromReg: 107U, .ToReg: Hexagon::W4 },
2053 { .FromReg: 108U, .ToReg: Hexagon::V9 },
2054 { .FromReg: 109U, .ToReg: Hexagon::W5 },
2055 { .FromReg: 110U, .ToReg: Hexagon::V11 },
2056 { .FromReg: 111U, .ToReg: Hexagon::W6 },
2057 { .FromReg: 112U, .ToReg: Hexagon::V13 },
2058 { .FromReg: 113U, .ToReg: Hexagon::W7 },
2059 { .FromReg: 114U, .ToReg: Hexagon::V15 },
2060 { .FromReg: 115U, .ToReg: Hexagon::W8 },
2061 { .FromReg: 116U, .ToReg: Hexagon::V17 },
2062 { .FromReg: 117U, .ToReg: Hexagon::W9 },
2063 { .FromReg: 118U, .ToReg: Hexagon::V19 },
2064 { .FromReg: 119U, .ToReg: Hexagon::W10 },
2065 { .FromReg: 120U, .ToReg: Hexagon::V21 },
2066 { .FromReg: 121U, .ToReg: Hexagon::W11 },
2067 { .FromReg: 122U, .ToReg: Hexagon::V23 },
2068 { .FromReg: 123U, .ToReg: Hexagon::W12 },
2069 { .FromReg: 124U, .ToReg: Hexagon::V25 },
2070 { .FromReg: 125U, .ToReg: Hexagon::W13 },
2071 { .FromReg: 126U, .ToReg: Hexagon::V27 },
2072 { .FromReg: 127U, .ToReg: Hexagon::W14 },
2073 { .FromReg: 128U, .ToReg: Hexagon::V29 },
2074 { .FromReg: 129U, .ToReg: Hexagon::W15 },
2075 { .FromReg: 130U, .ToReg: Hexagon::V31 },
2076 { .FromReg: 131U, .ToReg: Hexagon::Q0 },
2077 { .FromReg: 132U, .ToReg: Hexagon::Q1 },
2078 { .FromReg: 133U, .ToReg: Hexagon::Q2 },
2079 { .FromReg: 134U, .ToReg: Hexagon::Q3 },
2080 { .FromReg: 144U, .ToReg: Hexagon::SGP1_0 },
2081 { .FromReg: 145U, .ToReg: Hexagon::SGP1 },
2082 { .FromReg: 146U, .ToReg: Hexagon::S3_2 },
2083 { .FromReg: 147U, .ToReg: Hexagon::ELR },
2084 { .FromReg: 148U, .ToReg: Hexagon::S5_4 },
2085 { .FromReg: 149U, .ToReg: Hexagon::BADVA1 },
2086 { .FromReg: 150U, .ToReg: Hexagon::S7_6 },
2087 { .FromReg: 151U, .ToReg: Hexagon::CCR },
2088 { .FromReg: 152U, .ToReg: Hexagon::S9_8 },
2089 { .FromReg: 153U, .ToReg: Hexagon::BADVA },
2090 { .FromReg: 154U, .ToReg: Hexagon::S11_10 },
2091 { .FromReg: 155U, .ToReg: Hexagon::S11 },
2092 { .FromReg: 156U, .ToReg: Hexagon::S13_12 },
2093 { .FromReg: 157U, .ToReg: Hexagon::S13 },
2094 { .FromReg: 158U, .ToReg: Hexagon::S15_14 },
2095 { .FromReg: 159U, .ToReg: Hexagon::S15 },
2096 { .FromReg: 160U, .ToReg: Hexagon::S17_16 },
2097 { .FromReg: 161U, .ToReg: Hexagon::WR0 },
2098 { .FromReg: 162U, .ToReg: Hexagon::S19_18 },
2099 { .FromReg: 163U, .ToReg: Hexagon::WR2 },
2100 { .FromReg: 164U, .ToReg: Hexagon::S21_20 },
2101 { .FromReg: 165U, .ToReg: Hexagon::WR4 },
2102 { .FromReg: 166U, .ToReg: Hexagon::S23_22 },
2103 { .FromReg: 167U, .ToReg: Hexagon::WR6 },
2104 { .FromReg: 168U, .ToReg: Hexagon::S25_24 },
2105 { .FromReg: 169U, .ToReg: Hexagon::WR8 },
2106 { .FromReg: 170U, .ToReg: Hexagon::S27_26 },
2107 { .FromReg: 171U, .ToReg: Hexagon::WR10 },
2108 { .FromReg: 172U, .ToReg: Hexagon::S29_28 },
2109 { .FromReg: 173U, .ToReg: Hexagon::WR12 },
2110 { .FromReg: 174U, .ToReg: Hexagon::S31_30 },
2111 { .FromReg: 175U, .ToReg: Hexagon::WR14 },
2112 { .FromReg: 176U, .ToReg: Hexagon::S33_32 },
2113 { .FromReg: 177U, .ToReg: Hexagon::ISDBCFG0 },
2114 { .FromReg: 178U, .ToReg: Hexagon::S35_34 },
2115 { .FromReg: 179U, .ToReg: Hexagon::S35 },
2116 { .FromReg: 180U, .ToReg: Hexagon::S37_36 },
2117 { .FromReg: 181U, .ToReg: Hexagon::BRKPTCFG0 },
2118 { .FromReg: 182U, .ToReg: Hexagon::S39_38 },
2119 { .FromReg: 183U, .ToReg: Hexagon::BRKPTCFG1 },
2120 { .FromReg: 184U, .ToReg: Hexagon::S41_40 },
2121 { .FromReg: 185U, .ToReg: Hexagon::ISDBMBXOUT },
2122 { .FromReg: 186U, .ToReg: Hexagon::S43_42 },
2123 { .FromReg: 187U, .ToReg: Hexagon::ISDBGPR },
2124 { .FromReg: 188U, .ToReg: Hexagon::S45_44 },
2125 { .FromReg: 189U, .ToReg: Hexagon::S45 },
2126 { .FromReg: 190U, .ToReg: Hexagon::S47_46 },
2127 { .FromReg: 191U, .ToReg: Hexagon::S47 },
2128 { .FromReg: 192U, .ToReg: Hexagon::S49_48 },
2129 { .FromReg: 193U, .ToReg: Hexagon::PMUCNT1 },
2130 { .FromReg: 194U, .ToReg: Hexagon::S51_50 },
2131 { .FromReg: 195U, .ToReg: Hexagon::PMUCNT3 },
2132 { .FromReg: 196U, .ToReg: Hexagon::S53_52 },
2133 { .FromReg: 197U, .ToReg: Hexagon::PMUCFG },
2134 { .FromReg: 198U, .ToReg: Hexagon::S55_54 },
2135 { .FromReg: 199U, .ToReg: Hexagon::S55 },
2136 { .FromReg: 200U, .ToReg: Hexagon::S57_56 },
2137 { .FromReg: 201U, .ToReg: Hexagon::S57 },
2138 { .FromReg: 202U, .ToReg: Hexagon::S59_58 },
2139 { .FromReg: 203U, .ToReg: Hexagon::S59 },
2140 { .FromReg: 204U, .ToReg: Hexagon::S61_60 },
2141 { .FromReg: 205U, .ToReg: Hexagon::S61 },
2142 { .FromReg: 206U, .ToReg: Hexagon::S63_62 },
2143 { .FromReg: 207U, .ToReg: Hexagon::S63 },
2144 { .FromReg: 208U, .ToReg: Hexagon::S65_64 },
2145 { .FromReg: 209U, .ToReg: Hexagon::S65 },
2146 { .FromReg: 210U, .ToReg: Hexagon::S67_66 },
2147 { .FromReg: 211U, .ToReg: Hexagon::S67 },
2148 { .FromReg: 212U, .ToReg: Hexagon::S69_68 },
2149 { .FromReg: 213U, .ToReg: Hexagon::S69 },
2150 { .FromReg: 214U, .ToReg: Hexagon::S71_70 },
2151 { .FromReg: 215U, .ToReg: Hexagon::S71 },
2152 { .FromReg: 216U, .ToReg: Hexagon::S73_72 },
2153 { .FromReg: 217U, .ToReg: Hexagon::S73 },
2154 { .FromReg: 218U, .ToReg: Hexagon::S75_74 },
2155 { .FromReg: 219U, .ToReg: Hexagon::S77_76 },
2156 { .FromReg: 220U, .ToReg: Hexagon::S79_78 },
2157 { .FromReg: 221U, .ToReg: Hexagon::S77 },
2158 { .FromReg: 222U, .ToReg: Hexagon::G3_2 },
2159 { .FromReg: 223U, .ToReg: Hexagon::S79 },
2160 { .FromReg: 224U, .ToReg: Hexagon::G5_4 },
2161 { .FromReg: 225U, .ToReg: Hexagon::G5 },
2162 { .FromReg: 226U, .ToReg: Hexagon::G7_6 },
2163 { .FromReg: 227U, .ToReg: Hexagon::G7 },
2164 { .FromReg: 228U, .ToReg: Hexagon::G9_8 },
2165 { .FromReg: 229U, .ToReg: Hexagon::G9 },
2166 { .FromReg: 230U, .ToReg: Hexagon::G11_10 },
2167 { .FromReg: 231U, .ToReg: Hexagon::G11 },
2168 { .FromReg: 232U, .ToReg: Hexagon::G13_12 },
2169 { .FromReg: 233U, .ToReg: Hexagon::G13 },
2170 { .FromReg: 234U, .ToReg: Hexagon::G15_14 },
2171 { .FromReg: 235U, .ToReg: Hexagon::G15 },
2172 { .FromReg: 236U, .ToReg: Hexagon::G17_16 },
2173 { .FromReg: 237U, .ToReg: Hexagon::GPMUCNT5 },
2174 { .FromReg: 238U, .ToReg: Hexagon::G19_18 },
2175 { .FromReg: 239U, .ToReg: Hexagon::GPMUCNT7 },
2176 { .FromReg: 240U, .ToReg: Hexagon::G21_20 },
2177 { .FromReg: 241U, .ToReg: Hexagon::G21 },
2178 { .FromReg: 242U, .ToReg: Hexagon::G23_22 },
2179 { .FromReg: 243U, .ToReg: Hexagon::G23 },
2180 { .FromReg: 244U, .ToReg: Hexagon::G25_24 },
2181 { .FromReg: 245U, .ToReg: Hexagon::GPCYCLEHI },
2182 { .FromReg: 246U, .ToReg: Hexagon::G27_26 },
2183 { .FromReg: 247U, .ToReg: Hexagon::GPMUCNT1 },
2184 { .FromReg: 248U, .ToReg: Hexagon::G29_28 },
2185 { .FromReg: 249U, .ToReg: Hexagon::GPMUCNT3 },
2186 { .FromReg: 250U, .ToReg: Hexagon::G31_30 },
2187 { .FromReg: 251U, .ToReg: Hexagon::G31 },
2188 { .FromReg: 252U, .ToReg: Hexagon::VQ0 },
2189 { .FromReg: 253U, .ToReg: Hexagon::VQ1 },
2190 { .FromReg: 254U, .ToReg: Hexagon::VQ2 },
2191 { .FromReg: 255U, .ToReg: Hexagon::VQ3 },
2192 { .FromReg: 256U, .ToReg: Hexagon::VQ4 },
2193 { .FromReg: 257U, .ToReg: Hexagon::VQ5 },
2194 { .FromReg: 258U, .ToReg: Hexagon::VQ6 },
2195 { .FromReg: 259U, .ToReg: Hexagon::VQ7 },
2196 { .FromReg: 999999U, .ToReg: Hexagon::VF0 },
2197 { .FromReg: 1000000U, .ToReg: Hexagon::VF1 },
2198 { .FromReg: 1000001U, .ToReg: Hexagon::VF2 },
2199 { .FromReg: 1000002U, .ToReg: Hexagon::VF3 },
2200 { .FromReg: 1000003U, .ToReg: Hexagon::VF4 },
2201 { .FromReg: 1000004U, .ToReg: Hexagon::VF5 },
2202 { .FromReg: 1000005U, .ToReg: Hexagon::VF6 },
2203 { .FromReg: 1000006U, .ToReg: Hexagon::VF7 },
2204 { .FromReg: 1000007U, .ToReg: Hexagon::VF8 },
2205 { .FromReg: 1000008U, .ToReg: Hexagon::VF9 },
2206 { .FromReg: 1000009U, .ToReg: Hexagon::VF10 },
2207 { .FromReg: 1000010U, .ToReg: Hexagon::VF11 },
2208 { .FromReg: 1000011U, .ToReg: Hexagon::VF12 },
2209 { .FromReg: 1000012U, .ToReg: Hexagon::VF13 },
2210 { .FromReg: 1000013U, .ToReg: Hexagon::VF14 },
2211 { .FromReg: 1000014U, .ToReg: Hexagon::VF15 },
2212 { .FromReg: 1000015U, .ToReg: Hexagon::VF16 },
2213 { .FromReg: 1000016U, .ToReg: Hexagon::VF17 },
2214 { .FromReg: 1000017U, .ToReg: Hexagon::VF18 },
2215 { .FromReg: 1000018U, .ToReg: Hexagon::VF19 },
2216 { .FromReg: 1000019U, .ToReg: Hexagon::VF20 },
2217 { .FromReg: 1000020U, .ToReg: Hexagon::VF21 },
2218 { .FromReg: 1000021U, .ToReg: Hexagon::VF22 },
2219 { .FromReg: 1000022U, .ToReg: Hexagon::VF23 },
2220 { .FromReg: 1000023U, .ToReg: Hexagon::VF24 },
2221 { .FromReg: 1000024U, .ToReg: Hexagon::VF25 },
2222 { .FromReg: 1000025U, .ToReg: Hexagon::VF26 },
2223 { .FromReg: 1000026U, .ToReg: Hexagon::VF27 },
2224 { .FromReg: 1000027U, .ToReg: Hexagon::VF28 },
2225 { .FromReg: 1000028U, .ToReg: Hexagon::VF29 },
2226 { .FromReg: 1000029U, .ToReg: Hexagon::VF30 },
2227 { .FromReg: 1000030U, .ToReg: Hexagon::VF31 },
2228 { .FromReg: 9999999U, .ToReg: Hexagon::VFR0 },
2229 { .FromReg: 10000000U, .ToReg: Hexagon::VFR1 },
2230 { .FromReg: 10000001U, .ToReg: Hexagon::VFR2 },
2231 { .FromReg: 10000002U, .ToReg: Hexagon::VFR3 },
2232 { .FromReg: 10000003U, .ToReg: Hexagon::VFR4 },
2233 { .FromReg: 10000004U, .ToReg: Hexagon::VFR5 },
2234 { .FromReg: 10000005U, .ToReg: Hexagon::VFR6 },
2235 { .FromReg: 10000006U, .ToReg: Hexagon::VFR7 },
2236 { .FromReg: 10000007U, .ToReg: Hexagon::VFR8 },
2237 { .FromReg: 10000008U, .ToReg: Hexagon::VFR9 },
2238 { .FromReg: 10000009U, .ToReg: Hexagon::VFR10 },
2239 { .FromReg: 10000010U, .ToReg: Hexagon::VFR11 },
2240 { .FromReg: 10000011U, .ToReg: Hexagon::VFR12 },
2241 { .FromReg: 10000012U, .ToReg: Hexagon::VFR13 },
2242 { .FromReg: 10000013U, .ToReg: Hexagon::VFR14 },
2243 { .FromReg: 10000014U, .ToReg: Hexagon::VFR15 },
2244 { .FromReg: 10000015U, .ToReg: Hexagon::VFR16 },
2245 { .FromReg: 10000016U, .ToReg: Hexagon::VFR17 },
2246 { .FromReg: 10000017U, .ToReg: Hexagon::VFR18 },
2247 { .FromReg: 10000018U, .ToReg: Hexagon::VFR19 },
2248 { .FromReg: 10000019U, .ToReg: Hexagon::VFR20 },
2249 { .FromReg: 10000020U, .ToReg: Hexagon::VFR21 },
2250 { .FromReg: 10000021U, .ToReg: Hexagon::VFR22 },
2251 { .FromReg: 10000022U, .ToReg: Hexagon::VFR23 },
2252 { .FromReg: 10000023U, .ToReg: Hexagon::VFR24 },
2253 { .FromReg: 10000024U, .ToReg: Hexagon::VFR25 },
2254 { .FromReg: 10000025U, .ToReg: Hexagon::VFR26 },
2255 { .FromReg: 10000026U, .ToReg: Hexagon::VFR27 },
2256 { .FromReg: 10000027U, .ToReg: Hexagon::VFR28 },
2257 { .FromReg: 10000028U, .ToReg: Hexagon::VFR29 },
2258 { .FromReg: 10000029U, .ToReg: Hexagon::VFR30 },
2259 { .FromReg: 10000030U, .ToReg: Hexagon::VFR31 },
2260};
2261extern const unsigned HexagonEHFlavour0Dwarf2LSize = std::size(HexagonEHFlavour0Dwarf2L);
2262
2263extern const MCRegisterInfo::DwarfLLVMRegPair HexagonDwarfFlavour0L2Dwarf[] = {
2264 { .FromReg: Hexagon::BADVA, .ToReg: 153U },
2265 { .FromReg: Hexagon::CCR, .ToReg: 151U },
2266 { .FromReg: Hexagon::CFGBASE, .ToReg: 171U },
2267 { .FromReg: Hexagon::CS, .ToReg: 78U },
2268 { .FromReg: Hexagon::DIAG, .ToReg: 172U },
2269 { .FromReg: Hexagon::ELR, .ToReg: 147U },
2270 { .FromReg: Hexagon::EVB, .ToReg: 160U },
2271 { .FromReg: Hexagon::FRAMEKEY, .ToReg: 84U },
2272 { .FromReg: Hexagon::FRAMELIMIT, .ToReg: 83U },
2273 { .FromReg: Hexagon::GELR, .ToReg: 220U },
2274 { .FromReg: Hexagon::GOSP, .ToReg: 222U },
2275 { .FromReg: Hexagon::GP, .ToReg: 78U },
2276 { .FromReg: Hexagon::GPCYCLEHI, .ToReg: 245U },
2277 { .FromReg: Hexagon::GPCYCLELO, .ToReg: 244U },
2278 { .FromReg: Hexagon::GSR, .ToReg: 221U },
2279 { .FromReg: Hexagon::HTID, .ToReg: 152U },
2280 { .FromReg: Hexagon::IMASK, .ToReg: 154U },
2281 { .FromReg: Hexagon::ISDBEN, .ToReg: 186U },
2282 { .FromReg: Hexagon::ISDBGPR, .ToReg: 187U },
2283 { .FromReg: Hexagon::ISDBMBXIN, .ToReg: 184U },
2284 { .FromReg: Hexagon::ISDBMBXOUT, .ToReg: 185U },
2285 { .FromReg: Hexagon::ISDBST, .ToReg: 176U },
2286 { .FromReg: Hexagon::MODECTL, .ToReg: 161U },
2287 { .FromReg: Hexagon::PC, .ToReg: 76U },
2288 { .FromReg: Hexagon::PCYCLEHI, .ToReg: 175U },
2289 { .FromReg: Hexagon::PCYCLELO, .ToReg: 174U },
2290 { .FromReg: Hexagon::PKTCOUNT, .ToReg: 85U },
2291 { .FromReg: Hexagon::PKTCOUNTHI, .ToReg: 86U },
2292 { .FromReg: Hexagon::PKTCOUNTLO, .ToReg: 85U },
2293 { .FromReg: Hexagon::PMUCFG, .ToReg: 197U },
2294 { .FromReg: Hexagon::PMUEVTCFG, .ToReg: 196U },
2295 { .FromReg: Hexagon::REV, .ToReg: 173U },
2296 { .FromReg: Hexagon::SSR, .ToReg: 150U },
2297 { .FromReg: Hexagon::STID, .ToReg: 146U },
2298 { .FromReg: Hexagon::SYSCFG, .ToReg: 162U },
2299 { .FromReg: Hexagon::UGP, .ToReg: 77U },
2300 { .FromReg: Hexagon::UPCYCLE, .ToReg: 80U },
2301 { .FromReg: Hexagon::UPCYCLEHI, .ToReg: 82U },
2302 { .FromReg: Hexagon::UPCYCLELO, .ToReg: 81U },
2303 { .FromReg: Hexagon::USR, .ToReg: 75U },
2304 { .FromReg: Hexagon::UTIMER, .ToReg: 97U },
2305 { .FromReg: Hexagon::UTIMERHI, .ToReg: 98U },
2306 { .FromReg: Hexagon::UTIMERLO, .ToReg: 97U },
2307 { .FromReg: Hexagon::VID, .ToReg: 165U },
2308 { .FromReg: Hexagon::VTMP, .ToReg: 131U },
2309 { .FromReg: Hexagon::BADVA0, .ToReg: 148U },
2310 { .FromReg: Hexagon::BADVA1, .ToReg: 149U },
2311 { .FromReg: Hexagon::BRKPTCFG0, .ToReg: 181U },
2312 { .FromReg: Hexagon::BRKPTCFG1, .ToReg: 183U },
2313 { .FromReg: Hexagon::BRKPTPC0, .ToReg: 180U },
2314 { .FromReg: Hexagon::BRKPTPC1, .ToReg: 182U },
2315 { .FromReg: Hexagon::C5, .ToReg: 72U },
2316 { .FromReg: Hexagon::C8, .ToReg: 75U },
2317 { .FromReg: Hexagon::CS0, .ToReg: 79U },
2318 { .FromReg: Hexagon::CS1, .ToReg: 80U },
2319 { .FromReg: Hexagon::D0, .ToReg: 32U },
2320 { .FromReg: Hexagon::D1, .ToReg: 34U },
2321 { .FromReg: Hexagon::D2, .ToReg: 36U },
2322 { .FromReg: Hexagon::D3, .ToReg: 38U },
2323 { .FromReg: Hexagon::D4, .ToReg: 40U },
2324 { .FromReg: Hexagon::D5, .ToReg: 42U },
2325 { .FromReg: Hexagon::D6, .ToReg: 44U },
2326 { .FromReg: Hexagon::D7, .ToReg: 46U },
2327 { .FromReg: Hexagon::D8, .ToReg: 48U },
2328 { .FromReg: Hexagon::D9, .ToReg: 50U },
2329 { .FromReg: Hexagon::D10, .ToReg: 52U },
2330 { .FromReg: Hexagon::D11, .ToReg: 54U },
2331 { .FromReg: Hexagon::D12, .ToReg: 56U },
2332 { .FromReg: Hexagon::D13, .ToReg: 58U },
2333 { .FromReg: Hexagon::D14, .ToReg: 60U },
2334 { .FromReg: Hexagon::D15, .ToReg: 62U },
2335 { .FromReg: Hexagon::G3, .ToReg: 223U },
2336 { .FromReg: Hexagon::G4, .ToReg: 224U },
2337 { .FromReg: Hexagon::G5, .ToReg: 225U },
2338 { .FromReg: Hexagon::G6, .ToReg: 226U },
2339 { .FromReg: Hexagon::G7, .ToReg: 227U },
2340 { .FromReg: Hexagon::G8, .ToReg: 228U },
2341 { .FromReg: Hexagon::G9, .ToReg: 229U },
2342 { .FromReg: Hexagon::G10, .ToReg: 230U },
2343 { .FromReg: Hexagon::G11, .ToReg: 231U },
2344 { .FromReg: Hexagon::G12, .ToReg: 232U },
2345 { .FromReg: Hexagon::G13, .ToReg: 233U },
2346 { .FromReg: Hexagon::G14, .ToReg: 234U },
2347 { .FromReg: Hexagon::G15, .ToReg: 235U },
2348 { .FromReg: Hexagon::G20, .ToReg: 240U },
2349 { .FromReg: Hexagon::G21, .ToReg: 241U },
2350 { .FromReg: Hexagon::G22, .ToReg: 242U },
2351 { .FromReg: Hexagon::G23, .ToReg: 243U },
2352 { .FromReg: Hexagon::G30, .ToReg: 250U },
2353 { .FromReg: Hexagon::G31, .ToReg: 251U },
2354 { .FromReg: Hexagon::GPMUCNT0, .ToReg: 246U },
2355 { .FromReg: Hexagon::GPMUCNT1, .ToReg: 247U },
2356 { .FromReg: Hexagon::GPMUCNT2, .ToReg: 248U },
2357 { .FromReg: Hexagon::GPMUCNT3, .ToReg: 249U },
2358 { .FromReg: Hexagon::GPMUCNT4, .ToReg: 236U },
2359 { .FromReg: Hexagon::GPMUCNT5, .ToReg: 237U },
2360 { .FromReg: Hexagon::GPMUCNT6, .ToReg: 238U },
2361 { .FromReg: Hexagon::GPMUCNT7, .ToReg: 239U },
2362 { .FromReg: Hexagon::ISDBCFG0, .ToReg: 177U },
2363 { .FromReg: Hexagon::ISDBCFG1, .ToReg: 178U },
2364 { .FromReg: Hexagon::LC0, .ToReg: 68U },
2365 { .FromReg: Hexagon::LC1, .ToReg: 70U },
2366 { .FromReg: Hexagon::M0, .ToReg: 73U },
2367 { .FromReg: Hexagon::M1, .ToReg: 74U },
2368 { .FromReg: Hexagon::P0, .ToReg: 63U },
2369 { .FromReg: Hexagon::P1, .ToReg: 64U },
2370 { .FromReg: Hexagon::P2, .ToReg: 65U },
2371 { .FromReg: Hexagon::P3, .ToReg: 66U },
2372 { .FromReg: Hexagon::PMUCNT0, .ToReg: 192U },
2373 { .FromReg: Hexagon::PMUCNT1, .ToReg: 193U },
2374 { .FromReg: Hexagon::PMUCNT2, .ToReg: 194U },
2375 { .FromReg: Hexagon::PMUCNT3, .ToReg: 195U },
2376 { .FromReg: Hexagon::Q0, .ToReg: 131U },
2377 { .FromReg: Hexagon::Q1, .ToReg: 132U },
2378 { .FromReg: Hexagon::Q2, .ToReg: 133U },
2379 { .FromReg: Hexagon::Q3, .ToReg: 134U },
2380 { .FromReg: Hexagon::R0, .ToReg: 0U },
2381 { .FromReg: Hexagon::R1, .ToReg: 1U },
2382 { .FromReg: Hexagon::R2, .ToReg: 2U },
2383 { .FromReg: Hexagon::R3, .ToReg: 3U },
2384 { .FromReg: Hexagon::R4, .ToReg: 4U },
2385 { .FromReg: Hexagon::R5, .ToReg: 5U },
2386 { .FromReg: Hexagon::R6, .ToReg: 6U },
2387 { .FromReg: Hexagon::R7, .ToReg: 7U },
2388 { .FromReg: Hexagon::R8, .ToReg: 8U },
2389 { .FromReg: Hexagon::R9, .ToReg: 9U },
2390 { .FromReg: Hexagon::R10, .ToReg: 10U },
2391 { .FromReg: Hexagon::R11, .ToReg: 11U },
2392 { .FromReg: Hexagon::R12, .ToReg: 12U },
2393 { .FromReg: Hexagon::R13, .ToReg: 13U },
2394 { .FromReg: Hexagon::R14, .ToReg: 14U },
2395 { .FromReg: Hexagon::R15, .ToReg: 15U },
2396 { .FromReg: Hexagon::R16, .ToReg: 16U },
2397 { .FromReg: Hexagon::R17, .ToReg: 17U },
2398 { .FromReg: Hexagon::R18, .ToReg: 18U },
2399 { .FromReg: Hexagon::R19, .ToReg: 19U },
2400 { .FromReg: Hexagon::R20, .ToReg: 20U },
2401 { .FromReg: Hexagon::R21, .ToReg: 21U },
2402 { .FromReg: Hexagon::R22, .ToReg: 22U },
2403 { .FromReg: Hexagon::R23, .ToReg: 23U },
2404 { .FromReg: Hexagon::R24, .ToReg: 24U },
2405 { .FromReg: Hexagon::R25, .ToReg: 25U },
2406 { .FromReg: Hexagon::R26, .ToReg: 26U },
2407 { .FromReg: Hexagon::R27, .ToReg: 27U },
2408 { .FromReg: Hexagon::R28, .ToReg: 28U },
2409 { .FromReg: Hexagon::R29, .ToReg: 29U },
2410 { .FromReg: Hexagon::R30, .ToReg: 30U },
2411 { .FromReg: Hexagon::R31, .ToReg: 31U },
2412 { .FromReg: Hexagon::S11, .ToReg: 155U },
2413 { .FromReg: Hexagon::S12, .ToReg: 156U },
2414 { .FromReg: Hexagon::S13, .ToReg: 157U },
2415 { .FromReg: Hexagon::S14, .ToReg: 158U },
2416 { .FromReg: Hexagon::S15, .ToReg: 159U },
2417 { .FromReg: Hexagon::S19, .ToReg: 163U },
2418 { .FromReg: Hexagon::S20, .ToReg: 164U },
2419 { .FromReg: Hexagon::S22, .ToReg: 166U },
2420 { .FromReg: Hexagon::S23, .ToReg: 167U },
2421 { .FromReg: Hexagon::S24, .ToReg: 168U },
2422 { .FromReg: Hexagon::S25, .ToReg: 169U },
2423 { .FromReg: Hexagon::S26, .ToReg: 170U },
2424 { .FromReg: Hexagon::S35, .ToReg: 179U },
2425 { .FromReg: Hexagon::S44, .ToReg: 188U },
2426 { .FromReg: Hexagon::S45, .ToReg: 189U },
2427 { .FromReg: Hexagon::S46, .ToReg: 190U },
2428 { .FromReg: Hexagon::S47, .ToReg: 191U },
2429 { .FromReg: Hexagon::S54, .ToReg: 198U },
2430 { .FromReg: Hexagon::S55, .ToReg: 199U },
2431 { .FromReg: Hexagon::S56, .ToReg: 200U },
2432 { .FromReg: Hexagon::S57, .ToReg: 201U },
2433 { .FromReg: Hexagon::S58, .ToReg: 202U },
2434 { .FromReg: Hexagon::S59, .ToReg: 203U },
2435 { .FromReg: Hexagon::S60, .ToReg: 204U },
2436 { .FromReg: Hexagon::S61, .ToReg: 205U },
2437 { .FromReg: Hexagon::S62, .ToReg: 206U },
2438 { .FromReg: Hexagon::S63, .ToReg: 207U },
2439 { .FromReg: Hexagon::S64, .ToReg: 208U },
2440 { .FromReg: Hexagon::S65, .ToReg: 209U },
2441 { .FromReg: Hexagon::S66, .ToReg: 210U },
2442 { .FromReg: Hexagon::S67, .ToReg: 211U },
2443 { .FromReg: Hexagon::S68, .ToReg: 212U },
2444 { .FromReg: Hexagon::S69, .ToReg: 213U },
2445 { .FromReg: Hexagon::S70, .ToReg: 214U },
2446 { .FromReg: Hexagon::S71, .ToReg: 215U },
2447 { .FromReg: Hexagon::S72, .ToReg: 216U },
2448 { .FromReg: Hexagon::S73, .ToReg: 217U },
2449 { .FromReg: Hexagon::S74, .ToReg: 218U },
2450 { .FromReg: Hexagon::S75, .ToReg: 219U },
2451 { .FromReg: Hexagon::S76, .ToReg: 220U },
2452 { .FromReg: Hexagon::S77, .ToReg: 221U },
2453 { .FromReg: Hexagon::S78, .ToReg: 222U },
2454 { .FromReg: Hexagon::S79, .ToReg: 223U },
2455 { .FromReg: Hexagon::S80, .ToReg: 224U },
2456 { .FromReg: Hexagon::SA0, .ToReg: 67U },
2457 { .FromReg: Hexagon::SA1, .ToReg: 69U },
2458 { .FromReg: Hexagon::SGP0, .ToReg: 144U },
2459 { .FromReg: Hexagon::SGP1, .ToReg: 145U },
2460 { .FromReg: Hexagon::V0, .ToReg: 99U },
2461 { .FromReg: Hexagon::V1, .ToReg: 100U },
2462 { .FromReg: Hexagon::V2, .ToReg: 101U },
2463 { .FromReg: Hexagon::V3, .ToReg: 102U },
2464 { .FromReg: Hexagon::V4, .ToReg: 103U },
2465 { .FromReg: Hexagon::V5, .ToReg: 104U },
2466 { .FromReg: Hexagon::V6, .ToReg: 105U },
2467 { .FromReg: Hexagon::V7, .ToReg: 106U },
2468 { .FromReg: Hexagon::V8, .ToReg: 107U },
2469 { .FromReg: Hexagon::V9, .ToReg: 108U },
2470 { .FromReg: Hexagon::V10, .ToReg: 109U },
2471 { .FromReg: Hexagon::V11, .ToReg: 110U },
2472 { .FromReg: Hexagon::V12, .ToReg: 111U },
2473 { .FromReg: Hexagon::V13, .ToReg: 112U },
2474 { .FromReg: Hexagon::V14, .ToReg: 113U },
2475 { .FromReg: Hexagon::V15, .ToReg: 114U },
2476 { .FromReg: Hexagon::V16, .ToReg: 115U },
2477 { .FromReg: Hexagon::V17, .ToReg: 116U },
2478 { .FromReg: Hexagon::V18, .ToReg: 117U },
2479 { .FromReg: Hexagon::V19, .ToReg: 118U },
2480 { .FromReg: Hexagon::V20, .ToReg: 119U },
2481 { .FromReg: Hexagon::V21, .ToReg: 120U },
2482 { .FromReg: Hexagon::V22, .ToReg: 121U },
2483 { .FromReg: Hexagon::V23, .ToReg: 122U },
2484 { .FromReg: Hexagon::V24, .ToReg: 123U },
2485 { .FromReg: Hexagon::V25, .ToReg: 124U },
2486 { .FromReg: Hexagon::V26, .ToReg: 125U },
2487 { .FromReg: Hexagon::V27, .ToReg: 126U },
2488 { .FromReg: Hexagon::V28, .ToReg: 127U },
2489 { .FromReg: Hexagon::V29, .ToReg: 128U },
2490 { .FromReg: Hexagon::V30, .ToReg: 129U },
2491 { .FromReg: Hexagon::V31, .ToReg: 130U },
2492 { .FromReg: Hexagon::VF0, .ToReg: 999999U },
2493 { .FromReg: Hexagon::VF1, .ToReg: 1000000U },
2494 { .FromReg: Hexagon::VF2, .ToReg: 1000001U },
2495 { .FromReg: Hexagon::VF3, .ToReg: 1000002U },
2496 { .FromReg: Hexagon::VF4, .ToReg: 1000003U },
2497 { .FromReg: Hexagon::VF5, .ToReg: 1000004U },
2498 { .FromReg: Hexagon::VF6, .ToReg: 1000005U },
2499 { .FromReg: Hexagon::VF7, .ToReg: 1000006U },
2500 { .FromReg: Hexagon::VF8, .ToReg: 1000007U },
2501 { .FromReg: Hexagon::VF9, .ToReg: 1000008U },
2502 { .FromReg: Hexagon::VF10, .ToReg: 1000009U },
2503 { .FromReg: Hexagon::VF11, .ToReg: 1000010U },
2504 { .FromReg: Hexagon::VF12, .ToReg: 1000011U },
2505 { .FromReg: Hexagon::VF13, .ToReg: 1000012U },
2506 { .FromReg: Hexagon::VF14, .ToReg: 1000013U },
2507 { .FromReg: Hexagon::VF15, .ToReg: 1000014U },
2508 { .FromReg: Hexagon::VF16, .ToReg: 1000015U },
2509 { .FromReg: Hexagon::VF17, .ToReg: 1000016U },
2510 { .FromReg: Hexagon::VF18, .ToReg: 1000017U },
2511 { .FromReg: Hexagon::VF19, .ToReg: 1000018U },
2512 { .FromReg: Hexagon::VF20, .ToReg: 1000019U },
2513 { .FromReg: Hexagon::VF21, .ToReg: 1000020U },
2514 { .FromReg: Hexagon::VF22, .ToReg: 1000021U },
2515 { .FromReg: Hexagon::VF23, .ToReg: 1000022U },
2516 { .FromReg: Hexagon::VF24, .ToReg: 1000023U },
2517 { .FromReg: Hexagon::VF25, .ToReg: 1000024U },
2518 { .FromReg: Hexagon::VF26, .ToReg: 1000025U },
2519 { .FromReg: Hexagon::VF27, .ToReg: 1000026U },
2520 { .FromReg: Hexagon::VF28, .ToReg: 1000027U },
2521 { .FromReg: Hexagon::VF29, .ToReg: 1000028U },
2522 { .FromReg: Hexagon::VF30, .ToReg: 1000029U },
2523 { .FromReg: Hexagon::VF31, .ToReg: 1000030U },
2524 { .FromReg: Hexagon::VFR0, .ToReg: 9999999U },
2525 { .FromReg: Hexagon::VFR1, .ToReg: 10000000U },
2526 { .FromReg: Hexagon::VFR2, .ToReg: 10000001U },
2527 { .FromReg: Hexagon::VFR3, .ToReg: 10000002U },
2528 { .FromReg: Hexagon::VFR4, .ToReg: 10000003U },
2529 { .FromReg: Hexagon::VFR5, .ToReg: 10000004U },
2530 { .FromReg: Hexagon::VFR6, .ToReg: 10000005U },
2531 { .FromReg: Hexagon::VFR7, .ToReg: 10000006U },
2532 { .FromReg: Hexagon::VFR8, .ToReg: 10000007U },
2533 { .FromReg: Hexagon::VFR9, .ToReg: 10000008U },
2534 { .FromReg: Hexagon::VFR10, .ToReg: 10000009U },
2535 { .FromReg: Hexagon::VFR11, .ToReg: 10000010U },
2536 { .FromReg: Hexagon::VFR12, .ToReg: 10000011U },
2537 { .FromReg: Hexagon::VFR13, .ToReg: 10000012U },
2538 { .FromReg: Hexagon::VFR14, .ToReg: 10000013U },
2539 { .FromReg: Hexagon::VFR15, .ToReg: 10000014U },
2540 { .FromReg: Hexagon::VFR16, .ToReg: 10000015U },
2541 { .FromReg: Hexagon::VFR17, .ToReg: 10000016U },
2542 { .FromReg: Hexagon::VFR18, .ToReg: 10000017U },
2543 { .FromReg: Hexagon::VFR19, .ToReg: 10000018U },
2544 { .FromReg: Hexagon::VFR20, .ToReg: 10000019U },
2545 { .FromReg: Hexagon::VFR21, .ToReg: 10000020U },
2546 { .FromReg: Hexagon::VFR22, .ToReg: 10000021U },
2547 { .FromReg: Hexagon::VFR23, .ToReg: 10000022U },
2548 { .FromReg: Hexagon::VFR24, .ToReg: 10000023U },
2549 { .FromReg: Hexagon::VFR25, .ToReg: 10000024U },
2550 { .FromReg: Hexagon::VFR26, .ToReg: 10000025U },
2551 { .FromReg: Hexagon::VFR27, .ToReg: 10000026U },
2552 { .FromReg: Hexagon::VFR28, .ToReg: 10000027U },
2553 { .FromReg: Hexagon::VFR29, .ToReg: 10000028U },
2554 { .FromReg: Hexagon::VFR30, .ToReg: 10000029U },
2555 { .FromReg: Hexagon::VFR31, .ToReg: 10000030U },
2556 { .FromReg: Hexagon::VQ0, .ToReg: 252U },
2557 { .FromReg: Hexagon::VQ1, .ToReg: 253U },
2558 { .FromReg: Hexagon::VQ2, .ToReg: 254U },
2559 { .FromReg: Hexagon::VQ3, .ToReg: 255U },
2560 { .FromReg: Hexagon::VQ4, .ToReg: 256U },
2561 { .FromReg: Hexagon::VQ5, .ToReg: 257U },
2562 { .FromReg: Hexagon::VQ6, .ToReg: 258U },
2563 { .FromReg: Hexagon::VQ7, .ToReg: 259U },
2564 { .FromReg: Hexagon::W0, .ToReg: 99U },
2565 { .FromReg: Hexagon::W1, .ToReg: 101U },
2566 { .FromReg: Hexagon::W2, .ToReg: 103U },
2567 { .FromReg: Hexagon::W3, .ToReg: 105U },
2568 { .FromReg: Hexagon::W4, .ToReg: 107U },
2569 { .FromReg: Hexagon::W5, .ToReg: 109U },
2570 { .FromReg: Hexagon::W6, .ToReg: 111U },
2571 { .FromReg: Hexagon::W7, .ToReg: 113U },
2572 { .FromReg: Hexagon::W8, .ToReg: 115U },
2573 { .FromReg: Hexagon::W9, .ToReg: 117U },
2574 { .FromReg: Hexagon::W10, .ToReg: 119U },
2575 { .FromReg: Hexagon::W11, .ToReg: 121U },
2576 { .FromReg: Hexagon::W12, .ToReg: 123U },
2577 { .FromReg: Hexagon::W13, .ToReg: 125U },
2578 { .FromReg: Hexagon::W14, .ToReg: 127U },
2579 { .FromReg: Hexagon::W15, .ToReg: 129U },
2580 { .FromReg: Hexagon::WR0, .ToReg: 161U },
2581 { .FromReg: Hexagon::WR1, .ToReg: 162U },
2582 { .FromReg: Hexagon::WR2, .ToReg: 163U },
2583 { .FromReg: Hexagon::WR3, .ToReg: 164U },
2584 { .FromReg: Hexagon::WR4, .ToReg: 165U },
2585 { .FromReg: Hexagon::WR5, .ToReg: 166U },
2586 { .FromReg: Hexagon::WR6, .ToReg: 167U },
2587 { .FromReg: Hexagon::WR7, .ToReg: 168U },
2588 { .FromReg: Hexagon::WR8, .ToReg: 169U },
2589 { .FromReg: Hexagon::WR9, .ToReg: 170U },
2590 { .FromReg: Hexagon::WR10, .ToReg: 171U },
2591 { .FromReg: Hexagon::WR11, .ToReg: 172U },
2592 { .FromReg: Hexagon::WR12, .ToReg: 173U },
2593 { .FromReg: Hexagon::WR13, .ToReg: 174U },
2594 { .FromReg: Hexagon::WR14, .ToReg: 175U },
2595 { .FromReg: Hexagon::WR15, .ToReg: 176U },
2596 { .FromReg: Hexagon::C1_0, .ToReg: 67U },
2597 { .FromReg: Hexagon::C3_2, .ToReg: 69U },
2598 { .FromReg: Hexagon::C5_4, .ToReg: 71U },
2599 { .FromReg: Hexagon::C7_6, .ToReg: 72U },
2600 { .FromReg: Hexagon::C9_8, .ToReg: 74U },
2601 { .FromReg: Hexagon::C11_10, .ToReg: 76U },
2602 { .FromReg: Hexagon::C17_16, .ToReg: 83U },
2603 { .FromReg: Hexagon::G1_0, .ToReg: 220U },
2604 { .FromReg: Hexagon::G3_2, .ToReg: 222U },
2605 { .FromReg: Hexagon::G5_4, .ToReg: 224U },
2606 { .FromReg: Hexagon::G7_6, .ToReg: 226U },
2607 { .FromReg: Hexagon::G9_8, .ToReg: 228U },
2608 { .FromReg: Hexagon::G11_10, .ToReg: 230U },
2609 { .FromReg: Hexagon::G13_12, .ToReg: 232U },
2610 { .FromReg: Hexagon::G15_14, .ToReg: 234U },
2611 { .FromReg: Hexagon::G17_16, .ToReg: 236U },
2612 { .FromReg: Hexagon::G19_18, .ToReg: 238U },
2613 { .FromReg: Hexagon::G21_20, .ToReg: 240U },
2614 { .FromReg: Hexagon::G23_22, .ToReg: 242U },
2615 { .FromReg: Hexagon::G25_24, .ToReg: 244U },
2616 { .FromReg: Hexagon::G27_26, .ToReg: 246U },
2617 { .FromReg: Hexagon::G29_28, .ToReg: 248U },
2618 { .FromReg: Hexagon::G31_30, .ToReg: 250U },
2619 { .FromReg: Hexagon::P3_0, .ToReg: 71U },
2620 { .FromReg: Hexagon::S3_2, .ToReg: 146U },
2621 { .FromReg: Hexagon::S5_4, .ToReg: 148U },
2622 { .FromReg: Hexagon::S7_6, .ToReg: 150U },
2623 { .FromReg: Hexagon::S9_8, .ToReg: 152U },
2624 { .FromReg: Hexagon::S11_10, .ToReg: 154U },
2625 { .FromReg: Hexagon::S13_12, .ToReg: 156U },
2626 { .FromReg: Hexagon::S15_14, .ToReg: 158U },
2627 { .FromReg: Hexagon::S17_16, .ToReg: 160U },
2628 { .FromReg: Hexagon::S19_18, .ToReg: 162U },
2629 { .FromReg: Hexagon::S21_20, .ToReg: 164U },
2630 { .FromReg: Hexagon::S23_22, .ToReg: 166U },
2631 { .FromReg: Hexagon::S25_24, .ToReg: 168U },
2632 { .FromReg: Hexagon::S27_26, .ToReg: 170U },
2633 { .FromReg: Hexagon::S29_28, .ToReg: 172U },
2634 { .FromReg: Hexagon::S31_30, .ToReg: 174U },
2635 { .FromReg: Hexagon::S33_32, .ToReg: 176U },
2636 { .FromReg: Hexagon::S35_34, .ToReg: 178U },
2637 { .FromReg: Hexagon::S37_36, .ToReg: 180U },
2638 { .FromReg: Hexagon::S39_38, .ToReg: 182U },
2639 { .FromReg: Hexagon::S41_40, .ToReg: 184U },
2640 { .FromReg: Hexagon::S43_42, .ToReg: 186U },
2641 { .FromReg: Hexagon::S45_44, .ToReg: 188U },
2642 { .FromReg: Hexagon::S47_46, .ToReg: 190U },
2643 { .FromReg: Hexagon::S49_48, .ToReg: 192U },
2644 { .FromReg: Hexagon::S51_50, .ToReg: 194U },
2645 { .FromReg: Hexagon::S53_52, .ToReg: 196U },
2646 { .FromReg: Hexagon::S55_54, .ToReg: 198U },
2647 { .FromReg: Hexagon::S57_56, .ToReg: 200U },
2648 { .FromReg: Hexagon::S59_58, .ToReg: 202U },
2649 { .FromReg: Hexagon::S61_60, .ToReg: 204U },
2650 { .FromReg: Hexagon::S63_62, .ToReg: 206U },
2651 { .FromReg: Hexagon::S65_64, .ToReg: 208U },
2652 { .FromReg: Hexagon::S67_66, .ToReg: 210U },
2653 { .FromReg: Hexagon::S69_68, .ToReg: 212U },
2654 { .FromReg: Hexagon::S71_70, .ToReg: 214U },
2655 { .FromReg: Hexagon::S73_72, .ToReg: 216U },
2656 { .FromReg: Hexagon::S75_74, .ToReg: 218U },
2657 { .FromReg: Hexagon::S77_76, .ToReg: 219U },
2658 { .FromReg: Hexagon::S79_78, .ToReg: 220U },
2659 { .FromReg: Hexagon::SGP1_0, .ToReg: 144U },
2660};
2661extern const unsigned HexagonDwarfFlavour0L2DwarfSize = std::size(HexagonDwarfFlavour0L2Dwarf);
2662
2663extern const MCRegisterInfo::DwarfLLVMRegPair HexagonEHFlavour0L2Dwarf[] = {
2664 { .FromReg: Hexagon::BADVA, .ToReg: 153U },
2665 { .FromReg: Hexagon::CCR, .ToReg: 151U },
2666 { .FromReg: Hexagon::CFGBASE, .ToReg: 171U },
2667 { .FromReg: Hexagon::CS, .ToReg: 78U },
2668 { .FromReg: Hexagon::DIAG, .ToReg: 172U },
2669 { .FromReg: Hexagon::ELR, .ToReg: 147U },
2670 { .FromReg: Hexagon::EVB, .ToReg: 160U },
2671 { .FromReg: Hexagon::FRAMEKEY, .ToReg: 84U },
2672 { .FromReg: Hexagon::FRAMELIMIT, .ToReg: 83U },
2673 { .FromReg: Hexagon::GELR, .ToReg: 220U },
2674 { .FromReg: Hexagon::GOSP, .ToReg: 222U },
2675 { .FromReg: Hexagon::GP, .ToReg: 78U },
2676 { .FromReg: Hexagon::GPCYCLEHI, .ToReg: 245U },
2677 { .FromReg: Hexagon::GPCYCLELO, .ToReg: 244U },
2678 { .FromReg: Hexagon::GSR, .ToReg: 221U },
2679 { .FromReg: Hexagon::HTID, .ToReg: 152U },
2680 { .FromReg: Hexagon::IMASK, .ToReg: 154U },
2681 { .FromReg: Hexagon::ISDBEN, .ToReg: 186U },
2682 { .FromReg: Hexagon::ISDBGPR, .ToReg: 187U },
2683 { .FromReg: Hexagon::ISDBMBXIN, .ToReg: 184U },
2684 { .FromReg: Hexagon::ISDBMBXOUT, .ToReg: 185U },
2685 { .FromReg: Hexagon::ISDBST, .ToReg: 176U },
2686 { .FromReg: Hexagon::MODECTL, .ToReg: 161U },
2687 { .FromReg: Hexagon::PC, .ToReg: 76U },
2688 { .FromReg: Hexagon::PCYCLEHI, .ToReg: 175U },
2689 { .FromReg: Hexagon::PCYCLELO, .ToReg: 174U },
2690 { .FromReg: Hexagon::PKTCOUNT, .ToReg: 85U },
2691 { .FromReg: Hexagon::PKTCOUNTHI, .ToReg: 86U },
2692 { .FromReg: Hexagon::PKTCOUNTLO, .ToReg: 85U },
2693 { .FromReg: Hexagon::PMUCFG, .ToReg: 197U },
2694 { .FromReg: Hexagon::PMUEVTCFG, .ToReg: 196U },
2695 { .FromReg: Hexagon::REV, .ToReg: 173U },
2696 { .FromReg: Hexagon::SSR, .ToReg: 150U },
2697 { .FromReg: Hexagon::STID, .ToReg: 146U },
2698 { .FromReg: Hexagon::SYSCFG, .ToReg: 162U },
2699 { .FromReg: Hexagon::UGP, .ToReg: 77U },
2700 { .FromReg: Hexagon::UPCYCLE, .ToReg: 80U },
2701 { .FromReg: Hexagon::UPCYCLEHI, .ToReg: 82U },
2702 { .FromReg: Hexagon::UPCYCLELO, .ToReg: 81U },
2703 { .FromReg: Hexagon::USR, .ToReg: 75U },
2704 { .FromReg: Hexagon::UTIMER, .ToReg: 97U },
2705 { .FromReg: Hexagon::UTIMERHI, .ToReg: 98U },
2706 { .FromReg: Hexagon::UTIMERLO, .ToReg: 97U },
2707 { .FromReg: Hexagon::VID, .ToReg: 165U },
2708 { .FromReg: Hexagon::VTMP, .ToReg: 131U },
2709 { .FromReg: Hexagon::BADVA0, .ToReg: 148U },
2710 { .FromReg: Hexagon::BADVA1, .ToReg: 149U },
2711 { .FromReg: Hexagon::BRKPTCFG0, .ToReg: 181U },
2712 { .FromReg: Hexagon::BRKPTCFG1, .ToReg: 183U },
2713 { .FromReg: Hexagon::BRKPTPC0, .ToReg: 180U },
2714 { .FromReg: Hexagon::BRKPTPC1, .ToReg: 182U },
2715 { .FromReg: Hexagon::C5, .ToReg: 72U },
2716 { .FromReg: Hexagon::C8, .ToReg: 75U },
2717 { .FromReg: Hexagon::CS0, .ToReg: 79U },
2718 { .FromReg: Hexagon::CS1, .ToReg: 80U },
2719 { .FromReg: Hexagon::D0, .ToReg: 32U },
2720 { .FromReg: Hexagon::D1, .ToReg: 34U },
2721 { .FromReg: Hexagon::D2, .ToReg: 36U },
2722 { .FromReg: Hexagon::D3, .ToReg: 38U },
2723 { .FromReg: Hexagon::D4, .ToReg: 40U },
2724 { .FromReg: Hexagon::D5, .ToReg: 42U },
2725 { .FromReg: Hexagon::D6, .ToReg: 44U },
2726 { .FromReg: Hexagon::D7, .ToReg: 46U },
2727 { .FromReg: Hexagon::D8, .ToReg: 48U },
2728 { .FromReg: Hexagon::D9, .ToReg: 50U },
2729 { .FromReg: Hexagon::D10, .ToReg: 52U },
2730 { .FromReg: Hexagon::D11, .ToReg: 54U },
2731 { .FromReg: Hexagon::D12, .ToReg: 56U },
2732 { .FromReg: Hexagon::D13, .ToReg: 58U },
2733 { .FromReg: Hexagon::D14, .ToReg: 60U },
2734 { .FromReg: Hexagon::D15, .ToReg: 62U },
2735 { .FromReg: Hexagon::G3, .ToReg: 223U },
2736 { .FromReg: Hexagon::G4, .ToReg: 224U },
2737 { .FromReg: Hexagon::G5, .ToReg: 225U },
2738 { .FromReg: Hexagon::G6, .ToReg: 226U },
2739 { .FromReg: Hexagon::G7, .ToReg: 227U },
2740 { .FromReg: Hexagon::G8, .ToReg: 228U },
2741 { .FromReg: Hexagon::G9, .ToReg: 229U },
2742 { .FromReg: Hexagon::G10, .ToReg: 230U },
2743 { .FromReg: Hexagon::G11, .ToReg: 231U },
2744 { .FromReg: Hexagon::G12, .ToReg: 232U },
2745 { .FromReg: Hexagon::G13, .ToReg: 233U },
2746 { .FromReg: Hexagon::G14, .ToReg: 234U },
2747 { .FromReg: Hexagon::G15, .ToReg: 235U },
2748 { .FromReg: Hexagon::G20, .ToReg: 240U },
2749 { .FromReg: Hexagon::G21, .ToReg: 241U },
2750 { .FromReg: Hexagon::G22, .ToReg: 242U },
2751 { .FromReg: Hexagon::G23, .ToReg: 243U },
2752 { .FromReg: Hexagon::G30, .ToReg: 250U },
2753 { .FromReg: Hexagon::G31, .ToReg: 251U },
2754 { .FromReg: Hexagon::GPMUCNT0, .ToReg: 246U },
2755 { .FromReg: Hexagon::GPMUCNT1, .ToReg: 247U },
2756 { .FromReg: Hexagon::GPMUCNT2, .ToReg: 248U },
2757 { .FromReg: Hexagon::GPMUCNT3, .ToReg: 249U },
2758 { .FromReg: Hexagon::GPMUCNT4, .ToReg: 236U },
2759 { .FromReg: Hexagon::GPMUCNT5, .ToReg: 237U },
2760 { .FromReg: Hexagon::GPMUCNT6, .ToReg: 238U },
2761 { .FromReg: Hexagon::GPMUCNT7, .ToReg: 239U },
2762 { .FromReg: Hexagon::ISDBCFG0, .ToReg: 177U },
2763 { .FromReg: Hexagon::ISDBCFG1, .ToReg: 178U },
2764 { .FromReg: Hexagon::LC0, .ToReg: 68U },
2765 { .FromReg: Hexagon::LC1, .ToReg: 70U },
2766 { .FromReg: Hexagon::M0, .ToReg: 73U },
2767 { .FromReg: Hexagon::M1, .ToReg: 74U },
2768 { .FromReg: Hexagon::P0, .ToReg: 63U },
2769 { .FromReg: Hexagon::P1, .ToReg: 64U },
2770 { .FromReg: Hexagon::P2, .ToReg: 65U },
2771 { .FromReg: Hexagon::P3, .ToReg: 66U },
2772 { .FromReg: Hexagon::PMUCNT0, .ToReg: 192U },
2773 { .FromReg: Hexagon::PMUCNT1, .ToReg: 193U },
2774 { .FromReg: Hexagon::PMUCNT2, .ToReg: 194U },
2775 { .FromReg: Hexagon::PMUCNT3, .ToReg: 195U },
2776 { .FromReg: Hexagon::Q0, .ToReg: 131U },
2777 { .FromReg: Hexagon::Q1, .ToReg: 132U },
2778 { .FromReg: Hexagon::Q2, .ToReg: 133U },
2779 { .FromReg: Hexagon::Q3, .ToReg: 134U },
2780 { .FromReg: Hexagon::R0, .ToReg: 0U },
2781 { .FromReg: Hexagon::R1, .ToReg: 1U },
2782 { .FromReg: Hexagon::R2, .ToReg: 2U },
2783 { .FromReg: Hexagon::R3, .ToReg: 3U },
2784 { .FromReg: Hexagon::R4, .ToReg: 4U },
2785 { .FromReg: Hexagon::R5, .ToReg: 5U },
2786 { .FromReg: Hexagon::R6, .ToReg: 6U },
2787 { .FromReg: Hexagon::R7, .ToReg: 7U },
2788 { .FromReg: Hexagon::R8, .ToReg: 8U },
2789 { .FromReg: Hexagon::R9, .ToReg: 9U },
2790 { .FromReg: Hexagon::R10, .ToReg: 10U },
2791 { .FromReg: Hexagon::R11, .ToReg: 11U },
2792 { .FromReg: Hexagon::R12, .ToReg: 12U },
2793 { .FromReg: Hexagon::R13, .ToReg: 13U },
2794 { .FromReg: Hexagon::R14, .ToReg: 14U },
2795 { .FromReg: Hexagon::R15, .ToReg: 15U },
2796 { .FromReg: Hexagon::R16, .ToReg: 16U },
2797 { .FromReg: Hexagon::R17, .ToReg: 17U },
2798 { .FromReg: Hexagon::R18, .ToReg: 18U },
2799 { .FromReg: Hexagon::R19, .ToReg: 19U },
2800 { .FromReg: Hexagon::R20, .ToReg: 20U },
2801 { .FromReg: Hexagon::R21, .ToReg: 21U },
2802 { .FromReg: Hexagon::R22, .ToReg: 22U },
2803 { .FromReg: Hexagon::R23, .ToReg: 23U },
2804 { .FromReg: Hexagon::R24, .ToReg: 24U },
2805 { .FromReg: Hexagon::R25, .ToReg: 25U },
2806 { .FromReg: Hexagon::R26, .ToReg: 26U },
2807 { .FromReg: Hexagon::R27, .ToReg: 27U },
2808 { .FromReg: Hexagon::R28, .ToReg: 28U },
2809 { .FromReg: Hexagon::R29, .ToReg: 29U },
2810 { .FromReg: Hexagon::R30, .ToReg: 30U },
2811 { .FromReg: Hexagon::R31, .ToReg: 31U },
2812 { .FromReg: Hexagon::S11, .ToReg: 155U },
2813 { .FromReg: Hexagon::S12, .ToReg: 156U },
2814 { .FromReg: Hexagon::S13, .ToReg: 157U },
2815 { .FromReg: Hexagon::S14, .ToReg: 158U },
2816 { .FromReg: Hexagon::S15, .ToReg: 159U },
2817 { .FromReg: Hexagon::S19, .ToReg: 163U },
2818 { .FromReg: Hexagon::S20, .ToReg: 164U },
2819 { .FromReg: Hexagon::S22, .ToReg: 166U },
2820 { .FromReg: Hexagon::S23, .ToReg: 167U },
2821 { .FromReg: Hexagon::S24, .ToReg: 168U },
2822 { .FromReg: Hexagon::S25, .ToReg: 169U },
2823 { .FromReg: Hexagon::S26, .ToReg: 170U },
2824 { .FromReg: Hexagon::S35, .ToReg: 179U },
2825 { .FromReg: Hexagon::S44, .ToReg: 188U },
2826 { .FromReg: Hexagon::S45, .ToReg: 189U },
2827 { .FromReg: Hexagon::S46, .ToReg: 190U },
2828 { .FromReg: Hexagon::S47, .ToReg: 191U },
2829 { .FromReg: Hexagon::S54, .ToReg: 198U },
2830 { .FromReg: Hexagon::S55, .ToReg: 199U },
2831 { .FromReg: Hexagon::S56, .ToReg: 200U },
2832 { .FromReg: Hexagon::S57, .ToReg: 201U },
2833 { .FromReg: Hexagon::S58, .ToReg: 202U },
2834 { .FromReg: Hexagon::S59, .ToReg: 203U },
2835 { .FromReg: Hexagon::S60, .ToReg: 204U },
2836 { .FromReg: Hexagon::S61, .ToReg: 205U },
2837 { .FromReg: Hexagon::S62, .ToReg: 206U },
2838 { .FromReg: Hexagon::S63, .ToReg: 207U },
2839 { .FromReg: Hexagon::S64, .ToReg: 208U },
2840 { .FromReg: Hexagon::S65, .ToReg: 209U },
2841 { .FromReg: Hexagon::S66, .ToReg: 210U },
2842 { .FromReg: Hexagon::S67, .ToReg: 211U },
2843 { .FromReg: Hexagon::S68, .ToReg: 212U },
2844 { .FromReg: Hexagon::S69, .ToReg: 213U },
2845 { .FromReg: Hexagon::S70, .ToReg: 214U },
2846 { .FromReg: Hexagon::S71, .ToReg: 215U },
2847 { .FromReg: Hexagon::S72, .ToReg: 216U },
2848 { .FromReg: Hexagon::S73, .ToReg: 217U },
2849 { .FromReg: Hexagon::S74, .ToReg: 218U },
2850 { .FromReg: Hexagon::S75, .ToReg: 219U },
2851 { .FromReg: Hexagon::S76, .ToReg: 220U },
2852 { .FromReg: Hexagon::S77, .ToReg: 221U },
2853 { .FromReg: Hexagon::S78, .ToReg: 222U },
2854 { .FromReg: Hexagon::S79, .ToReg: 223U },
2855 { .FromReg: Hexagon::S80, .ToReg: 224U },
2856 { .FromReg: Hexagon::SA0, .ToReg: 67U },
2857 { .FromReg: Hexagon::SA1, .ToReg: 69U },
2858 { .FromReg: Hexagon::SGP0, .ToReg: 144U },
2859 { .FromReg: Hexagon::SGP1, .ToReg: 145U },
2860 { .FromReg: Hexagon::V0, .ToReg: 99U },
2861 { .FromReg: Hexagon::V1, .ToReg: 100U },
2862 { .FromReg: Hexagon::V2, .ToReg: 101U },
2863 { .FromReg: Hexagon::V3, .ToReg: 102U },
2864 { .FromReg: Hexagon::V4, .ToReg: 103U },
2865 { .FromReg: Hexagon::V5, .ToReg: 104U },
2866 { .FromReg: Hexagon::V6, .ToReg: 105U },
2867 { .FromReg: Hexagon::V7, .ToReg: 106U },
2868 { .FromReg: Hexagon::V8, .ToReg: 107U },
2869 { .FromReg: Hexagon::V9, .ToReg: 108U },
2870 { .FromReg: Hexagon::V10, .ToReg: 109U },
2871 { .FromReg: Hexagon::V11, .ToReg: 110U },
2872 { .FromReg: Hexagon::V12, .ToReg: 111U },
2873 { .FromReg: Hexagon::V13, .ToReg: 112U },
2874 { .FromReg: Hexagon::V14, .ToReg: 113U },
2875 { .FromReg: Hexagon::V15, .ToReg: 114U },
2876 { .FromReg: Hexagon::V16, .ToReg: 115U },
2877 { .FromReg: Hexagon::V17, .ToReg: 116U },
2878 { .FromReg: Hexagon::V18, .ToReg: 117U },
2879 { .FromReg: Hexagon::V19, .ToReg: 118U },
2880 { .FromReg: Hexagon::V20, .ToReg: 119U },
2881 { .FromReg: Hexagon::V21, .ToReg: 120U },
2882 { .FromReg: Hexagon::V22, .ToReg: 121U },
2883 { .FromReg: Hexagon::V23, .ToReg: 122U },
2884 { .FromReg: Hexagon::V24, .ToReg: 123U },
2885 { .FromReg: Hexagon::V25, .ToReg: 124U },
2886 { .FromReg: Hexagon::V26, .ToReg: 125U },
2887 { .FromReg: Hexagon::V27, .ToReg: 126U },
2888 { .FromReg: Hexagon::V28, .ToReg: 127U },
2889 { .FromReg: Hexagon::V29, .ToReg: 128U },
2890 { .FromReg: Hexagon::V30, .ToReg: 129U },
2891 { .FromReg: Hexagon::V31, .ToReg: 130U },
2892 { .FromReg: Hexagon::VF0, .ToReg: 999999U },
2893 { .FromReg: Hexagon::VF1, .ToReg: 1000000U },
2894 { .FromReg: Hexagon::VF2, .ToReg: 1000001U },
2895 { .FromReg: Hexagon::VF3, .ToReg: 1000002U },
2896 { .FromReg: Hexagon::VF4, .ToReg: 1000003U },
2897 { .FromReg: Hexagon::VF5, .ToReg: 1000004U },
2898 { .FromReg: Hexagon::VF6, .ToReg: 1000005U },
2899 { .FromReg: Hexagon::VF7, .ToReg: 1000006U },
2900 { .FromReg: Hexagon::VF8, .ToReg: 1000007U },
2901 { .FromReg: Hexagon::VF9, .ToReg: 1000008U },
2902 { .FromReg: Hexagon::VF10, .ToReg: 1000009U },
2903 { .FromReg: Hexagon::VF11, .ToReg: 1000010U },
2904 { .FromReg: Hexagon::VF12, .ToReg: 1000011U },
2905 { .FromReg: Hexagon::VF13, .ToReg: 1000012U },
2906 { .FromReg: Hexagon::VF14, .ToReg: 1000013U },
2907 { .FromReg: Hexagon::VF15, .ToReg: 1000014U },
2908 { .FromReg: Hexagon::VF16, .ToReg: 1000015U },
2909 { .FromReg: Hexagon::VF17, .ToReg: 1000016U },
2910 { .FromReg: Hexagon::VF18, .ToReg: 1000017U },
2911 { .FromReg: Hexagon::VF19, .ToReg: 1000018U },
2912 { .FromReg: Hexagon::VF20, .ToReg: 1000019U },
2913 { .FromReg: Hexagon::VF21, .ToReg: 1000020U },
2914 { .FromReg: Hexagon::VF22, .ToReg: 1000021U },
2915 { .FromReg: Hexagon::VF23, .ToReg: 1000022U },
2916 { .FromReg: Hexagon::VF24, .ToReg: 1000023U },
2917 { .FromReg: Hexagon::VF25, .ToReg: 1000024U },
2918 { .FromReg: Hexagon::VF26, .ToReg: 1000025U },
2919 { .FromReg: Hexagon::VF27, .ToReg: 1000026U },
2920 { .FromReg: Hexagon::VF28, .ToReg: 1000027U },
2921 { .FromReg: Hexagon::VF29, .ToReg: 1000028U },
2922 { .FromReg: Hexagon::VF30, .ToReg: 1000029U },
2923 { .FromReg: Hexagon::VF31, .ToReg: 1000030U },
2924 { .FromReg: Hexagon::VFR0, .ToReg: 9999999U },
2925 { .FromReg: Hexagon::VFR1, .ToReg: 10000000U },
2926 { .FromReg: Hexagon::VFR2, .ToReg: 10000001U },
2927 { .FromReg: Hexagon::VFR3, .ToReg: 10000002U },
2928 { .FromReg: Hexagon::VFR4, .ToReg: 10000003U },
2929 { .FromReg: Hexagon::VFR5, .ToReg: 10000004U },
2930 { .FromReg: Hexagon::VFR6, .ToReg: 10000005U },
2931 { .FromReg: Hexagon::VFR7, .ToReg: 10000006U },
2932 { .FromReg: Hexagon::VFR8, .ToReg: 10000007U },
2933 { .FromReg: Hexagon::VFR9, .ToReg: 10000008U },
2934 { .FromReg: Hexagon::VFR10, .ToReg: 10000009U },
2935 { .FromReg: Hexagon::VFR11, .ToReg: 10000010U },
2936 { .FromReg: Hexagon::VFR12, .ToReg: 10000011U },
2937 { .FromReg: Hexagon::VFR13, .ToReg: 10000012U },
2938 { .FromReg: Hexagon::VFR14, .ToReg: 10000013U },
2939 { .FromReg: Hexagon::VFR15, .ToReg: 10000014U },
2940 { .FromReg: Hexagon::VFR16, .ToReg: 10000015U },
2941 { .FromReg: Hexagon::VFR17, .ToReg: 10000016U },
2942 { .FromReg: Hexagon::VFR18, .ToReg: 10000017U },
2943 { .FromReg: Hexagon::VFR19, .ToReg: 10000018U },
2944 { .FromReg: Hexagon::VFR20, .ToReg: 10000019U },
2945 { .FromReg: Hexagon::VFR21, .ToReg: 10000020U },
2946 { .FromReg: Hexagon::VFR22, .ToReg: 10000021U },
2947 { .FromReg: Hexagon::VFR23, .ToReg: 10000022U },
2948 { .FromReg: Hexagon::VFR24, .ToReg: 10000023U },
2949 { .FromReg: Hexagon::VFR25, .ToReg: 10000024U },
2950 { .FromReg: Hexagon::VFR26, .ToReg: 10000025U },
2951 { .FromReg: Hexagon::VFR27, .ToReg: 10000026U },
2952 { .FromReg: Hexagon::VFR28, .ToReg: 10000027U },
2953 { .FromReg: Hexagon::VFR29, .ToReg: 10000028U },
2954 { .FromReg: Hexagon::VFR30, .ToReg: 10000029U },
2955 { .FromReg: Hexagon::VFR31, .ToReg: 10000030U },
2956 { .FromReg: Hexagon::VQ0, .ToReg: 252U },
2957 { .FromReg: Hexagon::VQ1, .ToReg: 253U },
2958 { .FromReg: Hexagon::VQ2, .ToReg: 254U },
2959 { .FromReg: Hexagon::VQ3, .ToReg: 255U },
2960 { .FromReg: Hexagon::VQ4, .ToReg: 256U },
2961 { .FromReg: Hexagon::VQ5, .ToReg: 257U },
2962 { .FromReg: Hexagon::VQ6, .ToReg: 258U },
2963 { .FromReg: Hexagon::VQ7, .ToReg: 259U },
2964 { .FromReg: Hexagon::W0, .ToReg: 99U },
2965 { .FromReg: Hexagon::W1, .ToReg: 101U },
2966 { .FromReg: Hexagon::W2, .ToReg: 103U },
2967 { .FromReg: Hexagon::W3, .ToReg: 105U },
2968 { .FromReg: Hexagon::W4, .ToReg: 107U },
2969 { .FromReg: Hexagon::W5, .ToReg: 109U },
2970 { .FromReg: Hexagon::W6, .ToReg: 111U },
2971 { .FromReg: Hexagon::W7, .ToReg: 113U },
2972 { .FromReg: Hexagon::W8, .ToReg: 115U },
2973 { .FromReg: Hexagon::W9, .ToReg: 117U },
2974 { .FromReg: Hexagon::W10, .ToReg: 119U },
2975 { .FromReg: Hexagon::W11, .ToReg: 121U },
2976 { .FromReg: Hexagon::W12, .ToReg: 123U },
2977 { .FromReg: Hexagon::W13, .ToReg: 125U },
2978 { .FromReg: Hexagon::W14, .ToReg: 127U },
2979 { .FromReg: Hexagon::W15, .ToReg: 129U },
2980 { .FromReg: Hexagon::WR0, .ToReg: 161U },
2981 { .FromReg: Hexagon::WR1, .ToReg: 162U },
2982 { .FromReg: Hexagon::WR2, .ToReg: 163U },
2983 { .FromReg: Hexagon::WR3, .ToReg: 164U },
2984 { .FromReg: Hexagon::WR4, .ToReg: 165U },
2985 { .FromReg: Hexagon::WR5, .ToReg: 166U },
2986 { .FromReg: Hexagon::WR6, .ToReg: 167U },
2987 { .FromReg: Hexagon::WR7, .ToReg: 168U },
2988 { .FromReg: Hexagon::WR8, .ToReg: 169U },
2989 { .FromReg: Hexagon::WR9, .ToReg: 170U },
2990 { .FromReg: Hexagon::WR10, .ToReg: 171U },
2991 { .FromReg: Hexagon::WR11, .ToReg: 172U },
2992 { .FromReg: Hexagon::WR12, .ToReg: 173U },
2993 { .FromReg: Hexagon::WR13, .ToReg: 174U },
2994 { .FromReg: Hexagon::WR14, .ToReg: 175U },
2995 { .FromReg: Hexagon::WR15, .ToReg: 176U },
2996 { .FromReg: Hexagon::C1_0, .ToReg: 67U },
2997 { .FromReg: Hexagon::C3_2, .ToReg: 69U },
2998 { .FromReg: Hexagon::C5_4, .ToReg: 71U },
2999 { .FromReg: Hexagon::C7_6, .ToReg: 72U },
3000 { .FromReg: Hexagon::C9_8, .ToReg: 74U },
3001 { .FromReg: Hexagon::C11_10, .ToReg: 76U },
3002 { .FromReg: Hexagon::C17_16, .ToReg: 83U },
3003 { .FromReg: Hexagon::G1_0, .ToReg: 220U },
3004 { .FromReg: Hexagon::G3_2, .ToReg: 222U },
3005 { .FromReg: Hexagon::G5_4, .ToReg: 224U },
3006 { .FromReg: Hexagon::G7_6, .ToReg: 226U },
3007 { .FromReg: Hexagon::G9_8, .ToReg: 228U },
3008 { .FromReg: Hexagon::G11_10, .ToReg: 230U },
3009 { .FromReg: Hexagon::G13_12, .ToReg: 232U },
3010 { .FromReg: Hexagon::G15_14, .ToReg: 234U },
3011 { .FromReg: Hexagon::G17_16, .ToReg: 236U },
3012 { .FromReg: Hexagon::G19_18, .ToReg: 238U },
3013 { .FromReg: Hexagon::G21_20, .ToReg: 240U },
3014 { .FromReg: Hexagon::G23_22, .ToReg: 242U },
3015 { .FromReg: Hexagon::G25_24, .ToReg: 244U },
3016 { .FromReg: Hexagon::G27_26, .ToReg: 246U },
3017 { .FromReg: Hexagon::G29_28, .ToReg: 248U },
3018 { .FromReg: Hexagon::G31_30, .ToReg: 250U },
3019 { .FromReg: Hexagon::P3_0, .ToReg: 71U },
3020 { .FromReg: Hexagon::S3_2, .ToReg: 146U },
3021 { .FromReg: Hexagon::S5_4, .ToReg: 148U },
3022 { .FromReg: Hexagon::S7_6, .ToReg: 150U },
3023 { .FromReg: Hexagon::S9_8, .ToReg: 152U },
3024 { .FromReg: Hexagon::S11_10, .ToReg: 154U },
3025 { .FromReg: Hexagon::S13_12, .ToReg: 156U },
3026 { .FromReg: Hexagon::S15_14, .ToReg: 158U },
3027 { .FromReg: Hexagon::S17_16, .ToReg: 160U },
3028 { .FromReg: Hexagon::S19_18, .ToReg: 162U },
3029 { .FromReg: Hexagon::S21_20, .ToReg: 164U },
3030 { .FromReg: Hexagon::S23_22, .ToReg: 166U },
3031 { .FromReg: Hexagon::S25_24, .ToReg: 168U },
3032 { .FromReg: Hexagon::S27_26, .ToReg: 170U },
3033 { .FromReg: Hexagon::S29_28, .ToReg: 172U },
3034 { .FromReg: Hexagon::S31_30, .ToReg: 174U },
3035 { .FromReg: Hexagon::S33_32, .ToReg: 176U },
3036 { .FromReg: Hexagon::S35_34, .ToReg: 178U },
3037 { .FromReg: Hexagon::S37_36, .ToReg: 180U },
3038 { .FromReg: Hexagon::S39_38, .ToReg: 182U },
3039 { .FromReg: Hexagon::S41_40, .ToReg: 184U },
3040 { .FromReg: Hexagon::S43_42, .ToReg: 186U },
3041 { .FromReg: Hexagon::S45_44, .ToReg: 188U },
3042 { .FromReg: Hexagon::S47_46, .ToReg: 190U },
3043 { .FromReg: Hexagon::S49_48, .ToReg: 192U },
3044 { .FromReg: Hexagon::S51_50, .ToReg: 194U },
3045 { .FromReg: Hexagon::S53_52, .ToReg: 196U },
3046 { .FromReg: Hexagon::S55_54, .ToReg: 198U },
3047 { .FromReg: Hexagon::S57_56, .ToReg: 200U },
3048 { .FromReg: Hexagon::S59_58, .ToReg: 202U },
3049 { .FromReg: Hexagon::S61_60, .ToReg: 204U },
3050 { .FromReg: Hexagon::S63_62, .ToReg: 206U },
3051 { .FromReg: Hexagon::S65_64, .ToReg: 208U },
3052 { .FromReg: Hexagon::S67_66, .ToReg: 210U },
3053 { .FromReg: Hexagon::S69_68, .ToReg: 212U },
3054 { .FromReg: Hexagon::S71_70, .ToReg: 214U },
3055 { .FromReg: Hexagon::S73_72, .ToReg: 216U },
3056 { .FromReg: Hexagon::S75_74, .ToReg: 218U },
3057 { .FromReg: Hexagon::S77_76, .ToReg: 219U },
3058 { .FromReg: Hexagon::S79_78, .ToReg: 220U },
3059 { .FromReg: Hexagon::SGP1_0, .ToReg: 144U },
3060};
3061extern const unsigned HexagonEHFlavour0L2DwarfSize = std::size(HexagonEHFlavour0L2Dwarf);
3062
3063extern const uint16_t HexagonRegEncodingTable[] = {
3064 0,
3065 9,
3066 7,
3067 27,
3068 12,
3069 28,
3070 3,
3071 16,
3072 17,
3073 16,
3074 0,
3075 2,
3076 11,
3077 25,
3078 24,
3079 1,
3080 8,
3081 10,
3082 42,
3083 43,
3084 40,
3085 41,
3086 32,
3087 17,
3088 9,
3089 31,
3090 30,
3091 18,
3092 19,
3093 18,
3094 53,
3095 52,
3096 29,
3097 6,
3098 2,
3099 18,
3100 10,
3101 14,
3102 15,
3103 14,
3104 8,
3105 0,
3106 30,
3107 31,
3108 30,
3109 21,
3110 0,
3111 4,
3112 5,
3113 37,
3114 39,
3115 36,
3116 38,
3117 5,
3118 8,
3119 12,
3120 13,
3121 0,
3122 2,
3123 4,
3124 6,
3125 8,
3126 10,
3127 12,
3128 14,
3129 16,
3130 18,
3131 20,
3132 22,
3133 24,
3134 26,
3135 28,
3136 30,
3137 3,
3138 4,
3139 5,
3140 6,
3141 7,
3142 8,
3143 9,
3144 10,
3145 11,
3146 12,
3147 13,
3148 14,
3149 15,
3150 20,
3151 21,
3152 22,
3153 23,
3154 30,
3155 31,
3156 26,
3157 27,
3158 28,
3159 29,
3160 16,
3161 17,
3162 18,
3163 19,
3164 33,
3165 34,
3166 1,
3167 3,
3168 6,
3169 7,
3170 0,
3171 1,
3172 2,
3173 3,
3174 48,
3175 49,
3176 50,
3177 51,
3178 0,
3179 1,
3180 2,
3181 3,
3182 0,
3183 1,
3184 2,
3185 3,
3186 4,
3187 5,
3188 6,
3189 7,
3190 8,
3191 9,
3192 10,
3193 11,
3194 12,
3195 13,
3196 14,
3197 15,
3198 16,
3199 17,
3200 18,
3201 19,
3202 20,
3203 21,
3204 22,
3205 23,
3206 24,
3207 25,
3208 26,
3209 27,
3210 28,
3211 29,
3212 30,
3213 31,
3214 11,
3215 12,
3216 13,
3217 14,
3218 15,
3219 19,
3220 20,
3221 22,
3222 23,
3223 24,
3224 25,
3225 26,
3226 35,
3227 44,
3228 45,
3229 46,
3230 47,
3231 54,
3232 55,
3233 56,
3234 57,
3235 58,
3236 59,
3237 60,
3238 61,
3239 62,
3240 63,
3241 64,
3242 65,
3243 66,
3244 67,
3245 68,
3246 69,
3247 70,
3248 71,
3249 72,
3250 73,
3251 74,
3252 75,
3253 76,
3254 77,
3255 78,
3256 79,
3257 80,
3258 0,
3259 2,
3260 0,
3261 1,
3262 0,
3263 1,
3264 2,
3265 3,
3266 4,
3267 5,
3268 6,
3269 7,
3270 8,
3271 9,
3272 10,
3273 11,
3274 12,
3275 13,
3276 14,
3277 15,
3278 16,
3279 17,
3280 18,
3281 19,
3282 20,
3283 21,
3284 22,
3285 23,
3286 24,
3287 25,
3288 26,
3289 27,
3290 28,
3291 29,
3292 30,
3293 31,
3294 0,
3295 0,
3296 0,
3297 0,
3298 0,
3299 0,
3300 0,
3301 0,
3302 0,
3303 0,
3304 0,
3305 0,
3306 0,
3307 0,
3308 0,
3309 0,
3310 0,
3311 0,
3312 0,
3313 0,
3314 0,
3315 0,
3316 0,
3317 0,
3318 0,
3319 0,
3320 0,
3321 0,
3322 0,
3323 0,
3324 0,
3325 0,
3326 0,
3327 0,
3328 0,
3329 0,
3330 0,
3331 0,
3332 0,
3333 0,
3334 0,
3335 0,
3336 0,
3337 0,
3338 0,
3339 0,
3340 0,
3341 0,
3342 0,
3343 0,
3344 0,
3345 0,
3346 0,
3347 0,
3348 0,
3349 0,
3350 0,
3351 0,
3352 0,
3353 0,
3354 0,
3355 0,
3356 0,
3357 0,
3358 0,
3359 4,
3360 8,
3361 12,
3362 16,
3363 20,
3364 24,
3365 28,
3366 0,
3367 2,
3368 4,
3369 6,
3370 8,
3371 10,
3372 12,
3373 14,
3374 16,
3375 18,
3376 20,
3377 22,
3378 24,
3379 26,
3380 28,
3381 30,
3382 1,
3383 3,
3384 5,
3385 7,
3386 9,
3387 11,
3388 13,
3389 15,
3390 17,
3391 19,
3392 21,
3393 23,
3394 25,
3395 27,
3396 29,
3397 31,
3398 0,
3399 2,
3400 4,
3401 6,
3402 8,
3403 10,
3404 16,
3405 0,
3406 2,
3407 4,
3408 6,
3409 8,
3410 10,
3411 12,
3412 14,
3413 16,
3414 18,
3415 20,
3416 22,
3417 24,
3418 26,
3419 28,
3420 30,
3421 4,
3422 2,
3423 4,
3424 6,
3425 8,
3426 10,
3427 12,
3428 14,
3429 16,
3430 18,
3431 20,
3432 22,
3433 24,
3434 26,
3435 28,
3436 30,
3437 32,
3438 34,
3439 36,
3440 38,
3441 40,
3442 42,
3443 44,
3444 46,
3445 48,
3446 50,
3447 52,
3448 54,
3449 56,
3450 58,
3451 60,
3452 62,
3453 64,
3454 66,
3455 68,
3456 70,
3457 72,
3458 74,
3459 76,
3460 78,
3461 0,
3462};
3463static inline void InitHexagonMCRegisterInfo(MCRegisterInfo *RI, unsigned RA, unsigned DwarfFlavour = 0, unsigned EHFlavour = 0, unsigned PC = 0) {
3464 RI->InitMCRegisterInfo(D: HexagonRegDesc, NR: 398, RA, PC, C: HexagonMCRegisterClasses, NC: 29, RURoots: HexagonRegUnitRoots, NRU: 278, DL: HexagonRegDiffLists, RUMS: HexagonLaneMaskLists, Strings: HexagonRegStrings, ClassStrings: HexagonRegClassStrings, SubIndices: HexagonSubRegIdxLists, NumIndices: 12,
3465RET: HexagonRegEncodingTable);
3466
3467 switch (DwarfFlavour) {
3468 default:
3469 llvm_unreachable("Unknown DWARF flavour");
3470 case 0:
3471 RI->mapDwarfRegsToLLVMRegs(Map: HexagonDwarfFlavour0Dwarf2L, Size: HexagonDwarfFlavour0Dwarf2LSize, isEH: false);
3472 break;
3473 }
3474 switch (EHFlavour) {
3475 default:
3476 llvm_unreachable("Unknown DWARF flavour");
3477 case 0:
3478 RI->mapDwarfRegsToLLVMRegs(Map: HexagonEHFlavour0Dwarf2L, Size: HexagonEHFlavour0Dwarf2LSize, isEH: true);
3479 break;
3480 }
3481 switch (DwarfFlavour) {
3482 default:
3483 llvm_unreachable("Unknown DWARF flavour");
3484 case 0:
3485 RI->mapLLVMRegsToDwarfRegs(Map: HexagonDwarfFlavour0L2Dwarf, Size: HexagonDwarfFlavour0L2DwarfSize, isEH: false);
3486 break;
3487 }
3488 switch (EHFlavour) {
3489 default:
3490 llvm_unreachable("Unknown DWARF flavour");
3491 case 0:
3492 RI->mapLLVMRegsToDwarfRegs(Map: HexagonEHFlavour0L2Dwarf, Size: HexagonEHFlavour0L2DwarfSize, isEH: true);
3493 break;
3494 }
3495}
3496
3497} // end namespace llvm
3498
3499