1#ifdef GET_ATValues_DECL
2enum ATValues {
3 S1E1R = 960,
4 S1E2R = 9152,
5 S1E3R = 13248,
6 S1E1W = 961,
7 S1E2W = 9153,
8 S1E3W = 13249,
9 S1E0R = 962,
10 S1E0W = 963,
11 S12E1R = 9156,
12 S12E1W = 9157,
13 S12E0R = 9158,
14 S12E0W = 9159,
15 S1E1RP = 968,
16 S1E1WP = 969,
17 S1E1A = 970,
18 S1E2A = 9162,
19 S1E3A = 13258,
20};
21#endif
22
23#ifdef GET_DBValues_DECL
24enum DBValues {
25 oshld = 1,
26 oshst = 2,
27 osh = 3,
28 nshld = 5,
29 nshst = 6,
30 nsh = 7,
31 ishld = 9,
32 ishst = 10,
33 ish = 11,
34 ld = 13,
35 st = 14,
36 sy = 15,
37};
38#endif
39
40#ifdef GET_DBnXSValues_DECL
41enum DBnXSValues {
42 oshnxs = 3,
43 nshnxs = 7,
44 ishnxs = 11,
45 synxs = 15,
46};
47#endif
48
49#ifdef GET_DCValues_DECL
50enum DCValues {
51 ZVA = 7073,
52 IVAC = 945,
53 ISW = 946,
54 CVAC = 7121,
55 CSW = 978,
56 CVAU = 7129,
57 CIVAC = 7153,
58 CISW = 1010,
59 CVAP = 7137,
60 CVADP = 7145,
61 IGVAC = 947,
62 IGSW = 948,
63 CGSW = 980,
64 CIGSW = 1012,
65 CGVAC = 7123,
66 CGVAP = 7139,
67 CGVADP = 7147,
68 CIGVAC = 7155,
69 GVA = 7075,
70 IGDVAC = 949,
71 IGDSW = 950,
72 CGDSW = 982,
73 CIGDSW = 1014,
74 CGDVAC = 7125,
75 CGDVAP = 7141,
76 CGDVADP = 7149,
77 CIGDVAC = 7157,
78 GZVA = 7076,
79 ZGBVA = 7077,
80 GBVA = 7079,
81 CIPAE = 9200,
82 CIGDPAE = 9207,
83 CIGDPAPA = 13301,
84 CIPAPA = 13297,
85 CIVAOC = 7160,
86 CVAOC = 7128,
87 CIGDVAOC = 7167,
88 CGDVAOC = 7135,
89 CIVAPS = 1017,
90 CIGDVAPS = 1021,
91};
92#endif
93
94#ifdef GET_ExactFPImmValues_DECL
95enum ExactFPImmValues {
96 zero = 0,
97 half = 1,
98 one = 2,
99 two = 3,
100};
101#endif
102
103#ifdef GET_ICValues_DECL
104enum ICValues {
105 IALLUIS = 904,
106 IALLU = 936,
107 IVAU = 7081,
108};
109#endif
110
111#ifdef GET_ISBValues_DECL
112enum ISBValues {
113 sy = 15,
114};
115#endif
116
117#ifdef GET_PRFMValues_DECL
118enum PRFMValues {
119 pldl1keep = 0,
120 pldl1strm = 1,
121 pldl2keep = 2,
122 pldl2strm = 3,
123 pldl3keep = 4,
124 pldl3strm = 5,
125 pldslckeep = 6,
126 pldslcstrm = 7,
127 plil1keep = 8,
128 plil1strm = 9,
129 plil2keep = 10,
130 plil2strm = 11,
131 plil3keep = 12,
132 plil3strm = 13,
133 plislckeep = 14,
134 plislcstrm = 15,
135 pstl1keep = 16,
136 pstl1strm = 17,
137 pstl2keep = 18,
138 pstl2strm = 19,
139 pstl3keep = 20,
140 pstl3strm = 21,
141 pstslckeep = 22,
142 pstslcstrm = 23,
143 ir = 24,
144};
145#endif
146
147#ifdef GET_PStateImm0_1Values_DECL
148enum PStateImm0_1Values {
149 ALLINT = 8,
150 PM = 72,
151};
152#endif
153
154#ifdef GET_PStateImm0_15Values_DECL
155enum PStateImm0_15Values {
156 SPSel = 5,
157 DAIFSet = 30,
158 DAIFClr = 31,
159 PAN = 4,
160 UAO = 3,
161 DIT = 26,
162 SSBS = 25,
163 TCO = 28,
164};
165#endif
166
167#ifdef GET_RPRFMValues_DECL
168enum RPRFMValues {
169 pldkeep = 0,
170 pstkeep = 1,
171 pldstrm = 4,
172 pststrm = 5,
173};
174#endif
175
176#ifdef GET_SVCRValues_DECL
177enum SVCRValues {
178 SVCRSM = 1,
179 SVCRZA = 2,
180 SVCRSMZA = 3,
181};
182#endif
183
184#ifdef GET_SVEPREDPATValues_DECL
185enum SVEPREDPATValues {
186 pow2 = 0,
187 vl1 = 1,
188 vl2 = 2,
189 vl3 = 3,
190 vl4 = 4,
191 vl5 = 5,
192 vl6 = 6,
193 vl7 = 7,
194 vl8 = 8,
195 vl16 = 9,
196 vl32 = 10,
197 vl64 = 11,
198 vl128 = 12,
199 vl256 = 13,
200 mul4 = 29,
201 mul3 = 30,
202 all = 31,
203};
204#endif
205
206#ifdef GET_SVEPRFMValues_DECL
207enum SVEPRFMValues {
208 pldl1keep = 0,
209 pldl1strm = 1,
210 pldl2keep = 2,
211 pldl2strm = 3,
212 pldl3keep = 4,
213 pldl3strm = 5,
214 pstl1keep = 8,
215 pstl1strm = 9,
216 pstl2keep = 10,
217 pstl2strm = 11,
218 pstl3keep = 12,
219 pstl3strm = 13,
220};
221#endif
222
223#ifdef GET_SVEVECLENSPECIFIERValues_DECL
224enum SVEVECLENSPECIFIERValues {
225 vlx2 = 0,
226 vlx4 = 1,
227};
228#endif
229
230#ifdef GET_SysAliasRegUse_DECL
231enum SysAliasRegUse {
232 REG_NONE = 0,
233 REG_OPTIONAL = 1,
234 REG_REQUIRED = 2,
235};
236#endif
237
238#ifdef GET_SysRegValues_DECL
239enum SysRegValues {
240 MDCCSR_EL0 = 38920,
241 DBGDTRRX_EL0 = 38952,
242 MDRAR_EL1 = 32896,
243 OSLSR_EL1 = 32908,
244 DBGAUTHSTATUS_EL1 = 33782,
245 PMCEID0_EL0 = 56550,
246 PMCEID1_EL0 = 56551,
247 PMMIR_EL1 = 50422,
248 MIDR_EL1 = 49152,
249 CCSIDR_EL1 = 51200,
250 CCSIDR2_EL1 = 51202,
251 CLIDR_EL1 = 51201,
252 CTR_EL0 = 55297,
253 MPIDR_EL1 = 49157,
254 REVIDR_EL1 = 49158,
255 AIDR_EL1 = 51207,
256 DCZID_EL0 = 55303,
257 ID_PFR0_EL1 = 49160,
258 ID_PFR1_EL1 = 49161,
259 ID_PFR2_EL1 = 49180,
260 ID_DFR0_EL1 = 49162,
261 ID_DFR1_EL1 = 49181,
262 ID_AFR0_EL1 = 49163,
263 ID_MMFR0_EL1 = 49164,
264 ID_MMFR1_EL1 = 49165,
265 ID_MMFR2_EL1 = 49166,
266 ID_MMFR3_EL1 = 49167,
267 ID_ISAR0_EL1 = 49168,
268 ID_ISAR1_EL1 = 49169,
269 ID_ISAR2_EL1 = 49170,
270 ID_ISAR3_EL1 = 49171,
271 ID_ISAR4_EL1 = 49172,
272 ID_ISAR5_EL1 = 49173,
273 ID_ISAR6_EL1 = 49175,
274 ID_AA64PFR0_EL1 = 49184,
275 ID_AA64PFR1_EL1 = 49185,
276 ID_AA64PFR2_EL1 = 49186,
277 ID_AA64DFR0_EL1 = 49192,
278 ID_AA64DFR1_EL1 = 49193,
279 ID_AA64DFR2_EL1 = 49194,
280 ID_AA64AFR0_EL1 = 49196,
281 ID_AA64AFR1_EL1 = 49197,
282 ID_AA64ISAR0_EL1 = 49200,
283 ID_AA64ISAR1_EL1 = 49201,
284 ID_AA64ISAR2_EL1 = 49202,
285 ID_AA64ISAR3_EL1 = 49203,
286 ID_AA64MMFR0_EL1 = 49208,
287 ID_AA64MMFR1_EL1 = 49209,
288 ID_AA64MMFR2_EL1 = 49210,
289 ID_AA64MMFR3_EL1 = 49211,
290 ID_AA64MMFR4_EL1 = 49212,
291 MVFR0_EL1 = 49176,
292 MVFR1_EL1 = 49177,
293 MVFR2_EL1 = 49178,
294 RVBAR_EL1 = 50689,
295 RVBAR_EL2 = 58881,
296 RVBAR_EL3 = 62977,
297 ISR_EL1 = 50696,
298 CNTPCT_EL0 = 57089,
299 CNTVCT_EL0 = 57090,
300 ID_MMFR4_EL1 = 49174,
301 ID_MMFR5_EL1 = 49182,
302 TRCSTATR = 34840,
303 TRCIDR8 = 34822,
304 TRCIDR9 = 34830,
305 TRCIDR10 = 34838,
306 TRCIDR11 = 34846,
307 TRCIDR12 = 34854,
308 TRCIDR13 = 34862,
309 TRCIDR0 = 34887,
310 TRCIDR1 = 34895,
311 TRCIDR2 = 34903,
312 TRCIDR3 = 34911,
313 TRCIDR4 = 34919,
314 TRCIDR5 = 34927,
315 TRCIDR6 = 34935,
316 TRCIDR7 = 34943,
317 TRCOSLSR = 34956,
318 TRCPDSR = 34988,
319 TRCDEVAFF0 = 35798,
320 TRCDEVAFF1 = 35806,
321 TRCLSR = 35822,
322 TRCAUTHSTATUS = 35830,
323 TRCDEVARCH = 35838,
324 TRCDEVID = 35735,
325 TRCDEVTYPE = 35743,
326 TRCPIDR4 = 35751,
327 TRCPIDR5 = 35759,
328 TRCPIDR6 = 35767,
329 TRCPIDR7 = 35775,
330 TRCPIDR0 = 35783,
331 TRCPIDR1 = 35791,
332 TRCPIDR2 = 35799,
333 TRCPIDR3 = 35807,
334 TRCCIDR0 = 35815,
335 TRCCIDR1 = 35823,
336 TRCCIDR2 = 35831,
337 TRCCIDR3 = 35839,
338 ICC_IAR1_EL1 = 50784,
339 ICC_IAR0_EL1 = 50752,
340 ICC_HPPIR1_EL1 = 50786,
341 ICC_HPPIR0_EL1 = 50754,
342 ICC_RPR_EL1 = 50779,
343 ICH_VTR_EL2 = 58969,
344 ICH_EISR_EL2 = 58971,
345 ICH_ELRSR_EL2 = 58973,
346 ID_AA64ZFR0_EL1 = 49188,
347 LORID_EL1 = 50471,
348 ERRIDR_EL1 = 49816,
349 ERXFR_EL1 = 49824,
350 RNDR = 55584,
351 RNDRRS = 55585,
352 SCXTNUM_EL0 = 56967,
353 SCXTNUM_EL1 = 50823,
354 SCXTNUM_EL2 = 59015,
355 SCXTNUM_EL3 = 63111,
356 SCXTNUM_EL12 = 61063,
357 GPCCR_EL3 = 61710,
358 GPTBR_EL3 = 61708,
359 MFAR_EL3 = 62213,
360 MECIDR_EL2 = 58695,
361 MECID_P0_EL2 = 58688,
362 MECID_A0_EL2 = 58689,
363 MECID_P1_EL2 = 58690,
364 MECID_A1_EL2 = 58691,
365 VMECID_P_EL2 = 58696,
366 VMECID_A_EL2 = 58697,
367 MECID_RL_A_EL3 = 62801,
368 ID_AA64SMFR0_EL1 = 49189,
369 DBGDTRTX_EL0 = 38952,
370 OSLAR_EL1 = 32900,
371 PMSWINC_EL0 = 56548,
372 TRCOSLAR = 34948,
373 TRCLAR = 35814,
374 ICC_EOIR1_EL1 = 50785,
375 ICC_EOIR0_EL1 = 50753,
376 ICC_DIR_EL1 = 50777,
377 ICC_SGI1R_EL1 = 50781,
378 ICC_ASGI1R_EL1 = 50782,
379 ICC_SGI0R_EL1 = 50783,
380 OSDTRRX_EL1 = 32770,
381 OSDTRTX_EL1 = 32794,
382 TEECR32_EL1 = 36864,
383 MDCCINT_EL1 = 32784,
384 MDSCR_EL1 = 32786,
385 DBGDTR_EL0 = 38944,
386 OSECCR_EL1 = 32818,
387 DBGVCR32_EL2 = 41016,
388 DBGBVR0_EL1 = 32772,
389 DBGBCR0_EL1 = 32773,
390 DBGWVR0_EL1 = 32774,
391 DBGWCR0_EL1 = 32775,
392 DBGBVR1_EL1 = 32780,
393 DBGBCR1_EL1 = 32781,
394 DBGWVR1_EL1 = 32782,
395 DBGWCR1_EL1 = 32783,
396 DBGBVR2_EL1 = 32788,
397 DBGBCR2_EL1 = 32789,
398 DBGWVR2_EL1 = 32790,
399 DBGWCR2_EL1 = 32791,
400 DBGBVR3_EL1 = 32796,
401 DBGBCR3_EL1 = 32797,
402 DBGWVR3_EL1 = 32798,
403 DBGWCR3_EL1 = 32799,
404 DBGBVR4_EL1 = 32804,
405 DBGBCR4_EL1 = 32805,
406 DBGWVR4_EL1 = 32806,
407 DBGWCR4_EL1 = 32807,
408 DBGBVR5_EL1 = 32812,
409 DBGBCR5_EL1 = 32813,
410 DBGWVR5_EL1 = 32814,
411 DBGWCR5_EL1 = 32815,
412 DBGBVR6_EL1 = 32820,
413 DBGBCR6_EL1 = 32821,
414 DBGWVR6_EL1 = 32822,
415 DBGWCR6_EL1 = 32823,
416 DBGBVR7_EL1 = 32828,
417 DBGBCR7_EL1 = 32829,
418 DBGWVR7_EL1 = 32830,
419 DBGWCR7_EL1 = 32831,
420 DBGBVR8_EL1 = 32836,
421 DBGBCR8_EL1 = 32837,
422 DBGWVR8_EL1 = 32838,
423 DBGWCR8_EL1 = 32839,
424 DBGBVR9_EL1 = 32844,
425 DBGBCR9_EL1 = 32845,
426 DBGWVR9_EL1 = 32846,
427 DBGWCR9_EL1 = 32847,
428 DBGBVR10_EL1 = 32852,
429 DBGBCR10_EL1 = 32853,
430 DBGWVR10_EL1 = 32854,
431 DBGWCR10_EL1 = 32855,
432 DBGBVR11_EL1 = 32860,
433 DBGBCR11_EL1 = 32861,
434 DBGWVR11_EL1 = 32862,
435 DBGWCR11_EL1 = 32863,
436 DBGBVR12_EL1 = 32868,
437 DBGBCR12_EL1 = 32869,
438 DBGWVR12_EL1 = 32870,
439 DBGWCR12_EL1 = 32871,
440 DBGBVR13_EL1 = 32876,
441 DBGBCR13_EL1 = 32877,
442 DBGWVR13_EL1 = 32878,
443 DBGWCR13_EL1 = 32879,
444 DBGBVR14_EL1 = 32884,
445 DBGBCR14_EL1 = 32885,
446 DBGWVR14_EL1 = 32886,
447 DBGWCR14_EL1 = 32887,
448 DBGBVR15_EL1 = 32892,
449 DBGBCR15_EL1 = 32893,
450 DBGWVR15_EL1 = 32894,
451 DBGWCR15_EL1 = 32895,
452 TEEHBR32_EL1 = 36992,
453 OSDLR_EL1 = 32924,
454 DBGPRCR_EL1 = 32932,
455 DBGCLAIMSET_EL1 = 33734,
456 DBGCLAIMCLR_EL1 = 33742,
457 CSSELR_EL1 = 53248,
458 VPIDR_EL2 = 57344,
459 VMPIDR_EL2 = 57349,
460 CPACR_EL1 = 49282,
461 SCTLR_EL1 = 49280,
462 SCTLR_EL2 = 57472,
463 SCTLR_EL3 = 61568,
464 ACTLR_EL1 = 49281,
465 ACTLR_EL12 = 59521,
466 ACTLR_EL2 = 57473,
467 ACTLR_EL3 = 61569,
468 HCR_EL2 = 57480,
469 HCRX_EL2 = 57490,
470 SCR_EL3 = 61576,
471 MDCR_EL2 = 57481,
472 SDER32_EL3 = 61577,
473 CPTR_EL2 = 57482,
474 CPTR_EL3 = 61578,
475 HSTR_EL2 = 57483,
476 HACR_EL2 = 57487,
477 MDCR_EL3 = 61593,
478 TTBR0_EL1 = 49408,
479 TTBR0_EL3 = 61696,
480 TTBR0_EL2 = 57600,
481 VTTBR_EL2 = 57608,
482 TTBR1_EL1 = 49409,
483 TCR_EL1 = 49410,
484 TCR_EL2 = 57602,
485 TCR_EL3 = 61698,
486 VTCR_EL2 = 57610,
487 DACR32_EL2 = 57728,
488 SPSR_EL1 = 49664,
489 SPSR_EL2 = 57856,
490 SPSR_EL3 = 61952,
491 ELR_EL1 = 49665,
492 ELR_EL2 = 57857,
493 ELR_EL3 = 61953,
494 SP_EL0 = 49672,
495 SP_EL1 = 57864,
496 SP_EL2 = 61960,
497 SPSel = 49680,
498 NZCV = 55824,
499 DAIF = 55825,
500 CurrentEL = 49682,
501 SPSR_irq = 57880,
502 SPSR_abt = 57881,
503 SPSR_und = 57882,
504 SPSR_fiq = 57883,
505 FPCR = 55840,
506 FPSR = 55841,
507 DSPSR_EL0 = 55848,
508 DLR_EL0 = 55849,
509 IFSR32_EL2 = 57985,
510 AFSR0_EL1 = 49800,
511 AFSR0_EL2 = 57992,
512 AFSR0_EL3 = 62088,
513 AFSR1_EL1 = 49801,
514 AFSR1_EL2 = 57993,
515 AFSR1_EL3 = 62089,
516 ESR_EL1 = 49808,
517 ESR_EL2 = 58000,
518 ESR_EL3 = 62096,
519 FPEXC32_EL2 = 58008,
520 FAR_EL1 = 49920,
521 FAR_EL2 = 58112,
522 FAR_EL3 = 62208,
523 HPFAR_EL2 = 58116,
524 PAR_EL1 = 50080,
525 PMCR_EL0 = 56544,
526 PMCNTENSET_EL0 = 56545,
527 PMCNTENCLR_EL0 = 56546,
528 PMOVSCLR_EL0 = 56547,
529 PMSELR_EL0 = 56549,
530 PMCCNTR_EL0 = 56552,
531 PMXEVTYPER_EL0 = 56553,
532 PMXEVCNTR_EL0 = 56554,
533 PMUSERENR_EL0 = 56560,
534 PMINTENSET_EL1 = 50417,
535 PMINTENCLR_EL1 = 50418,
536 PMOVSSET_EL0 = 56563,
537 MAIR_EL1 = 50448,
538 MAIR_EL2 = 58640,
539 MAIR_EL3 = 62736,
540 AMAIR_EL1 = 50456,
541 AMAIR_EL2 = 58648,
542 AMAIR_EL3 = 62744,
543 VBAR_EL1 = 50688,
544 VBAR_EL2 = 58880,
545 VBAR_EL3 = 62976,
546 RMR_EL1 = 50690,
547 RMR_EL2 = 58882,
548 RMR_EL3 = 62978,
549 CONTEXTIDR_EL1 = 50817,
550 TPIDR_EL0 = 56962,
551 TPIDR_EL2 = 59010,
552 TPIDR_EL3 = 63106,
553 TPIDRRO_EL0 = 56963,
554 TPIDR_EL1 = 50820,
555 CNTFRQ_EL0 = 57088,
556 CNTVOFF_EL2 = 59139,
557 CNTKCTL_EL1 = 50952,
558 CNTHCTL_EL2 = 59144,
559 CNTP_TVAL_EL0 = 57104,
560 CNTHP_TVAL_EL2 = 59152,
561 CNTPS_TVAL_EL1 = 65296,
562 CNTP_CTL_EL0 = 57105,
563 CNTHP_CTL_EL2 = 59153,
564 CNTPS_CTL_EL1 = 65297,
565 CNTP_CVAL_EL0 = 57106,
566 CNTHP_CVAL_EL2 = 59154,
567 CNTPS_CVAL_EL1 = 65298,
568 CNTV_TVAL_EL0 = 57112,
569 CNTV_CTL_EL0 = 57113,
570 CNTV_CVAL_EL0 = 57114,
571 PMEVCNTR0_EL0 = 57152,
572 PMEVCNTR1_EL0 = 57153,
573 PMEVCNTR2_EL0 = 57154,
574 PMEVCNTR3_EL0 = 57155,
575 PMEVCNTR4_EL0 = 57156,
576 PMEVCNTR5_EL0 = 57157,
577 PMEVCNTR6_EL0 = 57158,
578 PMEVCNTR7_EL0 = 57159,
579 PMEVCNTR8_EL0 = 57160,
580 PMEVCNTR9_EL0 = 57161,
581 PMEVCNTR10_EL0 = 57162,
582 PMEVCNTR11_EL0 = 57163,
583 PMEVCNTR12_EL0 = 57164,
584 PMEVCNTR13_EL0 = 57165,
585 PMEVCNTR14_EL0 = 57166,
586 PMEVCNTR15_EL0 = 57167,
587 PMEVCNTR16_EL0 = 57168,
588 PMEVCNTR17_EL0 = 57169,
589 PMEVCNTR18_EL0 = 57170,
590 PMEVCNTR19_EL0 = 57171,
591 PMEVCNTR20_EL0 = 57172,
592 PMEVCNTR21_EL0 = 57173,
593 PMEVCNTR22_EL0 = 57174,
594 PMEVCNTR23_EL0 = 57175,
595 PMEVCNTR24_EL0 = 57176,
596 PMEVCNTR25_EL0 = 57177,
597 PMEVCNTR26_EL0 = 57178,
598 PMEVCNTR27_EL0 = 57179,
599 PMEVCNTR28_EL0 = 57180,
600 PMEVCNTR29_EL0 = 57181,
601 PMEVCNTR30_EL0 = 57182,
602 PMCCFILTR_EL0 = 57215,
603 PMEVTYPER0_EL0 = 57184,
604 PMEVTYPER1_EL0 = 57185,
605 PMEVTYPER2_EL0 = 57186,
606 PMEVTYPER3_EL0 = 57187,
607 PMEVTYPER4_EL0 = 57188,
608 PMEVTYPER5_EL0 = 57189,
609 PMEVTYPER6_EL0 = 57190,
610 PMEVTYPER7_EL0 = 57191,
611 PMEVTYPER8_EL0 = 57192,
612 PMEVTYPER9_EL0 = 57193,
613 PMEVTYPER10_EL0 = 57194,
614 PMEVTYPER11_EL0 = 57195,
615 PMEVTYPER12_EL0 = 57196,
616 PMEVTYPER13_EL0 = 57197,
617 PMEVTYPER14_EL0 = 57198,
618 PMEVTYPER15_EL0 = 57199,
619 PMEVTYPER16_EL0 = 57200,
620 PMEVTYPER17_EL0 = 57201,
621 PMEVTYPER18_EL0 = 57202,
622 PMEVTYPER19_EL0 = 57203,
623 PMEVTYPER20_EL0 = 57204,
624 PMEVTYPER21_EL0 = 57205,
625 PMEVTYPER22_EL0 = 57206,
626 PMEVTYPER23_EL0 = 57207,
627 PMEVTYPER24_EL0 = 57208,
628 PMEVTYPER25_EL0 = 57209,
629 PMEVTYPER26_EL0 = 57210,
630 PMEVTYPER27_EL0 = 57211,
631 PMEVTYPER28_EL0 = 57212,
632 PMEVTYPER29_EL0 = 57213,
633 PMEVTYPER30_EL0 = 57214,
634 TRCPRGCTLR = 34824,
635 TRCPROCSELR = 34832,
636 TRCCONFIGR = 34848,
637 TRCAUXCTLR = 34864,
638 TRCEVENTCTL0R = 34880,
639 TRCEVENTCTL1R = 34888,
640 TRCSTALLCTLR = 34904,
641 TRCTSCTLR = 34912,
642 TRCSYNCPR = 34920,
643 TRCCCCTLR = 34928,
644 TRCBBCTLR = 34936,
645 TRCTRACEIDR = 34817,
646 TRCQCTLR = 34825,
647 TRCVICTLR = 34818,
648 TRCVIIECTLR = 34826,
649 TRCVISSCTLR = 34834,
650 TRCVIPCSSCTLR = 34842,
651 TRCVDCTLR = 34882,
652 TRCVDSACCTLR = 34890,
653 TRCVDARCCTLR = 34898,
654 TRCSEQEVR0 = 34820,
655 TRCSEQEVR1 = 34828,
656 TRCSEQEVR2 = 34836,
657 TRCSEQRSTEVR = 34868,
658 TRCSEQSTR = 34876,
659 TRCEXTINSELR = 34884,
660 TRCCNTRLDVR0 = 34821,
661 TRCCNTRLDVR1 = 34829,
662 TRCCNTRLDVR2 = 34837,
663 TRCCNTRLDVR3 = 34845,
664 TRCCNTCTLR0 = 34853,
665 TRCCNTCTLR1 = 34861,
666 TRCCNTCTLR2 = 34869,
667 TRCCNTCTLR3 = 34877,
668 TRCCNTVR0 = 34885,
669 TRCCNTVR1 = 34893,
670 TRCCNTVR2 = 34901,
671 TRCCNTVR3 = 34909,
672 TRCIMSPEC0 = 34823,
673 TRCIMSPEC1 = 34831,
674 TRCIMSPEC2 = 34839,
675 TRCIMSPEC3 = 34847,
676 TRCIMSPEC4 = 34855,
677 TRCIMSPEC5 = 34863,
678 TRCIMSPEC6 = 34871,
679 TRCIMSPEC7 = 34879,
680 TRCRSCTLR2 = 34960,
681 TRCRSCTLR3 = 34968,
682 TRCRSCTLR4 = 34976,
683 TRCRSCTLR5 = 34984,
684 TRCRSCTLR6 = 34992,
685 TRCRSCTLR7 = 35000,
686 TRCRSCTLR8 = 35008,
687 TRCRSCTLR9 = 35016,
688 TRCRSCTLR10 = 35024,
689 TRCRSCTLR11 = 35032,
690 TRCRSCTLR12 = 35040,
691 TRCRSCTLR13 = 35048,
692 TRCRSCTLR14 = 35056,
693 TRCRSCTLR15 = 35064,
694 TRCRSCTLR16 = 34945,
695 TRCRSCTLR17 = 34953,
696 TRCRSCTLR18 = 34961,
697 TRCRSCTLR19 = 34969,
698 TRCRSCTLR20 = 34977,
699 TRCRSCTLR21 = 34985,
700 TRCRSCTLR22 = 34993,
701 TRCRSCTLR23 = 35001,
702 TRCRSCTLR24 = 35009,
703 TRCRSCTLR25 = 35017,
704 TRCRSCTLR26 = 35025,
705 TRCRSCTLR27 = 35033,
706 TRCRSCTLR28 = 35041,
707 TRCRSCTLR29 = 35049,
708 TRCRSCTLR30 = 35057,
709 TRCRSCTLR31 = 35065,
710 TRCSSCCR0 = 34946,
711 TRCSSCCR1 = 34954,
712 TRCSSCCR2 = 34962,
713 TRCSSCCR3 = 34970,
714 TRCSSCCR4 = 34978,
715 TRCSSCCR5 = 34986,
716 TRCSSCCR6 = 34994,
717 TRCSSCCR7 = 35002,
718 TRCSSCSR0 = 35010,
719 TRCSSCSR1 = 35018,
720 TRCSSCSR2 = 35026,
721 TRCSSCSR3 = 35034,
722 TRCSSCSR4 = 35042,
723 TRCSSCSR5 = 35050,
724 TRCSSCSR6 = 35058,
725 TRCSSCSR7 = 35066,
726 TRCSSPCICR0 = 34947,
727 TRCSSPCICR1 = 34955,
728 TRCSSPCICR2 = 34963,
729 TRCSSPCICR3 = 34971,
730 TRCSSPCICR4 = 34979,
731 TRCSSPCICR5 = 34987,
732 TRCSSPCICR6 = 34995,
733 TRCSSPCICR7 = 35003,
734 TRCPDCR = 34980,
735 TRCACVR0 = 35072,
736 TRCACVR1 = 35088,
737 TRCACVR2 = 35104,
738 TRCACVR3 = 35120,
739 TRCACVR4 = 35136,
740 TRCACVR5 = 35152,
741 TRCACVR6 = 35168,
742 TRCACVR7 = 35184,
743 TRCACVR8 = 35073,
744 TRCACVR9 = 35089,
745 TRCACVR10 = 35105,
746 TRCACVR11 = 35121,
747 TRCACVR12 = 35137,
748 TRCACVR13 = 35153,
749 TRCACVR14 = 35169,
750 TRCACVR15 = 35185,
751 TRCACATR0 = 35074,
752 TRCACATR1 = 35090,
753 TRCACATR2 = 35106,
754 TRCACATR3 = 35122,
755 TRCACATR4 = 35138,
756 TRCACATR5 = 35154,
757 TRCACATR6 = 35170,
758 TRCACATR7 = 35186,
759 TRCACATR8 = 35075,
760 TRCACATR9 = 35091,
761 TRCACATR10 = 35107,
762 TRCACATR11 = 35123,
763 TRCACATR12 = 35139,
764 TRCACATR13 = 35155,
765 TRCACATR14 = 35171,
766 TRCACATR15 = 35187,
767 TRCDVCVR0 = 35076,
768 TRCDVCVR1 = 35108,
769 TRCDVCVR2 = 35140,
770 TRCDVCVR3 = 35172,
771 TRCDVCVR4 = 35077,
772 TRCDVCVR5 = 35109,
773 TRCDVCVR6 = 35141,
774 TRCDVCVR7 = 35173,
775 TRCDVCMR0 = 35078,
776 TRCDVCMR1 = 35110,
777 TRCDVCMR2 = 35142,
778 TRCDVCMR3 = 35174,
779 TRCDVCMR4 = 35079,
780 TRCDVCMR5 = 35111,
781 TRCDVCMR6 = 35143,
782 TRCDVCMR7 = 35175,
783 TRCCIDCVR0 = 35200,
784 TRCCIDCVR1 = 35216,
785 TRCCIDCVR2 = 35232,
786 TRCCIDCVR3 = 35248,
787 TRCCIDCVR4 = 35264,
788 TRCCIDCVR5 = 35280,
789 TRCCIDCVR6 = 35296,
790 TRCCIDCVR7 = 35312,
791 TRCVMIDCVR0 = 35201,
792 TRCVMIDCVR1 = 35217,
793 TRCVMIDCVR2 = 35233,
794 TRCVMIDCVR3 = 35249,
795 TRCVMIDCVR4 = 35265,
796 TRCVMIDCVR5 = 35281,
797 TRCVMIDCVR6 = 35297,
798 TRCVMIDCVR7 = 35313,
799 TRCCIDCCTLR0 = 35202,
800 TRCCIDCCTLR1 = 35210,
801 TRCVMIDCCTLR0 = 35218,
802 TRCVMIDCCTLR1 = 35226,
803 TRCITCTRL = 35716,
804 TRCCLAIMSET = 35782,
805 TRCCLAIMCLR = 35790,
806 ICC_BPR1_EL1 = 50787,
807 ICC_BPR0_EL1 = 50755,
808 ICC_PMR_EL1 = 49712,
809 ICC_CTLR_EL1 = 50788,
810 ICC_CTLR_EL3 = 63076,
811 ICC_SRE_EL1 = 50789,
812 ICC_SRE_EL2 = 58957,
813 ICC_SRE_EL3 = 63077,
814 ICC_IGRPEN0_EL1 = 50790,
815 ICC_IGRPEN1_EL1 = 50791,
816 ICC_IGRPEN1_EL3 = 63079,
817 ICC_AP0R0_EL1 = 50756,
818 ICC_AP0R1_EL1 = 50757,
819 ICC_AP0R2_EL1 = 50758,
820 ICC_AP0R3_EL1 = 50759,
821 ICC_AP1R0_EL1 = 50760,
822 ICC_AP1R1_EL1 = 50761,
823 ICC_AP1R2_EL1 = 50762,
824 ICC_AP1R3_EL1 = 50763,
825 ICH_AP0R0_EL2 = 58944,
826 ICH_AP0R1_EL2 = 58945,
827 ICH_AP0R2_EL2 = 58946,
828 ICH_AP0R3_EL2 = 58947,
829 ICH_AP1R0_EL2 = 58952,
830 ICH_AP1R1_EL2 = 58953,
831 ICH_AP1R2_EL2 = 58954,
832 ICH_AP1R3_EL2 = 58955,
833 ICH_HCR_EL2 = 58968,
834 ICH_MISR_EL2 = 58970,
835 ICH_VMCR_EL2 = 58975,
836 ICH_LR0_EL2 = 58976,
837 ICH_LR1_EL2 = 58977,
838 ICH_LR2_EL2 = 58978,
839 ICH_LR3_EL2 = 58979,
840 ICH_LR4_EL2 = 58980,
841 ICH_LR5_EL2 = 58981,
842 ICH_LR6_EL2 = 58982,
843 ICH_LR7_EL2 = 58983,
844 ICH_LR8_EL2 = 58984,
845 ICH_LR9_EL2 = 58985,
846 ICH_LR10_EL2 = 58986,
847 ICH_LR11_EL2 = 58987,
848 ICH_LR12_EL2 = 58988,
849 ICH_LR13_EL2 = 58989,
850 ICH_LR14_EL2 = 58990,
851 ICH_LR15_EL2 = 58991,
852 VSCTLR_EL2 = 57600,
853 MPUIR_EL1 = 49156,
854 MPUIR_EL2 = 57348,
855 PRENR_EL1 = 49929,
856 PRENR_EL2 = 58121,
857 PRSELR_EL1 = 49937,
858 PRSELR_EL2 = 58129,
859 PRBAR_EL1 = 49984,
860 PRBAR_EL2 = 58176,
861 PRLAR_EL1 = 49985,
862 PRLAR_EL2 = 58177,
863 PRBAR1_EL1 = 49988,
864 PRLAR1_EL1 = 49989,
865 PRBAR1_EL2 = 58180,
866 PRLAR1_EL2 = 58181,
867 PRBAR2_EL1 = 49992,
868 PRLAR2_EL1 = 49993,
869 PRBAR2_EL2 = 58184,
870 PRLAR2_EL2 = 58185,
871 PRBAR3_EL1 = 49996,
872 PRLAR3_EL1 = 49997,
873 PRBAR3_EL2 = 58188,
874 PRLAR3_EL2 = 58189,
875 PRBAR4_EL1 = 50000,
876 PRLAR4_EL1 = 50001,
877 PRBAR4_EL2 = 58192,
878 PRLAR4_EL2 = 58193,
879 PRBAR5_EL1 = 50004,
880 PRLAR5_EL1 = 50005,
881 PRBAR5_EL2 = 58196,
882 PRLAR5_EL2 = 58197,
883 PRBAR6_EL1 = 50008,
884 PRLAR6_EL1 = 50009,
885 PRBAR6_EL2 = 58200,
886 PRLAR6_EL2 = 58201,
887 PRBAR7_EL1 = 50012,
888 PRLAR7_EL1 = 50013,
889 PRBAR7_EL2 = 58204,
890 PRLAR7_EL2 = 58205,
891 PRBAR8_EL1 = 50016,
892 PRLAR8_EL1 = 50017,
893 PRBAR8_EL2 = 58208,
894 PRLAR8_EL2 = 58209,
895 PRBAR9_EL1 = 50020,
896 PRLAR9_EL1 = 50021,
897 PRBAR9_EL2 = 58212,
898 PRLAR9_EL2 = 58213,
899 PRBAR10_EL1 = 50024,
900 PRLAR10_EL1 = 50025,
901 PRBAR10_EL2 = 58216,
902 PRLAR10_EL2 = 58217,
903 PRBAR11_EL1 = 50028,
904 PRLAR11_EL1 = 50029,
905 PRBAR11_EL2 = 58220,
906 PRLAR11_EL2 = 58221,
907 PRBAR12_EL1 = 50032,
908 PRLAR12_EL1 = 50033,
909 PRBAR12_EL2 = 58224,
910 PRLAR12_EL2 = 58225,
911 PRBAR13_EL1 = 50036,
912 PRLAR13_EL1 = 50037,
913 PRBAR13_EL2 = 58228,
914 PRLAR13_EL2 = 58229,
915 PRBAR14_EL1 = 50040,
916 PRLAR14_EL1 = 50041,
917 PRBAR14_EL2 = 58232,
918 PRLAR14_EL2 = 58233,
919 PRBAR15_EL1 = 50044,
920 PRLAR15_EL1 = 50045,
921 PRBAR15_EL2 = 58236,
922 PRLAR15_EL2 = 58237,
923 PAN = 49683,
924 LORSA_EL1 = 50464,
925 LOREA_EL1 = 50465,
926 LORN_EL1 = 50466,
927 LORC_EL1 = 50467,
928 TTBR1_EL2 = 57601,
929 CNTHV_TVAL_EL2 = 59160,
930 CNTHV_CVAL_EL2 = 59162,
931 CNTHV_CTL_EL2 = 59161,
932 SCTLR_EL12 = 59520,
933 CPACR_EL12 = 59522,
934 TTBR0_EL12 = 59648,
935 TTBR1_EL12 = 59649,
936 TCR_EL12 = 59650,
937 AFSR0_EL12 = 60040,
938 AFSR1_EL12 = 60041,
939 ESR_EL12 = 60048,
940 FAR_EL12 = 60160,
941 MAIR_EL12 = 60688,
942 AMAIR_EL12 = 60696,
943 VBAR_EL12 = 60928,
944 CONTEXTIDR_EL12 = 61057,
945 CNTKCTL_EL12 = 61192,
946 CNTP_TVAL_EL02 = 61200,
947 CNTP_CTL_EL02 = 61201,
948 CNTP_CVAL_EL02 = 61202,
949 CNTV_TVAL_EL02 = 61208,
950 CNTV_CTL_EL02 = 61209,
951 CNTV_CVAL_EL02 = 61210,
952 SPSR_EL12 = 59904,
953 ELR_EL12 = 59905,
954 CONTEXTIDR_EL2 = 59009,
955 UAO = 49684,
956 PMBLIMITR_EL1 = 50384,
957 PMBPTR_EL1 = 50385,
958 PMBSR_EL1 = 50387,
959 PMBIDR_EL1 = 50391,
960 PMSCR_EL2 = 58568,
961 PMSCR_EL12 = 60616,
962 PMSCR_EL1 = 50376,
963 PMSICR_EL1 = 50378,
964 PMSIRR_EL1 = 50379,
965 PMSFCR_EL1 = 50380,
966 PMSEVFR_EL1 = 50381,
967 PMSLATFR_EL1 = 50382,
968 PMSIDR_EL1 = 50383,
969 ERRSELR_EL1 = 49817,
970 ERXCTLR_EL1 = 49825,
971 ERXSTATUS_EL1 = 49826,
972 ERXADDR_EL1 = 49827,
973 ERXMISC0_EL1 = 49832,
974 ERXMISC1_EL1 = 49833,
975 DISR_EL1 = 50697,
976 VDISR_EL2 = 58889,
977 VSESR_EL2 = 58003,
978 APIAKeyLo_EL1 = 49416,
979 APIAKeyHi_EL1 = 49417,
980 APIBKeyLo_EL1 = 49418,
981 APIBKeyHi_EL1 = 49419,
982 APDAKeyLo_EL1 = 49424,
983 APDAKeyHi_EL1 = 49425,
984 APDBKeyLo_EL1 = 49426,
985 APDBKeyHi_EL1 = 49427,
986 APGAKeyLo_EL1 = 49432,
987 APGAKeyHi_EL1 = 49433,
988 VSTCR_EL2 = 57650,
989 VSTTBR_EL2 = 57648,
990 CNTHVS_TVAL_EL2 = 59168,
991 CNTHVS_CVAL_EL2 = 59170,
992 CNTHVS_CTL_EL2 = 59169,
993 CNTHPS_TVAL_EL2 = 59176,
994 CNTHPS_CVAL_EL2 = 59178,
995 CNTHPS_CTL_EL2 = 59177,
996 SDER32_EL2 = 57497,
997 ERXPFGCTL_EL1 = 49829,
998 ERXPFGCDN_EL1 = 49830,
999 ERXMISC2_EL1 = 49834,
1000 ERXMISC3_EL1 = 49835,
1001 ERXPFGF_EL1 = 49828,
1002 MPAMVPMV_EL2 = 58657,
1003 MPAMVPM0_EL2 = 58672,
1004 MPAMVPM1_EL2 = 58673,
1005 MPAMVPM2_EL2 = 58674,
1006 MPAMVPM3_EL2 = 58675,
1007 MPAMVPM4_EL2 = 58676,
1008 MPAMVPM5_EL2 = 58677,
1009 MPAMVPM6_EL2 = 58678,
1010 MPAMVPM7_EL2 = 58679,
1011 AMCR_EL0 = 56976,
1012 AMCFGR_EL0 = 56977,
1013 AMCGCR_EL0 = 56978,
1014 AMUSERENR_EL0 = 56979,
1015 AMCNTENCLR0_EL0 = 56980,
1016 AMCNTENSET0_EL0 = 56981,
1017 AMEVCNTR00_EL0 = 56992,
1018 AMEVCNTR01_EL0 = 56993,
1019 AMEVCNTR02_EL0 = 56994,
1020 AMEVCNTR03_EL0 = 56995,
1021 AMEVTYPER00_EL0 = 57008,
1022 AMEVTYPER01_EL0 = 57009,
1023 AMEVTYPER02_EL0 = 57010,
1024 AMEVTYPER03_EL0 = 57011,
1025 AMCNTENCLR1_EL0 = 56984,
1026 AMCNTENSET1_EL0 = 56985,
1027 AMEVCNTR10_EL0 = 57056,
1028 AMEVCNTR11_EL0 = 57057,
1029 AMEVCNTR12_EL0 = 57058,
1030 AMEVCNTR13_EL0 = 57059,
1031 AMEVCNTR14_EL0 = 57060,
1032 AMEVCNTR15_EL0 = 57061,
1033 AMEVCNTR16_EL0 = 57062,
1034 AMEVCNTR17_EL0 = 57063,
1035 AMEVCNTR18_EL0 = 57064,
1036 AMEVCNTR19_EL0 = 57065,
1037 AMEVCNTR110_EL0 = 57066,
1038 AMEVCNTR111_EL0 = 57067,
1039 AMEVCNTR112_EL0 = 57068,
1040 AMEVCNTR113_EL0 = 57069,
1041 AMEVCNTR114_EL0 = 57070,
1042 AMEVCNTR115_EL0 = 57071,
1043 AMEVTYPER10_EL0 = 57072,
1044 AMEVTYPER11_EL0 = 57073,
1045 AMEVTYPER12_EL0 = 57074,
1046 AMEVTYPER13_EL0 = 57075,
1047 AMEVTYPER14_EL0 = 57076,
1048 AMEVTYPER15_EL0 = 57077,
1049 AMEVTYPER16_EL0 = 57078,
1050 AMEVTYPER17_EL0 = 57079,
1051 AMEVTYPER18_EL0 = 57080,
1052 AMEVTYPER19_EL0 = 57081,
1053 AMEVTYPER110_EL0 = 57082,
1054 AMEVTYPER111_EL0 = 57083,
1055 AMEVTYPER112_EL0 = 57084,
1056 AMEVTYPER113_EL0 = 57085,
1057 AMEVTYPER114_EL0 = 57086,
1058 AMEVTYPER115_EL0 = 57087,
1059 TRFCR_EL1 = 49297,
1060 TRFCR_EL2 = 57489,
1061 TRFCR_EL12 = 59537,
1062 DIT = 55829,
1063 VNCR_EL2 = 57616,
1064 ZCR_EL1 = 49296,
1065 ZCR_EL2 = 57488,
1066 ZCR_EL3 = 61584,
1067 ZCR_EL12 = 59536,
1068 SSBS = 55830,
1069 TCO = 55831,
1070 GCR_EL1 = 49286,
1071 RGSR_EL1 = 49285,
1072 TFSR_EL1 = 49840,
1073 TFSR_EL2 = 58032,
1074 TFSR_EL3 = 62128,
1075 TFSR_EL12 = 60080,
1076 TFSRE0_EL1 = 49841,
1077 GMID_EL1 = 51204,
1078 TRCRSR = 34896,
1079 TRCEXTINSELR0 = 34884,
1080 TRCEXTINSELR1 = 34892,
1081 TRCEXTINSELR2 = 34900,
1082 TRCEXTINSELR3 = 34908,
1083 TRBLIMITR_EL1 = 50392,
1084 TRBPTR_EL1 = 50393,
1085 TRBBASER_EL1 = 50394,
1086 TRBSR_EL1 = 50395,
1087 TRBMAR_EL1 = 50396,
1088 TRBMPAM_EL1 = 50397,
1089 TRBTRG_EL1 = 50398,
1090 TRBIDR_EL1 = 50399,
1091 AMCG1IDR_EL0 = 56982,
1092 AMEVCNTVOFF00_EL2 = 59072,
1093 AMEVCNTVOFF10_EL2 = 59088,
1094 AMEVCNTVOFF01_EL2 = 59073,
1095 AMEVCNTVOFF11_EL2 = 59089,
1096 AMEVCNTVOFF02_EL2 = 59074,
1097 AMEVCNTVOFF12_EL2 = 59090,
1098 AMEVCNTVOFF03_EL2 = 59075,
1099 AMEVCNTVOFF13_EL2 = 59091,
1100 AMEVCNTVOFF04_EL2 = 59076,
1101 AMEVCNTVOFF14_EL2 = 59092,
1102 AMEVCNTVOFF05_EL2 = 59077,
1103 AMEVCNTVOFF15_EL2 = 59093,
1104 AMEVCNTVOFF06_EL2 = 59078,
1105 AMEVCNTVOFF16_EL2 = 59094,
1106 AMEVCNTVOFF07_EL2 = 59079,
1107 AMEVCNTVOFF17_EL2 = 59095,
1108 AMEVCNTVOFF08_EL2 = 59080,
1109 AMEVCNTVOFF18_EL2 = 59096,
1110 AMEVCNTVOFF09_EL2 = 59081,
1111 AMEVCNTVOFF19_EL2 = 59097,
1112 AMEVCNTVOFF010_EL2 = 59082,
1113 AMEVCNTVOFF110_EL2 = 59098,
1114 AMEVCNTVOFF011_EL2 = 59083,
1115 AMEVCNTVOFF111_EL2 = 59099,
1116 AMEVCNTVOFF012_EL2 = 59084,
1117 AMEVCNTVOFF112_EL2 = 59100,
1118 AMEVCNTVOFF013_EL2 = 59085,
1119 AMEVCNTVOFF113_EL2 = 59101,
1120 AMEVCNTVOFF014_EL2 = 59086,
1121 AMEVCNTVOFF114_EL2 = 59102,
1122 AMEVCNTVOFF015_EL2 = 59087,
1123 AMEVCNTVOFF115_EL2 = 59103,
1124 HFGRTR_EL2 = 57484,
1125 HFGWTR_EL2 = 57485,
1126 HFGITR_EL2 = 57486,
1127 HDFGRTR_EL2 = 57740,
1128 HDFGWTR_EL2 = 57741,
1129 HAFGRTR_EL2 = 57742,
1130 HDFGRTR2_EL2 = 57736,
1131 HDFGWTR2_EL2 = 57737,
1132 HFGRTR2_EL2 = 57738,
1133 HFGWTR2_EL2 = 57739,
1134 HFGITR2_EL2 = 57743,
1135 CNTSCALE_EL2 = 59140,
1136 CNTISCALE_EL2 = 59141,
1137 CNTPOFF_EL2 = 59142,
1138 CNTVFRQ_EL2 = 59143,
1139 CNTPCTSS_EL0 = 57093,
1140 CNTVCTSS_EL0 = 57094,
1141 ACCDATA_EL1 = 50821,
1142 BRBCR_EL1 = 35968,
1143 BRBCR_EL12 = 44160,
1144 BRBCR_EL2 = 42112,
1145 BRBFCR_EL1 = 35969,
1146 BRBIDR0_EL1 = 35984,
1147 BRBINFINJ_EL1 = 35976,
1148 BRBSRCINJ_EL1 = 35977,
1149 BRBTGTINJ_EL1 = 35978,
1150 BRBTS_EL1 = 35970,
1151 BRBINF0_EL1 = 35840,
1152 BRBSRC0_EL1 = 35841,
1153 BRBTGT0_EL1 = 35842,
1154 BRBINF1_EL1 = 35848,
1155 BRBSRC1_EL1 = 35849,
1156 BRBTGT1_EL1 = 35850,
1157 BRBINF2_EL1 = 35856,
1158 BRBSRC2_EL1 = 35857,
1159 BRBTGT2_EL1 = 35858,
1160 BRBINF3_EL1 = 35864,
1161 BRBSRC3_EL1 = 35865,
1162 BRBTGT3_EL1 = 35866,
1163 BRBINF4_EL1 = 35872,
1164 BRBSRC4_EL1 = 35873,
1165 BRBTGT4_EL1 = 35874,
1166 BRBINF5_EL1 = 35880,
1167 BRBSRC5_EL1 = 35881,
1168 BRBTGT5_EL1 = 35882,
1169 BRBINF6_EL1 = 35888,
1170 BRBSRC6_EL1 = 35889,
1171 BRBTGT6_EL1 = 35890,
1172 BRBINF7_EL1 = 35896,
1173 BRBSRC7_EL1 = 35897,
1174 BRBTGT7_EL1 = 35898,
1175 BRBINF8_EL1 = 35904,
1176 BRBSRC8_EL1 = 35905,
1177 BRBTGT8_EL1 = 35906,
1178 BRBINF9_EL1 = 35912,
1179 BRBSRC9_EL1 = 35913,
1180 BRBTGT9_EL1 = 35914,
1181 BRBINF10_EL1 = 35920,
1182 BRBSRC10_EL1 = 35921,
1183 BRBTGT10_EL1 = 35922,
1184 BRBINF11_EL1 = 35928,
1185 BRBSRC11_EL1 = 35929,
1186 BRBTGT11_EL1 = 35930,
1187 BRBINF12_EL1 = 35936,
1188 BRBSRC12_EL1 = 35937,
1189 BRBTGT12_EL1 = 35938,
1190 BRBINF13_EL1 = 35944,
1191 BRBSRC13_EL1 = 35945,
1192 BRBTGT13_EL1 = 35946,
1193 BRBINF14_EL1 = 35952,
1194 BRBSRC14_EL1 = 35953,
1195 BRBTGT14_EL1 = 35954,
1196 BRBINF15_EL1 = 35960,
1197 BRBSRC15_EL1 = 35961,
1198 BRBTGT15_EL1 = 35962,
1199 BRBINF16_EL1 = 35844,
1200 BRBSRC16_EL1 = 35845,
1201 BRBTGT16_EL1 = 35846,
1202 BRBINF17_EL1 = 35852,
1203 BRBSRC17_EL1 = 35853,
1204 BRBTGT17_EL1 = 35854,
1205 BRBINF18_EL1 = 35860,
1206 BRBSRC18_EL1 = 35861,
1207 BRBTGT18_EL1 = 35862,
1208 BRBINF19_EL1 = 35868,
1209 BRBSRC19_EL1 = 35869,
1210 BRBTGT19_EL1 = 35870,
1211 BRBINF20_EL1 = 35876,
1212 BRBSRC20_EL1 = 35877,
1213 BRBTGT20_EL1 = 35878,
1214 BRBINF21_EL1 = 35884,
1215 BRBSRC21_EL1 = 35885,
1216 BRBTGT21_EL1 = 35886,
1217 BRBINF22_EL1 = 35892,
1218 BRBSRC22_EL1 = 35893,
1219 BRBTGT22_EL1 = 35894,
1220 BRBINF23_EL1 = 35900,
1221 BRBSRC23_EL1 = 35901,
1222 BRBTGT23_EL1 = 35902,
1223 BRBINF24_EL1 = 35908,
1224 BRBSRC24_EL1 = 35909,
1225 BRBTGT24_EL1 = 35910,
1226 BRBINF25_EL1 = 35916,
1227 BRBSRC25_EL1 = 35917,
1228 BRBTGT25_EL1 = 35918,
1229 BRBINF26_EL1 = 35924,
1230 BRBSRC26_EL1 = 35925,
1231 BRBTGT26_EL1 = 35926,
1232 BRBINF27_EL1 = 35932,
1233 BRBSRC27_EL1 = 35933,
1234 BRBTGT27_EL1 = 35934,
1235 BRBINF28_EL1 = 35940,
1236 BRBSRC28_EL1 = 35941,
1237 BRBTGT28_EL1 = 35942,
1238 BRBINF29_EL1 = 35948,
1239 BRBSRC29_EL1 = 35949,
1240 BRBTGT29_EL1 = 35950,
1241 BRBINF30_EL1 = 35956,
1242 BRBSRC30_EL1 = 35957,
1243 BRBTGT30_EL1 = 35958,
1244 BRBINF31_EL1 = 35964,
1245 BRBSRC31_EL1 = 35965,
1246 BRBTGT31_EL1 = 35966,
1247 PMSNEVFR_EL1 = 50377,
1248 SMCR_EL1 = 49302,
1249 SMCR_EL2 = 57494,
1250 SMCR_EL3 = 61590,
1251 SMCR_EL12 = 59542,
1252 SVCR = 55826,
1253 SMPRI_EL1 = 49300,
1254 SMPRIMAP_EL2 = 57493,
1255 SMIDR_EL1 = 51206,
1256 TPIDR2_EL0 = 56965,
1257 MPAMSM_EL1 = 50475,
1258 ALLINT = 49688,
1259 ICC_NMIAR1_EL1 = 50765,
1260 GCSCR_EL1 = 49448,
1261 GCSPR_EL1 = 49449,
1262 GCSCRE0_EL1 = 49450,
1263 GCSPR_EL0 = 55593,
1264 GCSCR_EL2 = 57640,
1265 GCSPR_EL2 = 57641,
1266 GCSCR_EL12 = 59688,
1267 GCSPR_EL12 = 59689,
1268 GCSCR_EL3 = 61736,
1269 GCSPR_EL3 = 61737,
1270 AMAIR2_EL1 = 50457,
1271 AMAIR2_EL12 = 60697,
1272 AMAIR2_EL2 = 58649,
1273 AMAIR2_EL3 = 62745,
1274 MAIR2_EL1 = 50449,
1275 MAIR2_EL12 = 60689,
1276 MAIR2_EL2 = 58633,
1277 MAIR2_EL3 = 62729,
1278 PIRE0_EL1 = 50450,
1279 PIRE0_EL12 = 60690,
1280 PIRE0_EL2 = 58642,
1281 PIR_EL1 = 50451,
1282 PIR_EL12 = 60691,
1283 PIR_EL2 = 58643,
1284 PIR_EL3 = 62739,
1285 S2PIR_EL2 = 58645,
1286 POR_EL0 = 56596,
1287 POR_EL1 = 50452,
1288 POR_EL12 = 60692,
1289 POR_EL2 = 58644,
1290 POR_EL3 = 62740,
1291 S2POR_EL1 = 50453,
1292 SCTLR2_EL1 = 49283,
1293 SCTLR2_EL12 = 59523,
1294 SCTLR2_EL2 = 57475,
1295 SCTLR2_EL3 = 61571,
1296 TCR2_EL1 = 49411,
1297 TCR2_EL12 = 59651,
1298 TCR2_EL2 = 57603,
1299 RCWMASK_EL1 = 50822,
1300 RCWSMASK_EL1 = 50819,
1301 MDSELR_EL1 = 32802,
1302 PMUACR_EL1 = 50420,
1303 PMCCNTSVR_EL1 = 34655,
1304 PMICNTSVR_EL1 = 34656,
1305 PMSSCR_EL1 = 50411,
1306 PMEVCNTSVR0_EL1 = 34624,
1307 PMEVCNTSVR1_EL1 = 34625,
1308 PMEVCNTSVR2_EL1 = 34626,
1309 PMEVCNTSVR3_EL1 = 34627,
1310 PMEVCNTSVR4_EL1 = 34628,
1311 PMEVCNTSVR5_EL1 = 34629,
1312 PMEVCNTSVR6_EL1 = 34630,
1313 PMEVCNTSVR7_EL1 = 34631,
1314 PMEVCNTSVR8_EL1 = 34632,
1315 PMEVCNTSVR9_EL1 = 34633,
1316 PMEVCNTSVR10_EL1 = 34634,
1317 PMEVCNTSVR11_EL1 = 34635,
1318 PMEVCNTSVR12_EL1 = 34636,
1319 PMEVCNTSVR13_EL1 = 34637,
1320 PMEVCNTSVR14_EL1 = 34638,
1321 PMEVCNTSVR15_EL1 = 34639,
1322 PMEVCNTSVR16_EL1 = 34640,
1323 PMEVCNTSVR17_EL1 = 34641,
1324 PMEVCNTSVR18_EL1 = 34642,
1325 PMEVCNTSVR19_EL1 = 34643,
1326 PMEVCNTSVR20_EL1 = 34644,
1327 PMEVCNTSVR21_EL1 = 34645,
1328 PMEVCNTSVR22_EL1 = 34646,
1329 PMEVCNTSVR23_EL1 = 34647,
1330 PMEVCNTSVR24_EL1 = 34648,
1331 PMEVCNTSVR25_EL1 = 34649,
1332 PMEVCNTSVR26_EL1 = 34650,
1333 PMEVCNTSVR27_EL1 = 34651,
1334 PMEVCNTSVR28_EL1 = 34652,
1335 PMEVCNTSVR29_EL1 = 34653,
1336 PMEVCNTSVR30_EL1 = 34654,
1337 PMICNTR_EL0 = 56480,
1338 PMICFILTR_EL0 = 56496,
1339 PMZR_EL0 = 56556,
1340 PMECR_EL1 = 50421,
1341 PMIAR_EL1 = 50423,
1342 SPMACCESSR_EL1 = 34027,
1343 SPMACCESSR_EL12 = 44267,
1344 SPMACCESSR_EL2 = 42219,
1345 SPMACCESSR_EL3 = 46315,
1346 SPMCNTENCLR_EL0 = 40162,
1347 SPMCNTENSET_EL0 = 40161,
1348 SPMCR_EL0 = 40160,
1349 SPMDEVAFF_EL1 = 34030,
1350 SPMDEVARCH_EL1 = 34029,
1351 SPMEVCNTR0_EL0 = 40704,
1352 SPMEVFILT2R0_EL0 = 40752,
1353 SPMEVFILTR0_EL0 = 40736,
1354 SPMEVTYPER0_EL0 = 40720,
1355 SPMEVCNTR1_EL0 = 40705,
1356 SPMEVFILT2R1_EL0 = 40753,
1357 SPMEVFILTR1_EL0 = 40737,
1358 SPMEVTYPER1_EL0 = 40721,
1359 SPMEVCNTR2_EL0 = 40706,
1360 SPMEVFILT2R2_EL0 = 40754,
1361 SPMEVFILTR2_EL0 = 40738,
1362 SPMEVTYPER2_EL0 = 40722,
1363 SPMEVCNTR3_EL0 = 40707,
1364 SPMEVFILT2R3_EL0 = 40755,
1365 SPMEVFILTR3_EL0 = 40739,
1366 SPMEVTYPER3_EL0 = 40723,
1367 SPMEVCNTR4_EL0 = 40708,
1368 SPMEVFILT2R4_EL0 = 40756,
1369 SPMEVFILTR4_EL0 = 40740,
1370 SPMEVTYPER4_EL0 = 40724,
1371 SPMEVCNTR5_EL0 = 40709,
1372 SPMEVFILT2R5_EL0 = 40757,
1373 SPMEVFILTR5_EL0 = 40741,
1374 SPMEVTYPER5_EL0 = 40725,
1375 SPMEVCNTR6_EL0 = 40710,
1376 SPMEVFILT2R6_EL0 = 40758,
1377 SPMEVFILTR6_EL0 = 40742,
1378 SPMEVTYPER6_EL0 = 40726,
1379 SPMEVCNTR7_EL0 = 40711,
1380 SPMEVFILT2R7_EL0 = 40759,
1381 SPMEVFILTR7_EL0 = 40743,
1382 SPMEVTYPER7_EL0 = 40727,
1383 SPMEVCNTR8_EL0 = 40712,
1384 SPMEVFILT2R8_EL0 = 40760,
1385 SPMEVFILTR8_EL0 = 40744,
1386 SPMEVTYPER8_EL0 = 40728,
1387 SPMEVCNTR9_EL0 = 40713,
1388 SPMEVFILT2R9_EL0 = 40761,
1389 SPMEVFILTR9_EL0 = 40745,
1390 SPMEVTYPER9_EL0 = 40729,
1391 SPMEVCNTR10_EL0 = 40714,
1392 SPMEVFILT2R10_EL0 = 40762,
1393 SPMEVFILTR10_EL0 = 40746,
1394 SPMEVTYPER10_EL0 = 40730,
1395 SPMEVCNTR11_EL0 = 40715,
1396 SPMEVFILT2R11_EL0 = 40763,
1397 SPMEVFILTR11_EL0 = 40747,
1398 SPMEVTYPER11_EL0 = 40731,
1399 SPMEVCNTR12_EL0 = 40716,
1400 SPMEVFILT2R12_EL0 = 40764,
1401 SPMEVFILTR12_EL0 = 40748,
1402 SPMEVTYPER12_EL0 = 40732,
1403 SPMEVCNTR13_EL0 = 40717,
1404 SPMEVFILT2R13_EL0 = 40765,
1405 SPMEVFILTR13_EL0 = 40749,
1406 SPMEVTYPER13_EL0 = 40733,
1407 SPMEVCNTR14_EL0 = 40718,
1408 SPMEVFILT2R14_EL0 = 40766,
1409 SPMEVFILTR14_EL0 = 40750,
1410 SPMEVTYPER14_EL0 = 40734,
1411 SPMEVCNTR15_EL0 = 40719,
1412 SPMEVFILT2R15_EL0 = 40767,
1413 SPMEVFILTR15_EL0 = 40751,
1414 SPMEVTYPER15_EL0 = 40735,
1415 SPMIIDR_EL1 = 34028,
1416 SPMINTENCLR_EL1 = 34034,
1417 SPMINTENSET_EL1 = 34033,
1418 SPMOVSCLR_EL0 = 40163,
1419 SPMOVSSET_EL0 = 40179,
1420 SPMSELR_EL0 = 40165,
1421 SPMCGCR0_EL1 = 34024,
1422 SPMCGCR1_EL1 = 34025,
1423 SPMCFGR_EL1 = 34031,
1424 SPMROOTCR_EL3 = 46327,
1425 SPMSCR_EL1 = 48375,
1426 TRCITEEDCR = 34833,
1427 TRCITECR_EL1 = 49299,
1428 TRCITECR_EL12 = 59539,
1429 TRCITECR_EL2 = 57491,
1430 PMSDSFR_EL1 = 50388,
1431 ERXGSR_EL1 = 49818,
1432 PFAR_EL1 = 49925,
1433 PFAR_EL12 = 60165,
1434 PFAR_EL2 = 58117,
1435 PM = 49689,
1436 ID_AA64FPFR0_EL1 = 49191,
1437 FPMR = 55842,
1438 MDSTEPOP_EL1 = 32810,
1439 SPMZR_EL0 = 40164,
1440 VDISR_EL3 = 62985,
1441 VSESR_EL3 = 62099,
1442 HDBSSBR_EL2 = 57626,
1443 HDBSSPROD_EL2 = 57627,
1444 HACDBSBR_EL2 = 57628,
1445 HACDBSCONS_EL2 = 57629,
1446 FGWTE3_EL3 = 61581,
1447 MPAMBWIDR_EL1 = 50469,
1448 MPAMBW3_EL3 = 62764,
1449 MPAMBW2_EL2 = 58668,
1450 MPAMBW1_EL1 = 50476,
1451 MPAMBW1_EL12 = 60716,
1452 MPAMBW0_EL1 = 50477,
1453 MPAMBWCAP_EL2 = 58670,
1454 MPAMBWSM_EL1 = 50479,
1455 MPAM0_EL1 = 50473,
1456 MPAM1_EL1 = 50472,
1457 MPAM1_EL12 = 60712,
1458 MPAM2_EL2 = 58664,
1459 MPAM3_EL3 = 62760,
1460 MPAMHCR_EL2 = 58656,
1461 MPAMIDR_EL1 = 50468,
1462 MPAMCTL_EL1 = 50474,
1463 MPAMCTL_EL12 = 60714,
1464 MPAMCTL_EL2 = 58666,
1465 MPAMCTL_EL3 = 62762,
1466 SCR2_EL3 = 61586,
1467 SCTLRMASK_EL1 = 49312,
1468 SCTLRMASK_EL2 = 57504,
1469 SCTLRMASK_EL12 = 59552,
1470 CPACRMASK_EL1 = 49314,
1471 CPTRMASK_EL2 = 57506,
1472 CPACRMASK_EL12 = 59554,
1473 SCTLR2MASK_EL1 = 49315,
1474 SCTLR2MASK_EL2 = 57507,
1475 SCTLR2MASK_EL12 = 59555,
1476 CPACRALIAS_EL1 = 49316,
1477 SCTLRALIAS_EL1 = 49318,
1478 SCTLR2ALIAS_EL1 = 49319,
1479 TCRMASK_EL1 = 49466,
1480 TCRMASK_EL2 = 57658,
1481 TCRMASK_EL12 = 59706,
1482 TCR2MASK_EL1 = 49467,
1483 TCR2MASK_EL2 = 57659,
1484 TCR2MASK_EL12 = 59707,
1485 TCRALIAS_EL1 = 49470,
1486 TCR2ALIAS_EL1 = 49471,
1487 ACTLRMASK_EL1 = 49313,
1488 ACTLRMASK_EL2 = 57505,
1489 ACTLRMASK_EL12 = 59553,
1490 ACTLRALIAS_EL1 = 49317,
1491 GPCBW_EL3 = 61709,
1492 PMBMAR_EL1 = 50389,
1493 PMBSR_EL12 = 60627,
1494 PMBSR_EL2 = 58579,
1495 PMBSR_EL3 = 62675,
1496 TRBSR_EL12 = 60635,
1497 TRBSR_EL2 = 58587,
1498 TRBSR_EL3 = 62683,
1499 VTLBID0_EL2 = 57664,
1500 VTLBID1_EL2 = 57665,
1501 VTLBID2_EL2 = 57666,
1502 VTLBID3_EL2 = 57667,
1503 VTLBIDOS0_EL2 = 57672,
1504 VTLBIDOS1_EL2 = 57673,
1505 VTLBIDOS2_EL2 = 57674,
1506 VTLBIDOS3_EL2 = 57675,
1507 TLBIDIDR_EL1 = 50470,
1508 ICC_APR_EL1 = 52736,
1509 ICC_APR_EL3 = 63040,
1510 ICC_CR0_EL1 = 52737,
1511 ICC_CR0_EL3 = 63048,
1512 ICC_DOMHPPIR_EL3 = 63042,
1513 ICC_HAPR_EL1 = 52739,
1514 ICC_HPPIR_EL1 = 50771,
1515 ICC_HPPIR_EL3 = 63049,
1516 ICC_IAFFIDR_EL1 = 50773,
1517 ICC_ICSR_EL1 = 50772,
1518 ICC_IDR0_EL1 = 50770,
1519 ICC_PCR_EL1 = 52738,
1520 ICC_PCR_EL3 = 63041,
1521 ICV_APR_EL1 = 52736,
1522 ICV_CR0_EL1 = 52737,
1523 ICV_HAPR_EL1 = 52739,
1524 ICV_HPPIR_EL1 = 50771,
1525 ICV_PCR_EL1 = 52738,
1526 ICC_PPI_DOMAINR0_EL3 = 63044,
1527 ICC_PPI_DOMAINR1_EL3 = 63045,
1528 ICC_PPI_DOMAINR2_EL3 = 63046,
1529 ICC_PPI_DOMAINR3_EL3 = 63047,
1530 ICC_PPI_PRIORITYR0_EL1 = 50800,
1531 ICC_PPI_PRIORITYR1_EL1 = 50801,
1532 ICC_PPI_PRIORITYR2_EL1 = 50802,
1533 ICC_PPI_PRIORITYR3_EL1 = 50803,
1534 ICC_PPI_PRIORITYR4_EL1 = 50804,
1535 ICC_PPI_PRIORITYR5_EL1 = 50805,
1536 ICC_PPI_PRIORITYR6_EL1 = 50806,
1537 ICC_PPI_PRIORITYR7_EL1 = 50807,
1538 ICC_PPI_PRIORITYR8_EL1 = 50808,
1539 ICC_PPI_PRIORITYR9_EL1 = 50809,
1540 ICC_PPI_PRIORITYR10_EL1 = 50810,
1541 ICC_PPI_PRIORITYR11_EL1 = 50811,
1542 ICC_PPI_PRIORITYR12_EL1 = 50812,
1543 ICC_PPI_PRIORITYR13_EL1 = 50813,
1544 ICC_PPI_PRIORITYR14_EL1 = 50814,
1545 ICC_PPI_PRIORITYR15_EL1 = 50815,
1546 ICC_PPI_CACTIVER0_EL1 = 50792,
1547 ICC_PPI_CPENDR0_EL1 = 50796,
1548 ICC_PPI_ENABLER0_EL1 = 50774,
1549 ICC_PPI_SACTIVER0_EL1 = 50794,
1550 ICC_PPI_SPENDR0_EL1 = 50798,
1551 ICC_PPI_HMR0_EL1 = 50768,
1552 ICC_PPI_CACTIVER1_EL1 = 50793,
1553 ICC_PPI_CPENDR1_EL1 = 50797,
1554 ICC_PPI_ENABLER1_EL1 = 50775,
1555 ICC_PPI_SACTIVER1_EL1 = 50795,
1556 ICC_PPI_SPENDR1_EL1 = 50799,
1557 ICC_PPI_HMR1_EL1 = 50769,
1558 ICV_PPI_CACTIVER0_EL1 = 50792,
1559 ICV_PPI_CPENDR0_EL1 = 50796,
1560 ICV_PPI_ENABLER0_EL1 = 50774,
1561 ICV_PPI_SACTIVER0_EL1 = 50794,
1562 ICV_PPI_SPENDR0_EL1 = 50798,
1563 ICV_PPI_HMR0_EL1 = 50768,
1564 ICV_PPI_CACTIVER1_EL1 = 50793,
1565 ICV_PPI_CPENDR1_EL1 = 50797,
1566 ICV_PPI_ENABLER1_EL1 = 50775,
1567 ICV_PPI_SACTIVER1_EL1 = 50795,
1568 ICV_PPI_SPENDR1_EL1 = 50799,
1569 ICV_PPI_HMR1_EL1 = 50769,
1570 ICV_PPI_PRIORITYR0_EL1 = 50800,
1571 ICV_PPI_PRIORITYR1_EL1 = 50801,
1572 ICV_PPI_PRIORITYR2_EL1 = 50802,
1573 ICV_PPI_PRIORITYR3_EL1 = 50803,
1574 ICV_PPI_PRIORITYR4_EL1 = 50804,
1575 ICV_PPI_PRIORITYR5_EL1 = 50805,
1576 ICV_PPI_PRIORITYR6_EL1 = 50806,
1577 ICV_PPI_PRIORITYR7_EL1 = 50807,
1578 ICV_PPI_PRIORITYR8_EL1 = 50808,
1579 ICV_PPI_PRIORITYR9_EL1 = 50809,
1580 ICV_PPI_PRIORITYR10_EL1 = 50810,
1581 ICV_PPI_PRIORITYR11_EL1 = 50811,
1582 ICV_PPI_PRIORITYR12_EL1 = 50812,
1583 ICV_PPI_PRIORITYR13_EL1 = 50813,
1584 ICV_PPI_PRIORITYR14_EL1 = 50814,
1585 ICV_PPI_PRIORITYR15_EL1 = 50815,
1586 ICH_APR_EL2 = 58948,
1587 ICH_CONTEXTR_EL2 = 58974,
1588 ICH_HFGITR_EL2 = 58959,
1589 ICH_HFGRTR_EL2 = 58956,
1590 ICH_HFGWTR_EL2 = 58958,
1591 ICH_HPPIR_EL2 = 58949,
1592 ICH_VCTLR_EL2 = 58972,
1593 ICH_PPI_ACTIVER0_EL2 = 58966,
1594 ICH_PPI_DVIR0_EL2 = 58960,
1595 ICH_PPI_ENABLER0_EL2 = 58962,
1596 ICH_PPI_HVIR0_EL2 = 58936,
1597 ICH_PPI_PENDR0_EL2 = 58964,
1598 ICH_PPI_ACTIVER1_EL2 = 58967,
1599 ICH_PPI_DVIR1_EL2 = 58961,
1600 ICH_PPI_ENABLER1_EL2 = 58963,
1601 ICH_PPI_HVIR1_EL2 = 58937,
1602 ICH_PPI_PENDR1_EL2 = 58965,
1603 ICH_PPI_PRIORITYR0_EL2 = 58992,
1604 ICH_PPI_PRIORITYR1_EL2 = 58993,
1605 ICH_PPI_PRIORITYR2_EL2 = 58994,
1606 ICH_PPI_PRIORITYR3_EL2 = 58995,
1607 ICH_PPI_PRIORITYR4_EL2 = 58996,
1608 ICH_PPI_PRIORITYR5_EL2 = 58997,
1609 ICH_PPI_PRIORITYR6_EL2 = 58998,
1610 ICH_PPI_PRIORITYR7_EL2 = 58999,
1611 ICH_PPI_PRIORITYR8_EL2 = 59000,
1612 ICH_PPI_PRIORITYR9_EL2 = 59001,
1613 ICH_PPI_PRIORITYR10_EL2 = 59002,
1614 ICH_PPI_PRIORITYR11_EL2 = 59003,
1615 ICH_PPI_PRIORITYR12_EL2 = 59004,
1616 ICH_PPI_PRIORITYR13_EL2 = 59005,
1617 ICH_PPI_PRIORITYR14_EL2 = 59006,
1618 ICH_PPI_PRIORITYR15_EL2 = 59007,
1619 DPOTBR0_EL1 = 49414,
1620 DPOTBR0_EL12 = 59654,
1621 DPOTBR1_EL1 = 49415,
1622 DPOTBR1_EL12 = 59655,
1623 DPOTBR0_EL2 = 57606,
1624 DPOTBR1_EL2 = 57607,
1625 DPOTBR0_EL3 = 61702,
1626 IRTBRU_EL1 = 49412,
1627 IRTBRU_EL12 = 59652,
1628 IRTBRP_EL1 = 49413,
1629 IRTBRP_EL12 = 59653,
1630 IRTBRU_EL2 = 57604,
1631 IRTBRP_EL2 = 57605,
1632 IRTBRP_EL3 = 61701,
1633 TTTBRU_EL1 = 50454,
1634 TTTBRU_EL12 = 60694,
1635 TTTBRP_EL1 = 50455,
1636 TTTBRP_EL12 = 60695,
1637 TTTBRU_EL2 = 58646,
1638 TTTBRP_EL2 = 58647,
1639 TTTBRP_EL3 = 62743,
1640 FGDTP0_EL1 = 49552,
1641 FGDTP0_EL2 = 57744,
1642 FGDTP0_EL12 = 59792,
1643 FGDTP0_EL3 = 61840,
1644 FGDTU0_EL1 = 49568,
1645 FGDTU0_EL2 = 57760,
1646 FGDTU0_EL12 = 59808,
1647 FGDTP1_EL1 = 49553,
1648 FGDTP1_EL2 = 57745,
1649 FGDTP1_EL12 = 59793,
1650 FGDTP1_EL3 = 61841,
1651 FGDTU1_EL1 = 49569,
1652 FGDTU1_EL2 = 57761,
1653 FGDTU1_EL12 = 59809,
1654 FGDTP2_EL1 = 49554,
1655 FGDTP2_EL2 = 57746,
1656 FGDTP2_EL12 = 59794,
1657 FGDTP2_EL3 = 61842,
1658 FGDTU2_EL1 = 49570,
1659 FGDTU2_EL2 = 57762,
1660 FGDTU2_EL12 = 59810,
1661 FGDTP3_EL1 = 49555,
1662 FGDTP3_EL2 = 57747,
1663 FGDTP3_EL12 = 59795,
1664 FGDTP3_EL3 = 61843,
1665 FGDTU3_EL1 = 49571,
1666 FGDTU3_EL2 = 57763,
1667 FGDTU3_EL12 = 59811,
1668 FGDTP4_EL1 = 49556,
1669 FGDTP4_EL2 = 57748,
1670 FGDTP4_EL12 = 59796,
1671 FGDTP4_EL3 = 61844,
1672 FGDTU4_EL1 = 49572,
1673 FGDTU4_EL2 = 57764,
1674 FGDTU4_EL12 = 59812,
1675 FGDTP5_EL1 = 49557,
1676 FGDTP5_EL2 = 57749,
1677 FGDTP5_EL12 = 59797,
1678 FGDTP5_EL3 = 61845,
1679 FGDTU5_EL1 = 49573,
1680 FGDTU5_EL2 = 57765,
1681 FGDTU5_EL12 = 59813,
1682 FGDTP6_EL1 = 49558,
1683 FGDTP6_EL2 = 57750,
1684 FGDTP6_EL12 = 59798,
1685 FGDTP6_EL3 = 61846,
1686 FGDTU6_EL1 = 49574,
1687 FGDTU6_EL2 = 57766,
1688 FGDTU6_EL12 = 59814,
1689 FGDTP7_EL1 = 49559,
1690 FGDTP7_EL2 = 57751,
1691 FGDTP7_EL12 = 59799,
1692 FGDTP7_EL3 = 61847,
1693 FGDTU7_EL1 = 49575,
1694 FGDTU7_EL2 = 57767,
1695 FGDTU7_EL12 = 59815,
1696 FGDTP8_EL1 = 49560,
1697 FGDTP8_EL2 = 57752,
1698 FGDTP8_EL12 = 59800,
1699 FGDTP8_EL3 = 61848,
1700 FGDTU8_EL1 = 49576,
1701 FGDTU8_EL2 = 57768,
1702 FGDTU8_EL12 = 59816,
1703 FGDTP9_EL1 = 49561,
1704 FGDTP9_EL2 = 57753,
1705 FGDTP9_EL12 = 59801,
1706 FGDTP9_EL3 = 61849,
1707 FGDTU9_EL1 = 49577,
1708 FGDTU9_EL2 = 57769,
1709 FGDTU9_EL12 = 59817,
1710 FGDTP10_EL1 = 49562,
1711 FGDTP10_EL2 = 57754,
1712 FGDTP10_EL12 = 59802,
1713 FGDTP10_EL3 = 61850,
1714 FGDTU10_EL1 = 49578,
1715 FGDTU10_EL2 = 57770,
1716 FGDTU10_EL12 = 59818,
1717 FGDTP11_EL1 = 49563,
1718 FGDTP11_EL2 = 57755,
1719 FGDTP11_EL12 = 59803,
1720 FGDTP11_EL3 = 61851,
1721 FGDTU11_EL1 = 49579,
1722 FGDTU11_EL2 = 57771,
1723 FGDTU11_EL12 = 59819,
1724 FGDTP12_EL1 = 49564,
1725 FGDTP12_EL2 = 57756,
1726 FGDTP12_EL12 = 59804,
1727 FGDTP12_EL3 = 61852,
1728 FGDTU12_EL1 = 49580,
1729 FGDTU12_EL2 = 57772,
1730 FGDTU12_EL12 = 59820,
1731 FGDTP13_EL1 = 49565,
1732 FGDTP13_EL2 = 57757,
1733 FGDTP13_EL12 = 59805,
1734 FGDTP13_EL3 = 61853,
1735 FGDTU13_EL1 = 49581,
1736 FGDTU13_EL2 = 57773,
1737 FGDTU13_EL12 = 59821,
1738 FGDTP14_EL1 = 49566,
1739 FGDTP14_EL2 = 57758,
1740 FGDTP14_EL12 = 59806,
1741 FGDTP14_EL3 = 61854,
1742 FGDTU14_EL1 = 49582,
1743 FGDTU14_EL2 = 57774,
1744 FGDTU14_EL12 = 59822,
1745 FGDTP15_EL1 = 49567,
1746 FGDTP15_EL2 = 57759,
1747 FGDTP15_EL12 = 59807,
1748 FGDTP15_EL3 = 61855,
1749 FGDTU15_EL1 = 49583,
1750 FGDTU15_EL2 = 57775,
1751 FGDTU15_EL12 = 59823,
1752 LDSTT_EL1 = 49423,
1753 LDSTT_EL12 = 59663,
1754 LDSTT_EL2 = 57615,
1755 TINDEX_EL0 = 55811,
1756 TINDEX_EL1 = 49667,
1757 TINDEX_EL2 = 57859,
1758 TINDEX_EL12 = 59907,
1759 TINDEX_EL3 = 61955,
1760 STINDEX_EL1 = 49666,
1761 STINDEX_EL2 = 57858,
1762 STINDEX_EL12 = 59906,
1763 STINDEX_EL3 = 61954,
1764 TPIDR3_EL0 = 56960,
1765 TPIDR3_EL1 = 50816,
1766 TPIDR3_EL12 = 61056,
1767 TPIDR3_EL2 = 59008,
1768 TPIDR3_EL3 = 63104,
1769 VNCCR_EL2 = 57617,
1770 DPOCR_EL0 = 55850,
1771 AFGDTP0_EL1 = 49584,
1772 AFGDTU0_EL1 = 49600,
1773 AFGDTP0_EL2 = 57776,
1774 AFGDTU0_EL2 = 57792,
1775 AFGDTP0_EL12 = 59824,
1776 AFGDTU0_EL12 = 59840,
1777 AFGDTP0_EL3 = 61872,
1778 AFGDTP1_EL1 = 49585,
1779 AFGDTU1_EL1 = 49601,
1780 AFGDTP1_EL2 = 57777,
1781 AFGDTU1_EL2 = 57793,
1782 AFGDTP1_EL12 = 59825,
1783 AFGDTU1_EL12 = 59841,
1784 AFGDTP1_EL3 = 61873,
1785 AFGDTP2_EL1 = 49586,
1786 AFGDTU2_EL1 = 49602,
1787 AFGDTP2_EL2 = 57778,
1788 AFGDTU2_EL2 = 57794,
1789 AFGDTP2_EL12 = 59826,
1790 AFGDTU2_EL12 = 59842,
1791 AFGDTP2_EL3 = 61874,
1792 AFGDTP3_EL1 = 49587,
1793 AFGDTU3_EL1 = 49603,
1794 AFGDTP3_EL2 = 57779,
1795 AFGDTU3_EL2 = 57795,
1796 AFGDTP3_EL12 = 59827,
1797 AFGDTU3_EL12 = 59843,
1798 AFGDTP3_EL3 = 61875,
1799 AFGDTP4_EL1 = 49588,
1800 AFGDTU4_EL1 = 49604,
1801 AFGDTP4_EL2 = 57780,
1802 AFGDTU4_EL2 = 57796,
1803 AFGDTP4_EL12 = 59828,
1804 AFGDTU4_EL12 = 59844,
1805 AFGDTP4_EL3 = 61876,
1806 AFGDTP5_EL1 = 49589,
1807 AFGDTU5_EL1 = 49605,
1808 AFGDTP5_EL2 = 57781,
1809 AFGDTU5_EL2 = 57797,
1810 AFGDTP5_EL12 = 59829,
1811 AFGDTU5_EL12 = 59845,
1812 AFGDTP5_EL3 = 61877,
1813 AFGDTP6_EL1 = 49590,
1814 AFGDTU6_EL1 = 49606,
1815 AFGDTP6_EL2 = 57782,
1816 AFGDTU6_EL2 = 57798,
1817 AFGDTP6_EL12 = 59830,
1818 AFGDTU6_EL12 = 59846,
1819 AFGDTP6_EL3 = 61878,
1820 AFGDTP7_EL1 = 49591,
1821 AFGDTU7_EL1 = 49607,
1822 AFGDTP7_EL2 = 57783,
1823 AFGDTU7_EL2 = 57799,
1824 AFGDTP7_EL12 = 59831,
1825 AFGDTU7_EL12 = 59847,
1826 AFGDTP7_EL3 = 61879,
1827 AFGDTP8_EL1 = 49592,
1828 AFGDTU8_EL1 = 49608,
1829 AFGDTP8_EL2 = 57784,
1830 AFGDTU8_EL2 = 57800,
1831 AFGDTP8_EL12 = 59832,
1832 AFGDTU8_EL12 = 59848,
1833 AFGDTP8_EL3 = 61880,
1834 AFGDTP9_EL1 = 49593,
1835 AFGDTU9_EL1 = 49609,
1836 AFGDTP9_EL2 = 57785,
1837 AFGDTU9_EL2 = 57801,
1838 AFGDTP9_EL12 = 59833,
1839 AFGDTU9_EL12 = 59849,
1840 AFGDTP9_EL3 = 61881,
1841 AFGDTP10_EL1 = 49594,
1842 AFGDTU10_EL1 = 49610,
1843 AFGDTP10_EL2 = 57786,
1844 AFGDTU10_EL2 = 57802,
1845 AFGDTP10_EL12 = 59834,
1846 AFGDTU10_EL12 = 59850,
1847 AFGDTP10_EL3 = 61882,
1848 AFGDTP11_EL1 = 49595,
1849 AFGDTU11_EL1 = 49611,
1850 AFGDTP11_EL2 = 57787,
1851 AFGDTU11_EL2 = 57803,
1852 AFGDTP11_EL12 = 59835,
1853 AFGDTU11_EL12 = 59851,
1854 AFGDTP11_EL3 = 61883,
1855 AFGDTP12_EL1 = 49596,
1856 AFGDTU12_EL1 = 49612,
1857 AFGDTP12_EL2 = 57788,
1858 AFGDTU12_EL2 = 57804,
1859 AFGDTP12_EL12 = 59836,
1860 AFGDTU12_EL12 = 59852,
1861 AFGDTP12_EL3 = 61884,
1862 AFGDTP13_EL1 = 49597,
1863 AFGDTU13_EL1 = 49613,
1864 AFGDTP13_EL2 = 57789,
1865 AFGDTU13_EL2 = 57805,
1866 AFGDTP13_EL12 = 59837,
1867 AFGDTU13_EL12 = 59853,
1868 AFGDTP13_EL3 = 61885,
1869 AFGDTP14_EL1 = 49598,
1870 AFGDTU14_EL1 = 49614,
1871 AFGDTP14_EL2 = 57790,
1872 AFGDTU14_EL2 = 57806,
1873 AFGDTP14_EL12 = 59838,
1874 AFGDTU14_EL12 = 59854,
1875 AFGDTP14_EL3 = 61886,
1876 AFGDTP15_EL1 = 49599,
1877 AFGDTU15_EL1 = 49615,
1878 AFGDTP15_EL2 = 57791,
1879 AFGDTU15_EL2 = 57807,
1880 AFGDTP15_EL12 = 59839,
1881 AFGDTU15_EL12 = 59855,
1882 AFGDTP15_EL3 = 61887,
1883 HCRMASK_EL2 = 57518,
1884 HCRXMASK_EL2 = 57519,
1885 NVHCR_EL2 = 57512,
1886 NVHCRX_EL2 = 57513,
1887 NVHCRMASK_EL2 = 57516,
1888 NVHCRXMASK_EL2 = 57517,
1889 TPCR0_EL0 = 55572,
1890 TPCR0_EL1 = 49428,
1891 TPCR0_EL2 = 57620,
1892 TPCR0_EL12 = 59668,
1893 TPCR1_EL0 = 55573,
1894 TPCR1_EL1 = 49429,
1895 TPCR1_EL2 = 57621,
1896 TPCR1_EL12 = 59669,
1897};
1898#endif
1899
1900#ifdef GET_TINDEX_DECL
1901enum TIndexValues {
1902 nb = 1,
1903};
1904#endif
1905
1906#ifdef GET_ATsList_DECL
1907const AT *lookupATByEncoding(uint16_t Encoding);
1908const AT *lookupATByName(StringRef Name);
1909StringRef getATStr(StringTable::Offset);
1910#endif
1911
1912#ifdef GET_ATsList_IMPL
1913constexpr AT ATsList[] = {
1914 { 1 /* "S1E1R" */, 0x3C0, {} }, // 0
1915 { 7 /* "S1E1W" */, 0x3C1, {} }, // 1
1916 { 13 /* "S1E0R" */, 0x3C2, {} }, // 2
1917 { 19 /* "S1E0W" */, 0x3C3, {} }, // 3
1918 { 25 /* "S1E1RP" */, 0x3C8, {AArch64::FeaturePAN_RWV} }, // 4
1919 { 32 /* "S1E1WP" */, 0x3C9, {AArch64::FeaturePAN_RWV} }, // 5
1920 { 39 /* "S1E1A" */, 0x3CA, {} }, // 6
1921 { 45 /* "S1E2R" */, 0x23C0, {} }, // 7
1922 { 51 /* "S1E2W" */, 0x23C1, {} }, // 8
1923 { 57 /* "S12E1R" */, 0x23C4, {} }, // 9
1924 { 64 /* "S12E1W" */, 0x23C5, {} }, // 10
1925 { 71 /* "S12E0R" */, 0x23C6, {} }, // 11
1926 { 78 /* "S12E0W" */, 0x23C7, {} }, // 12
1927 { 85 /* "S1E2A" */, 0x23CA, {} }, // 13
1928 { 91 /* "S1E3R" */, 0x33C0, {} }, // 14
1929 { 97 /* "S1E3W" */, 0x33C1, {} }, // 15
1930 { 103 /* "S1E3A" */, 0x33CA, {} }, // 16
1931 };
1932
1933#ifdef __GNUC__
1934#pragma GCC diagnostic push
1935#pragma GCC diagnostic ignored "-Woverlength-strings"
1936#endif
1937static constexpr char ATsListStringsStorage[] =
1938 "\0"
1939 "S1E1R\0"
1940 "S1E1W\0"
1941 "S1E0R\0"
1942 "S1E0W\0"
1943 "S1E1RP\0"
1944 "S1E1WP\0"
1945 "S1E1A\0"
1946 "S1E2R\0"
1947 "S1E2W\0"
1948 "S12E1R\0"
1949 "S12E1W\0"
1950 "S12E0R\0"
1951 "S12E0W\0"
1952 "S1E2A\0"
1953 "S1E3R\0"
1954 "S1E3W\0"
1955 "S1E3A\0"
1956 ;
1957#ifdef __GNUC__
1958#pragma GCC diagnostic pop
1959#endif
1960
1961static constexpr llvm::StringTable
1962ATsListStrings = ATsListStringsStorage;
1963
1964StringRef getATStr(StringTable::Offset Offset) {
1965 return ATsListStrings[Offset];
1966}
1967
1968const AT *lookupATByEncoding(uint16_t Encoding) {
1969 struct KeyType {
1970 uint16_t Encoding;
1971 };
1972 KeyType Key = {Encoding};
1973 struct Comp {
1974 bool operator()(const AT &LHS, const KeyType &RHS) const {
1975 if (LHS.Encoding < RHS.Encoding)
1976 return true;
1977 if (LHS.Encoding > RHS.Encoding)
1978 return false;
1979 return false;
1980 }
1981 };
1982 auto Table = ArrayRef(ATsList);
1983 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
1984 if (Idx == Table.end() ||
1985 Key.Encoding != Idx->Encoding)
1986 return nullptr;
1987
1988 return &*Idx;
1989}
1990
1991const AT *lookupATByName(StringRef Name) {
1992 struct IndexType {
1993 unsigned Name;
1994 unsigned _index;
1995 };
1996 static const struct IndexType Index[] = {
1997 { 71 /* "S12E0R" */, 11 },
1998 { 78 /* "S12E0W" */, 12 },
1999 { 57 /* "S12E1R" */, 9 },
2000 { 64 /* "S12E1W" */, 10 },
2001 { 13 /* "S1E0R" */, 2 },
2002 { 19 /* "S1E0W" */, 3 },
2003 { 39 /* "S1E1A" */, 6 },
2004 { 1 /* "S1E1R" */, 0 },
2005 { 25 /* "S1E1RP" */, 4 },
2006 { 7 /* "S1E1W" */, 1 },
2007 { 32 /* "S1E1WP" */, 5 },
2008 { 85 /* "S1E2A" */, 13 },
2009 { 45 /* "S1E2R" */, 7 },
2010 { 51 /* "S1E2W" */, 8 },
2011 { 103 /* "S1E3A" */, 16 },
2012 { 91 /* "S1E3R" */, 14 },
2013 { 97 /* "S1E3W" */, 15 },
2014 };
2015
2016 struct KeyType {
2017 std::string Name;
2018 };
2019 KeyType Key = {Name.upper()};
2020 struct Comp {
2021 bool operator()(const IndexType &LHS, const KeyType &RHS) const {
2022 StringRef LHSNameStr = ATsListStrings[LHS.Name];
2023 StringRef RHSNameStr = RHS.Name;
2024 int CmpName = LHSNameStr.compare(RHSNameStr);
2025 if (CmpName < 0) return true;
2026 if (CmpName > 0) return false;
2027 return false;
2028 }
2029 };
2030 auto Table = ArrayRef(Index);
2031 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
2032 if (Idx == Table.end() ||
2033 Key.Name != ATsListStrings[Idx->Name])
2034 return nullptr;
2035
2036 return &ATsList[Idx->_index];
2037}
2038#endif
2039
2040#ifdef GET_DBnXSsList_DECL
2041const DBnXS *lookupDBnXSByEncoding(uint8_t Encoding);
2042const DBnXS *lookupDBnXSByImmValue(uint8_t ImmValue);
2043const DBnXS *lookupDBnXSByName(StringRef Name);
2044StringRef getDBnXSStr(StringTable::Offset);
2045#endif
2046
2047#ifdef GET_DBnXSsList_IMPL
2048constexpr DBnXS DBnXSsList[] = {
2049 { 1 /* "oshnxs" */, 0x3, 0x10, {AArch64::FeatureXS} }, // 0
2050 { 8 /* "nshnxs" */, 0x7, 0x14, {AArch64::FeatureXS} }, // 1
2051 { 15 /* "ishnxs" */, 0xB, 0x18, {AArch64::FeatureXS} }, // 2
2052 { 22 /* "synxs" */, 0xF, 0x1C, {AArch64::FeatureXS} }, // 3
2053 };
2054
2055#ifdef __GNUC__
2056#pragma GCC diagnostic push
2057#pragma GCC diagnostic ignored "-Woverlength-strings"
2058#endif
2059static constexpr char DBnXSsListStringsStorage[] =
2060 "\0"
2061 "oshnxs\0"
2062 "nshnxs\0"
2063 "ishnxs\0"
2064 "synxs\0"
2065 "ISHNXS\0"
2066 "NSHNXS\0"
2067 "OSHNXS\0"
2068 "SYNXS\0"
2069 ;
2070#ifdef __GNUC__
2071#pragma GCC diagnostic pop
2072#endif
2073
2074static constexpr llvm::StringTable
2075DBnXSsListStrings = DBnXSsListStringsStorage;
2076
2077StringRef getDBnXSStr(StringTable::Offset Offset) {
2078 return DBnXSsListStrings[Offset];
2079}
2080
2081const DBnXS *lookupDBnXSByEncoding(uint8_t Encoding) {
2082 struct KeyType {
2083 uint8_t Encoding;
2084 };
2085 KeyType Key = {Encoding};
2086 struct Comp {
2087 bool operator()(const DBnXS &LHS, const KeyType &RHS) const {
2088 if (LHS.Encoding < RHS.Encoding)
2089 return true;
2090 if (LHS.Encoding > RHS.Encoding)
2091 return false;
2092 return false;
2093 }
2094 };
2095 auto Table = ArrayRef(DBnXSsList);
2096 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
2097 if (Idx == Table.end() ||
2098 Key.Encoding != Idx->Encoding)
2099 return nullptr;
2100
2101 return &*Idx;
2102}
2103
2104const DBnXS *lookupDBnXSByImmValue(uint8_t ImmValue) {
2105 struct IndexType {
2106 uint8_t ImmValue;
2107 unsigned _index;
2108 };
2109 static const struct IndexType Index[] = {
2110 { 0x10, 0 },
2111 { 0x14, 1 },
2112 { 0x18, 2 },
2113 { 0x1C, 3 },
2114 };
2115
2116 struct KeyType {
2117 uint8_t ImmValue;
2118 };
2119 KeyType Key = {ImmValue};
2120 struct Comp {
2121 bool operator()(const IndexType &LHS, const KeyType &RHS) const {
2122 if (LHS.ImmValue < RHS.ImmValue)
2123 return true;
2124 if (LHS.ImmValue > RHS.ImmValue)
2125 return false;
2126 return false;
2127 }
2128 };
2129 auto Table = ArrayRef(Index);
2130 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
2131 if (Idx == Table.end() ||
2132 Key.ImmValue != Idx->ImmValue)
2133 return nullptr;
2134
2135 return &DBnXSsList[Idx->_index];
2136}
2137
2138const DBnXS *lookupDBnXSByName(StringRef Name) {
2139 struct IndexType {
2140 unsigned Name;
2141 unsigned _index;
2142 };
2143 static const struct IndexType Index[] = {
2144 { 28 /* "ISHNXS" */, 2 },
2145 { 35 /* "NSHNXS" */, 1 },
2146 { 42 /* "OSHNXS" */, 0 },
2147 { 49 /* "SYNXS" */, 3 },
2148 };
2149
2150 struct KeyType {
2151 std::string Name;
2152 };
2153 KeyType Key = {Name.upper()};
2154 struct Comp {
2155 bool operator()(const IndexType &LHS, const KeyType &RHS) const {
2156 StringRef LHSNameStr = DBnXSsListStrings[LHS.Name];
2157 StringRef RHSNameStr = RHS.Name;
2158 int CmpName = LHSNameStr.compare(RHSNameStr);
2159 if (CmpName < 0) return true;
2160 if (CmpName > 0) return false;
2161 return false;
2162 }
2163 };
2164 auto Table = ArrayRef(Index);
2165 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
2166 if (Idx == Table.end() ||
2167 Key.Name != DBnXSsListStrings[Idx->Name])
2168 return nullptr;
2169
2170 return &DBnXSsList[Idx->_index];
2171}
2172#endif
2173
2174#ifdef GET_DBsList_DECL
2175const DB *lookupDBByEncoding(uint8_t Encoding);
2176const DB *lookupDBByName(StringRef Name);
2177StringRef getDBStr(StringTable::Offset);
2178#endif
2179
2180#ifdef GET_DBsList_IMPL
2181constexpr DB DBsList[] = {
2182 { 1 /* "oshld" */, 0x1 }, // 0
2183 { 7 /* "oshst" */, 0x2 }, // 1
2184 { 13 /* "osh" */, 0x3 }, // 2
2185 { 17 /* "nshld" */, 0x5 }, // 3
2186 { 23 /* "nshst" */, 0x6 }, // 4
2187 { 29 /* "nsh" */, 0x7 }, // 5
2188 { 33 /* "ishld" */, 0x9 }, // 6
2189 { 39 /* "ishst" */, 0xA }, // 7
2190 { 45 /* "ish" */, 0xB }, // 8
2191 { 49 /* "ld" */, 0xD }, // 9
2192 { 52 /* "st" */, 0xE }, // 10
2193 { 55 /* "sy" */, 0xF }, // 11
2194 };
2195
2196#ifdef __GNUC__
2197#pragma GCC diagnostic push
2198#pragma GCC diagnostic ignored "-Woverlength-strings"
2199#endif
2200static constexpr char DBsListStringsStorage[] =
2201 "\0"
2202 "oshld\0"
2203 "oshst\0"
2204 "osh\0"
2205 "nshld\0"
2206 "nshst\0"
2207 "nsh\0"
2208 "ishld\0"
2209 "ishst\0"
2210 "ish\0"
2211 "ld\0"
2212 "st\0"
2213 "sy\0"
2214 "ISH\0"
2215 "ISHLD\0"
2216 "ISHST\0"
2217 "LD\0"
2218 "NSH\0"
2219 "NSHLD\0"
2220 "NSHST\0"
2221 "OSH\0"
2222 "OSHLD\0"
2223 "OSHST\0"
2224 "ST\0"
2225 "SY\0"
2226 ;
2227#ifdef __GNUC__
2228#pragma GCC diagnostic pop
2229#endif
2230
2231static constexpr llvm::StringTable
2232DBsListStrings = DBsListStringsStorage;
2233
2234StringRef getDBStr(StringTable::Offset Offset) {
2235 return DBsListStrings[Offset];
2236}
2237
2238const DB *lookupDBByEncoding(uint8_t Encoding) {
2239 struct KeyType {
2240 uint8_t Encoding;
2241 };
2242 KeyType Key = {Encoding};
2243 struct Comp {
2244 bool operator()(const DB &LHS, const KeyType &RHS) const {
2245 if (LHS.Encoding < RHS.Encoding)
2246 return true;
2247 if (LHS.Encoding > RHS.Encoding)
2248 return false;
2249 return false;
2250 }
2251 };
2252 auto Table = ArrayRef(DBsList);
2253 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
2254 if (Idx == Table.end() ||
2255 Key.Encoding != Idx->Encoding)
2256 return nullptr;
2257
2258 return &*Idx;
2259}
2260
2261const DB *lookupDBByName(StringRef Name) {
2262 struct IndexType {
2263 unsigned Name;
2264 unsigned _index;
2265 };
2266 static const struct IndexType Index[] = {
2267 { 58 /* "ISH" */, 8 },
2268 { 62 /* "ISHLD" */, 6 },
2269 { 68 /* "ISHST" */, 7 },
2270 { 74 /* "LD" */, 9 },
2271 { 77 /* "NSH" */, 5 },
2272 { 81 /* "NSHLD" */, 3 },
2273 { 87 /* "NSHST" */, 4 },
2274 { 93 /* "OSH" */, 2 },
2275 { 97 /* "OSHLD" */, 0 },
2276 { 103 /* "OSHST" */, 1 },
2277 { 109 /* "ST" */, 10 },
2278 { 112 /* "SY" */, 11 },
2279 };
2280
2281 struct KeyType {
2282 std::string Name;
2283 };
2284 KeyType Key = {Name.upper()};
2285 struct Comp {
2286 bool operator()(const IndexType &LHS, const KeyType &RHS) const {
2287 StringRef LHSNameStr = DBsListStrings[LHS.Name];
2288 StringRef RHSNameStr = RHS.Name;
2289 int CmpName = LHSNameStr.compare(RHSNameStr);
2290 if (CmpName < 0) return true;
2291 if (CmpName > 0) return false;
2292 return false;
2293 }
2294 };
2295 auto Table = ArrayRef(Index);
2296 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
2297 if (Idx == Table.end() ||
2298 Key.Name != DBsListStrings[Idx->Name])
2299 return nullptr;
2300
2301 return &DBsList[Idx->_index];
2302}
2303#endif
2304
2305#ifdef GET_DCsList_DECL
2306const DC *lookupDCByEncoding(uint16_t Encoding);
2307const DC *lookupDCByName(StringRef Name);
2308StringRef getDCStr(StringTable::Offset);
2309#endif
2310
2311#ifdef GET_DCsList_IMPL
2312constexpr DC DCsList[] = {
2313 { 1 /* "IVAC" */, 0x3B1, {} }, // 0
2314 { 6 /* "ISW" */, 0x3B2, {} }, // 1
2315 { 10 /* "IGVAC" */, 0x3B3, {AArch64::FeatureMTE} }, // 2
2316 { 16 /* "IGSW" */, 0x3B4, {AArch64::FeatureMTE} }, // 3
2317 { 21 /* "IGDVAC" */, 0x3B5, {AArch64::FeatureMTE} }, // 4
2318 { 28 /* "IGDSW" */, 0x3B6, {AArch64::FeatureMTE} }, // 5
2319 { 34 /* "CSW" */, 0x3D2, {} }, // 6
2320 { 38 /* "CGSW" */, 0x3D4, {AArch64::FeatureMTE} }, // 7
2321 { 43 /* "CGDSW" */, 0x3D6, {AArch64::FeatureMTE} }, // 8
2322 { 49 /* "CISW" */, 0x3F2, {} }, // 9
2323 { 54 /* "CIGSW" */, 0x3F4, {AArch64::FeatureMTE} }, // 10
2324 { 60 /* "CIGDSW" */, 0x3F6, {AArch64::FeatureMTE} }, // 11
2325 { 67 /* "CIVAPS" */, 0x3F9, {AArch64::FeaturePoPS} }, // 12
2326 { 74 /* "CIGDVAPS" */, 0x3FD, {AArch64::FeaturePoPS, AArch64::FeatureMTE} }, // 13
2327 { 83 /* "ZVA" */, 0x1BA1, {} }, // 14
2328 { 87 /* "GVA" */, 0x1BA3, {AArch64::FeatureMTE} }, // 15
2329 { 91 /* "GZVA" */, 0x1BA4, {AArch64::FeatureMTE} }, // 16
2330 { 96 /* "ZGBVA" */, 0x1BA5, {AArch64::FeatureMTETC} }, // 17
2331 { 102 /* "GBVA" */, 0x1BA7, {AArch64::FeatureMTETC} }, // 18
2332 { 107 /* "CVAC" */, 0x1BD1, {} }, // 19
2333 { 112 /* "CGVAC" */, 0x1BD3, {AArch64::FeatureMTE} }, // 20
2334 { 118 /* "CGDVAC" */, 0x1BD5, {AArch64::FeatureMTE} }, // 21
2335 { 125 /* "CVAOC" */, 0x1BD8, {AArch64::FeatureOCCMO} }, // 22
2336 { 131 /* "CVAU" */, 0x1BD9, {} }, // 23
2337 { 136 /* "CGDVAOC" */, 0x1BDF, {AArch64::FeatureOCCMO, AArch64::FeatureMTE} }, // 24
2338 { 144 /* "CVAP" */, 0x1BE1, {AArch64::FeatureCCPP} }, // 25
2339 { 149 /* "CGVAP" */, 0x1BE3, {AArch64::FeatureMTE} }, // 26
2340 { 155 /* "CGDVAP" */, 0x1BE5, {AArch64::FeatureMTE} }, // 27
2341 { 162 /* "CVADP" */, 0x1BE9, {AArch64::FeatureCacheDeepPersist} }, // 28
2342 { 168 /* "CGVADP" */, 0x1BEB, {AArch64::FeatureMTE} }, // 29
2343 { 175 /* "CGDVADP" */, 0x1BED, {AArch64::FeatureMTE} }, // 30
2344 { 183 /* "CIVAC" */, 0x1BF1, {} }, // 31
2345 { 189 /* "CIGVAC" */, 0x1BF3, {AArch64::FeatureMTE} }, // 32
2346 { 196 /* "CIGDVAC" */, 0x1BF5, {AArch64::FeatureMTE} }, // 33
2347 { 204 /* "CIVAOC" */, 0x1BF8, {AArch64::FeatureOCCMO} }, // 34
2348 { 211 /* "CIGDVAOC" */, 0x1BFF, {AArch64::FeatureOCCMO, AArch64::FeatureMTE} }, // 35
2349 { 220 /* "CIPAE" */, 0x23F0, {AArch64::FeatureMEC} }, // 36
2350 { 226 /* "CIGDPAE" */, 0x23F7, {AArch64::FeatureMEC} }, // 37
2351 { 234 /* "CIPAPA" */, 0x33F1, {AArch64::FeatureRME} }, // 38
2352 { 241 /* "CIGDPAPA" */, 0x33F5, {AArch64::FeatureRME} }, // 39
2353 };
2354
2355#ifdef __GNUC__
2356#pragma GCC diagnostic push
2357#pragma GCC diagnostic ignored "-Woverlength-strings"
2358#endif
2359static constexpr char DCsListStringsStorage[] =
2360 "\0"
2361 "IVAC\0"
2362 "ISW\0"
2363 "IGVAC\0"
2364 "IGSW\0"
2365 "IGDVAC\0"
2366 "IGDSW\0"
2367 "CSW\0"
2368 "CGSW\0"
2369 "CGDSW\0"
2370 "CISW\0"
2371 "CIGSW\0"
2372 "CIGDSW\0"
2373 "CIVAPS\0"
2374 "CIGDVAPS\0"
2375 "ZVA\0"
2376 "GVA\0"
2377 "GZVA\0"
2378 "ZGBVA\0"
2379 "GBVA\0"
2380 "CVAC\0"
2381 "CGVAC\0"
2382 "CGDVAC\0"
2383 "CVAOC\0"
2384 "CVAU\0"
2385 "CGDVAOC\0"
2386 "CVAP\0"
2387 "CGVAP\0"
2388 "CGDVAP\0"
2389 "CVADP\0"
2390 "CGVADP\0"
2391 "CGDVADP\0"
2392 "CIVAC\0"
2393 "CIGVAC\0"
2394 "CIGDVAC\0"
2395 "CIVAOC\0"
2396 "CIGDVAOC\0"
2397 "CIPAE\0"
2398 "CIGDPAE\0"
2399 "CIPAPA\0"
2400 "CIGDPAPA\0"
2401 ;
2402#ifdef __GNUC__
2403#pragma GCC diagnostic pop
2404#endif
2405
2406static constexpr llvm::StringTable
2407DCsListStrings = DCsListStringsStorage;
2408
2409StringRef getDCStr(StringTable::Offset Offset) {
2410 return DCsListStrings[Offset];
2411}
2412
2413const DC *lookupDCByEncoding(uint16_t Encoding) {
2414 struct KeyType {
2415 uint16_t Encoding;
2416 };
2417 KeyType Key = {Encoding};
2418 struct Comp {
2419 bool operator()(const DC &LHS, const KeyType &RHS) const {
2420 if (LHS.Encoding < RHS.Encoding)
2421 return true;
2422 if (LHS.Encoding > RHS.Encoding)
2423 return false;
2424 return false;
2425 }
2426 };
2427 auto Table = ArrayRef(DCsList);
2428 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
2429 if (Idx == Table.end() ||
2430 Key.Encoding != Idx->Encoding)
2431 return nullptr;
2432
2433 return &*Idx;
2434}
2435
2436const DC *lookupDCByName(StringRef Name) {
2437 struct IndexType {
2438 unsigned Name;
2439 unsigned _index;
2440 };
2441 static const struct IndexType Index[] = {
2442 { 43 /* "CGDSW" */, 8 },
2443 { 118 /* "CGDVAC" */, 21 },
2444 { 175 /* "CGDVADP" */, 30 },
2445 { 136 /* "CGDVAOC" */, 24 },
2446 { 155 /* "CGDVAP" */, 27 },
2447 { 38 /* "CGSW" */, 7 },
2448 { 112 /* "CGVAC" */, 20 },
2449 { 168 /* "CGVADP" */, 29 },
2450 { 149 /* "CGVAP" */, 26 },
2451 { 226 /* "CIGDPAE" */, 37 },
2452 { 241 /* "CIGDPAPA" */, 39 },
2453 { 60 /* "CIGDSW" */, 11 },
2454 { 196 /* "CIGDVAC" */, 33 },
2455 { 211 /* "CIGDVAOC" */, 35 },
2456 { 74 /* "CIGDVAPS" */, 13 },
2457 { 54 /* "CIGSW" */, 10 },
2458 { 189 /* "CIGVAC" */, 32 },
2459 { 220 /* "CIPAE" */, 36 },
2460 { 234 /* "CIPAPA" */, 38 },
2461 { 49 /* "CISW" */, 9 },
2462 { 183 /* "CIVAC" */, 31 },
2463 { 204 /* "CIVAOC" */, 34 },
2464 { 67 /* "CIVAPS" */, 12 },
2465 { 34 /* "CSW" */, 6 },
2466 { 107 /* "CVAC" */, 19 },
2467 { 162 /* "CVADP" */, 28 },
2468 { 125 /* "CVAOC" */, 22 },
2469 { 144 /* "CVAP" */, 25 },
2470 { 131 /* "CVAU" */, 23 },
2471 { 102 /* "GBVA" */, 18 },
2472 { 87 /* "GVA" */, 15 },
2473 { 91 /* "GZVA" */, 16 },
2474 { 28 /* "IGDSW" */, 5 },
2475 { 21 /* "IGDVAC" */, 4 },
2476 { 16 /* "IGSW" */, 3 },
2477 { 10 /* "IGVAC" */, 2 },
2478 { 6 /* "ISW" */, 1 },
2479 { 1 /* "IVAC" */, 0 },
2480 { 96 /* "ZGBVA" */, 17 },
2481 { 83 /* "ZVA" */, 14 },
2482 };
2483
2484 struct KeyType {
2485 std::string Name;
2486 };
2487 KeyType Key = {Name.upper()};
2488 struct Comp {
2489 bool operator()(const IndexType &LHS, const KeyType &RHS) const {
2490 StringRef LHSNameStr = DCsListStrings[LHS.Name];
2491 StringRef RHSNameStr = RHS.Name;
2492 int CmpName = LHSNameStr.compare(RHSNameStr);
2493 if (CmpName < 0) return true;
2494 if (CmpName > 0) return false;
2495 return false;
2496 }
2497 };
2498 auto Table = ArrayRef(Index);
2499 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
2500 if (Idx == Table.end() ||
2501 Key.Name != DCsListStrings[Idx->Name])
2502 return nullptr;
2503
2504 return &DCsList[Idx->_index];
2505}
2506#endif
2507
2508#ifdef GET_ExactFPImmsList_DECL
2509const ExactFPImm *lookupExactFPImmByEnum(uint8_t Enum);
2510StringRef getExactFPImmStr(StringTable::Offset);
2511#endif
2512
2513#ifdef GET_ExactFPImmsList_IMPL
2514constexpr ExactFPImm ExactFPImmsList[] = {
2515 { 0x0, 1 /* "0.0" */ }, // 0
2516 { 0x1, 5 /* "0.5" */ }, // 1
2517 { 0x2, 9 /* "1.0" */ }, // 2
2518 { 0x3, 13 /* "2.0" */ }, // 3
2519 };
2520
2521#ifdef __GNUC__
2522#pragma GCC diagnostic push
2523#pragma GCC diagnostic ignored "-Woverlength-strings"
2524#endif
2525static constexpr char ExactFPImmsListStringsStorage[] =
2526 "\0"
2527 "0.0\0"
2528 "0.5\0"
2529 "1.0\0"
2530 "2.0\0"
2531 ;
2532#ifdef __GNUC__
2533#pragma GCC diagnostic pop
2534#endif
2535
2536static constexpr llvm::StringTable
2537ExactFPImmsListStrings = ExactFPImmsListStringsStorage;
2538
2539StringRef getExactFPImmStr(StringTable::Offset Offset) {
2540 return ExactFPImmsListStrings[Offset];
2541}
2542
2543const ExactFPImm *lookupExactFPImmByEnum(uint8_t Enum) {
2544 struct IndexType {
2545 uint8_t Enum;
2546 unsigned _index;
2547 };
2548 static const struct IndexType Index[] = {
2549 { 0x0, 0 },
2550 { 0x1, 1 },
2551 { 0x2, 2 },
2552 { 0x3, 3 },
2553 };
2554
2555 if ((uint8_t)Enum != std::clamp<uint8_t>(Enum, 0x0, 0x3))
2556 return nullptr;
2557
2558 auto Table = ArrayRef(Index);
2559 size_t Idx = Enum - 0x0;
2560 return &ExactFPImmsList[Table[Idx]._index];
2561}
2562#endif
2563
2564#ifdef GET_GICRTable_DECL
2565const GICR *lookupGICRByEncoding(uint16_t Encoding);
2566const GICR *lookupGICRByName(StringRef Name);
2567StringRef getGICRStr(StringTable::Offset);
2568#endif
2569
2570#ifdef GET_GICRTable_IMPL
2571constexpr GICR GICRTable[] = {
2572 { 1 /* "cdia" */, 0x618, true, {AArch64::FeatureGCIE} }, // 0
2573 { 6 /* "cdnmia" */, 0x619, true, {AArch64::FeatureGCIE} }, // 1
2574 };
2575
2576#ifdef __GNUC__
2577#pragma GCC diagnostic push
2578#pragma GCC diagnostic ignored "-Woverlength-strings"
2579#endif
2580static constexpr char GICRTableStringsStorage[] =
2581 "\0"
2582 "cdia\0"
2583 "cdnmia\0"
2584 "CDIA\0"
2585 "CDNMIA\0"
2586 ;
2587#ifdef __GNUC__
2588#pragma GCC diagnostic pop
2589#endif
2590
2591static constexpr llvm::StringTable
2592GICRTableStrings = GICRTableStringsStorage;
2593
2594StringRef getGICRStr(StringTable::Offset Offset) {
2595 return GICRTableStrings[Offset];
2596}
2597
2598const GICR *lookupGICRByEncoding(uint16_t Encoding) {
2599 if ((uint16_t)Encoding != std::clamp<uint16_t>(Encoding, 0x618, 0x619))
2600 return nullptr;
2601
2602 auto Table = ArrayRef(GICRTable);
2603 size_t Idx = Encoding - 0x618;
2604 return &Table[Idx];
2605}
2606
2607const GICR *lookupGICRByName(StringRef Name) {
2608 struct IndexType {
2609 unsigned Name;
2610 unsigned _index;
2611 };
2612 static const struct IndexType Index[] = {
2613 { 13 /* "CDIA" */, 0 },
2614 { 18 /* "CDNMIA" */, 1 },
2615 };
2616
2617 struct KeyType {
2618 std::string Name;
2619 };
2620 KeyType Key = {Name.upper()};
2621 struct Comp {
2622 bool operator()(const IndexType &LHS, const KeyType &RHS) const {
2623 StringRef LHSNameStr = GICRTableStrings[LHS.Name];
2624 StringRef RHSNameStr = RHS.Name;
2625 int CmpName = LHSNameStr.compare(RHSNameStr);
2626 if (CmpName < 0) return true;
2627 if (CmpName > 0) return false;
2628 return false;
2629 }
2630 };
2631 auto Table = ArrayRef(Index);
2632 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
2633 if (Idx == Table.end() ||
2634 Key.Name != GICRTableStrings[Idx->Name])
2635 return nullptr;
2636
2637 return &GICRTable[Idx->_index];
2638}
2639#endif
2640
2641#ifdef GET_GICTable_DECL
2642const GIC *lookupGICByEncoding(uint16_t Encoding);
2643const GIC *lookupGICByName(StringRef Name);
2644StringRef getGICStr(StringTable::Offset);
2645#endif
2646
2647#ifdef GET_GICTable_IMPL
2648constexpr GIC GICTable[] = {
2649 { 1 /* "cddis" */, 0x608, true, {AArch64::FeatureGCIE} }, // 0
2650 { 7 /* "cden" */, 0x609, true, {AArch64::FeatureGCIE} }, // 1
2651 { 12 /* "cdpri" */, 0x60A, true, {AArch64::FeatureGCIE} }, // 2
2652 { 18 /* "cdaff" */, 0x60B, true, {AArch64::FeatureGCIE} }, // 3
2653 { 24 /* "cdpend" */, 0x60C, true, {AArch64::FeatureGCIE} }, // 4
2654 { 31 /* "cdrcfg" */, 0x60D, true, {AArch64::FeatureGCIE} }, // 5
2655 { 38 /* "cdeoi" */, 0x60F, false, {AArch64::FeatureGCIE} }, // 6
2656 { 44 /* "cddi" */, 0x610, true, {AArch64::FeatureGCIE} }, // 7
2657 { 49 /* "cdhm" */, 0x611, true, {AArch64::FeatureGCIE} }, // 8
2658 { 54 /* "vddis" */, 0x2608, true, {AArch64::FeatureGCIE} }, // 9
2659 { 60 /* "vden" */, 0x2609, true, {AArch64::FeatureGCIE} }, // 10
2660 { 65 /* "vdpri" */, 0x260A, true, {AArch64::FeatureGCIE} }, // 11
2661 { 71 /* "vdaff" */, 0x260B, true, {AArch64::FeatureGCIE} }, // 12
2662 { 77 /* "vdpend" */, 0x260C, true, {AArch64::FeatureGCIE} }, // 13
2663 { 84 /* "vdrcfg" */, 0x260D, true, {AArch64::FeatureGCIE} }, // 14
2664 { 91 /* "vddi" */, 0x2610, true, {AArch64::FeatureGCIE} }, // 15
2665 { 96 /* "vdhm" */, 0x2611, true, {AArch64::FeatureGCIE} }, // 16
2666 { 101 /* "lddis" */, 0x3608, true, {AArch64::FeatureGCIE} }, // 17
2667 { 107 /* "lden" */, 0x3609, true, {AArch64::FeatureGCIE} }, // 18
2668 { 112 /* "ldpri" */, 0x360A, true, {AArch64::FeatureGCIE} }, // 19
2669 { 118 /* "ldaff" */, 0x360B, true, {AArch64::FeatureGCIE} }, // 20
2670 { 124 /* "ldpend" */, 0x360C, true, {AArch64::FeatureGCIE} }, // 21
2671 { 131 /* "ldrcfg" */, 0x360D, true, {AArch64::FeatureGCIE} }, // 22
2672 { 138 /* "lddi" */, 0x3610, true, {AArch64::FeatureGCIE} }, // 23
2673 { 143 /* "ldhm" */, 0x3611, true, {AArch64::FeatureGCIE} }, // 24
2674 };
2675
2676#ifdef __GNUC__
2677#pragma GCC diagnostic push
2678#pragma GCC diagnostic ignored "-Woverlength-strings"
2679#endif
2680static constexpr char GICTableStringsStorage[] =
2681 "\0"
2682 "cddis\0"
2683 "cden\0"
2684 "cdpri\0"
2685 "cdaff\0"
2686 "cdpend\0"
2687 "cdrcfg\0"
2688 "cdeoi\0"
2689 "cddi\0"
2690 "cdhm\0"
2691 "vddis\0"
2692 "vden\0"
2693 "vdpri\0"
2694 "vdaff\0"
2695 "vdpend\0"
2696 "vdrcfg\0"
2697 "vddi\0"
2698 "vdhm\0"
2699 "lddis\0"
2700 "lden\0"
2701 "ldpri\0"
2702 "ldaff\0"
2703 "ldpend\0"
2704 "ldrcfg\0"
2705 "lddi\0"
2706 "ldhm\0"
2707 "CDAFF\0"
2708 "CDDI\0"
2709 "CDDIS\0"
2710 "CDEN\0"
2711 "CDEOI\0"
2712 "CDHM\0"
2713 "CDPEND\0"
2714 "CDPRI\0"
2715 "CDRCFG\0"
2716 "LDAFF\0"
2717 "LDDI\0"
2718 "LDDIS\0"
2719 "LDEN\0"
2720 "LDHM\0"
2721 "LDPEND\0"
2722 "LDPRI\0"
2723 "LDRCFG\0"
2724 "VDAFF\0"
2725 "VDDI\0"
2726 "VDDIS\0"
2727 "VDEN\0"
2728 "VDHM\0"
2729 "VDPEND\0"
2730 "VDPRI\0"
2731 "VDRCFG\0"
2732 ;
2733#ifdef __GNUC__
2734#pragma GCC diagnostic pop
2735#endif
2736
2737static constexpr llvm::StringTable
2738GICTableStrings = GICTableStringsStorage;
2739
2740StringRef getGICStr(StringTable::Offset Offset) {
2741 return GICTableStrings[Offset];
2742}
2743
2744const GIC *lookupGICByEncoding(uint16_t Encoding) {
2745 struct KeyType {
2746 uint16_t Encoding;
2747 };
2748 KeyType Key = {Encoding};
2749 struct Comp {
2750 bool operator()(const GIC &LHS, const KeyType &RHS) const {
2751 if (LHS.Encoding < RHS.Encoding)
2752 return true;
2753 if (LHS.Encoding > RHS.Encoding)
2754 return false;
2755 return false;
2756 }
2757 };
2758 auto Table = ArrayRef(GICTable);
2759 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
2760 if (Idx == Table.end() ||
2761 Key.Encoding != Idx->Encoding)
2762 return nullptr;
2763
2764 return &*Idx;
2765}
2766
2767const GIC *lookupGICByName(StringRef Name) {
2768 struct IndexType {
2769 unsigned Name;
2770 unsigned _index;
2771 };
2772 static const struct IndexType Index[] = {
2773 { 148 /* "CDAFF" */, 3 },
2774 { 154 /* "CDDI" */, 7 },
2775 { 159 /* "CDDIS" */, 0 },
2776 { 165 /* "CDEN" */, 1 },
2777 { 170 /* "CDEOI" */, 6 },
2778 { 176 /* "CDHM" */, 8 },
2779 { 181 /* "CDPEND" */, 4 },
2780 { 188 /* "CDPRI" */, 2 },
2781 { 194 /* "CDRCFG" */, 5 },
2782 { 201 /* "LDAFF" */, 20 },
2783 { 207 /* "LDDI" */, 23 },
2784 { 212 /* "LDDIS" */, 17 },
2785 { 218 /* "LDEN" */, 18 },
2786 { 223 /* "LDHM" */, 24 },
2787 { 228 /* "LDPEND" */, 21 },
2788 { 235 /* "LDPRI" */, 19 },
2789 { 241 /* "LDRCFG" */, 22 },
2790 { 248 /* "VDAFF" */, 12 },
2791 { 254 /* "VDDI" */, 15 },
2792 { 259 /* "VDDIS" */, 9 },
2793 { 265 /* "VDEN" */, 10 },
2794 { 270 /* "VDHM" */, 16 },
2795 { 275 /* "VDPEND" */, 13 },
2796 { 282 /* "VDPRI" */, 11 },
2797 { 288 /* "VDRCFG" */, 14 },
2798 };
2799
2800 struct KeyType {
2801 std::string Name;
2802 };
2803 KeyType Key = {Name.upper()};
2804 struct Comp {
2805 bool operator()(const IndexType &LHS, const KeyType &RHS) const {
2806 StringRef LHSNameStr = GICTableStrings[LHS.Name];
2807 StringRef RHSNameStr = RHS.Name;
2808 int CmpName = LHSNameStr.compare(RHSNameStr);
2809 if (CmpName < 0) return true;
2810 if (CmpName > 0) return false;
2811 return false;
2812 }
2813 };
2814 auto Table = ArrayRef(Index);
2815 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
2816 if (Idx == Table.end() ||
2817 Key.Name != GICTableStrings[Idx->Name])
2818 return nullptr;
2819
2820 return &GICTable[Idx->_index];
2821}
2822#endif
2823
2824#ifdef GET_GSBTable_DECL
2825const GSB *lookupGSBByEncoding(uint16_t Encoding);
2826const GSB *lookupGSBByName(StringRef Name);
2827StringRef getGSBStr(StringTable::Offset);
2828#endif
2829
2830#ifdef GET_GSBTable_IMPL
2831constexpr GSB GSBTable[] = {
2832 { 1 /* "sys" */, 0x600, {AArch64::FeatureGCIE} }, // 0
2833 { 5 /* "ack" */, 0x601, {AArch64::FeatureGCIE} }, // 1
2834 };
2835
2836#ifdef __GNUC__
2837#pragma GCC diagnostic push
2838#pragma GCC diagnostic ignored "-Woverlength-strings"
2839#endif
2840static constexpr char GSBTableStringsStorage[] =
2841 "\0"
2842 "sys\0"
2843 "ack\0"
2844 "ACK\0"
2845 "SYS\0"
2846 ;
2847#ifdef __GNUC__
2848#pragma GCC diagnostic pop
2849#endif
2850
2851static constexpr llvm::StringTable
2852GSBTableStrings = GSBTableStringsStorage;
2853
2854StringRef getGSBStr(StringTable::Offset Offset) {
2855 return GSBTableStrings[Offset];
2856}
2857
2858const GSB *lookupGSBByEncoding(uint16_t Encoding) {
2859 if ((uint16_t)Encoding != std::clamp<uint16_t>(Encoding, 0x600, 0x601))
2860 return nullptr;
2861
2862 auto Table = ArrayRef(GSBTable);
2863 size_t Idx = Encoding - 0x600;
2864 return &Table[Idx];
2865}
2866
2867const GSB *lookupGSBByName(StringRef Name) {
2868 struct IndexType {
2869 unsigned Name;
2870 unsigned _index;
2871 };
2872 static const struct IndexType Index[] = {
2873 { 9 /* "ACK" */, 1 },
2874 { 13 /* "SYS" */, 0 },
2875 };
2876
2877 struct KeyType {
2878 std::string Name;
2879 };
2880 KeyType Key = {Name.upper()};
2881 struct Comp {
2882 bool operator()(const IndexType &LHS, const KeyType &RHS) const {
2883 StringRef LHSNameStr = GSBTableStrings[LHS.Name];
2884 StringRef RHSNameStr = RHS.Name;
2885 int CmpName = LHSNameStr.compare(RHSNameStr);
2886 if (CmpName < 0) return true;
2887 if (CmpName > 0) return false;
2888 return false;
2889 }
2890 };
2891 auto Table = ArrayRef(Index);
2892 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
2893 if (Idx == Table.end() ||
2894 Key.Name != GSBTableStrings[Idx->Name])
2895 return nullptr;
2896
2897 return &GSBTable[Idx->_index];
2898}
2899#endif
2900
2901#ifdef GET_ICsList_DECL
2902const IC *lookupICByEncoding(uint16_t Encoding);
2903const IC *lookupICByName(StringRef Name);
2904StringRef getICStr(StringTable::Offset);
2905#endif
2906
2907#ifdef GET_ICsList_IMPL
2908constexpr IC ICsList[] = {
2909 { 1 /* "IALLUIS" */, 0x388, false }, // 0
2910 { 9 /* "IALLU" */, 0x3A8, false }, // 1
2911 { 15 /* "IVAU" */, 0x1BA9, true }, // 2
2912 };
2913
2914#ifdef __GNUC__
2915#pragma GCC diagnostic push
2916#pragma GCC diagnostic ignored "-Woverlength-strings"
2917#endif
2918static constexpr char ICsListStringsStorage[] =
2919 "\0"
2920 "IALLUIS\0"
2921 "IALLU\0"
2922 "IVAU\0"
2923 ;
2924#ifdef __GNUC__
2925#pragma GCC diagnostic pop
2926#endif
2927
2928static constexpr llvm::StringTable
2929ICsListStrings = ICsListStringsStorage;
2930
2931StringRef getICStr(StringTable::Offset Offset) {
2932 return ICsListStrings[Offset];
2933}
2934
2935const IC *lookupICByEncoding(uint16_t Encoding) {
2936 struct KeyType {
2937 uint16_t Encoding;
2938 };
2939 KeyType Key = {Encoding};
2940 struct Comp {
2941 bool operator()(const IC &LHS, const KeyType &RHS) const {
2942 if (LHS.Encoding < RHS.Encoding)
2943 return true;
2944 if (LHS.Encoding > RHS.Encoding)
2945 return false;
2946 return false;
2947 }
2948 };
2949 auto Table = ArrayRef(ICsList);
2950 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
2951 if (Idx == Table.end() ||
2952 Key.Encoding != Idx->Encoding)
2953 return nullptr;
2954
2955 return &*Idx;
2956}
2957
2958const IC *lookupICByName(StringRef Name) {
2959 struct IndexType {
2960 unsigned Name;
2961 unsigned _index;
2962 };
2963 static const struct IndexType Index[] = {
2964 { 9 /* "IALLU" */, 1 },
2965 { 1 /* "IALLUIS" */, 0 },
2966 { 15 /* "IVAU" */, 2 },
2967 };
2968
2969 struct KeyType {
2970 std::string Name;
2971 };
2972 KeyType Key = {Name.upper()};
2973 struct Comp {
2974 bool operator()(const IndexType &LHS, const KeyType &RHS) const {
2975 StringRef LHSNameStr = ICsListStrings[LHS.Name];
2976 StringRef RHSNameStr = RHS.Name;
2977 int CmpName = LHSNameStr.compare(RHSNameStr);
2978 if (CmpName < 0) return true;
2979 if (CmpName > 0) return false;
2980 return false;
2981 }
2982 };
2983 auto Table = ArrayRef(Index);
2984 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
2985 if (Idx == Table.end() ||
2986 Key.Name != ICsListStrings[Idx->Name])
2987 return nullptr;
2988
2989 return &ICsList[Idx->_index];
2990}
2991#endif
2992
2993#ifdef GET_ISBsList_DECL
2994const ISB *lookupISBByEncoding(uint8_t Encoding);
2995const ISB *lookupISBByName(StringRef Name);
2996StringRef getISBStr(StringTable::Offset);
2997#endif
2998
2999#ifdef GET_ISBsList_IMPL
3000constexpr ISB ISBsList[] = {
3001 { 1 /* "sy" */, 0xF }, // 0
3002 };
3003
3004#ifdef __GNUC__
3005#pragma GCC diagnostic push
3006#pragma GCC diagnostic ignored "-Woverlength-strings"
3007#endif
3008static constexpr char ISBsListStringsStorage[] =
3009 "\0"
3010 "sy\0"
3011 "SY\0"
3012 ;
3013#ifdef __GNUC__
3014#pragma GCC diagnostic pop
3015#endif
3016
3017static constexpr llvm::StringTable
3018ISBsListStrings = ISBsListStringsStorage;
3019
3020StringRef getISBStr(StringTable::Offset Offset) {
3021 return ISBsListStrings[Offset];
3022}
3023
3024const ISB *lookupISBByEncoding(uint8_t Encoding) {
3025 if ((uint8_t)Encoding != std::clamp<uint8_t>(Encoding, 0xF, 0xF))
3026 return nullptr;
3027
3028 auto Table = ArrayRef(ISBsList);
3029 size_t Idx = Encoding - 0xF;
3030 return &Table[Idx];
3031}
3032
3033const ISB *lookupISBByName(StringRef Name) {
3034 struct IndexType {
3035 unsigned Name;
3036 unsigned _index;
3037 };
3038 static const struct IndexType Index[] = {
3039 { 4 /* "SY" */, 0 },
3040 };
3041
3042 struct KeyType {
3043 std::string Name;
3044 };
3045 KeyType Key = {Name.upper()};
3046 struct Comp {
3047 bool operator()(const IndexType &LHS, const KeyType &RHS) const {
3048 StringRef LHSNameStr = ISBsListStrings[LHS.Name];
3049 StringRef RHSNameStr = RHS.Name;
3050 int CmpName = LHSNameStr.compare(RHSNameStr);
3051 if (CmpName < 0) return true;
3052 if (CmpName > 0) return false;
3053 return false;
3054 }
3055 };
3056 auto Table = ArrayRef(Index);
3057 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
3058 if (Idx == Table.end() ||
3059 Key.Name != ISBsListStrings[Idx->Name])
3060 return nullptr;
3061
3062 return &ISBsList[Idx->_index];
3063}
3064#endif
3065
3066#ifdef GET_LFIVariantTable_DECL
3067const LFIVariantEntry *lookupLFIVariantByOpcode(unsigned Inst);
3068#endif
3069
3070#ifdef GET_LFIVariantTable_IMPL
3071constexpr LFIVariantEntry LFIVariantTable[] = {
3072 { LDRBBpost, 0x4, 0x0, LDRBBroW }, // 0
3073 { LDRBBpre, 0x3, 0x0, LDRBBroW }, // 1
3074 { LDRBBroW, 0x1, 0x0, LDRBBroW }, // 2
3075 { LDRBBroX, 0x2, 0x0, LDRBBroW }, // 3
3076 { LDRBBui, 0x0, 0x0, LDRBBroW }, // 4
3077 { LDRBpost, 0x4, 0x0, LDRBroW }, // 5
3078 { LDRBpre, 0x3, 0x0, LDRBroW }, // 6
3079 { LDRBroW, 0x1, 0x0, LDRBroW }, // 7
3080 { LDRBroX, 0x2, 0x0, LDRBroW }, // 8
3081 { LDRBui, 0x0, 0x0, LDRBroW }, // 9
3082 { LDRDpost, 0x4, 0x3, LDRDroW }, // 10
3083 { LDRDpre, 0x3, 0x3, LDRDroW }, // 11
3084 { LDRDroW, 0x1, 0x3, LDRDroW }, // 12
3085 { LDRDroX, 0x2, 0x3, LDRDroW }, // 13
3086 { LDRDui, 0x0, 0x3, LDRDroW }, // 14
3087 { LDRHHpost, 0x4, 0x1, LDRHHroW }, // 15
3088 { LDRHHpre, 0x3, 0x1, LDRHHroW }, // 16
3089 { LDRHHroW, 0x1, 0x1, LDRHHroW }, // 17
3090 { LDRHHroX, 0x2, 0x1, LDRHHroW }, // 18
3091 { LDRHHui, 0x0, 0x1, LDRHHroW }, // 19
3092 { LDRHpost, 0x4, 0x1, LDRHroW }, // 20
3093 { LDRHpre, 0x3, 0x1, LDRHroW }, // 21
3094 { LDRHroW, 0x1, 0x1, LDRHroW }, // 22
3095 { LDRHroX, 0x2, 0x1, LDRHroW }, // 23
3096 { LDRHui, 0x0, 0x1, LDRHroW }, // 24
3097 { LDRQpost, 0x4, 0x4, LDRQroW }, // 25
3098 { LDRQpre, 0x3, 0x4, LDRQroW }, // 26
3099 { LDRQroW, 0x1, 0x4, LDRQroW }, // 27
3100 { LDRQroX, 0x2, 0x4, LDRQroW }, // 28
3101 { LDRQui, 0x0, 0x4, LDRQroW }, // 29
3102 { LDRSBWpost, 0x4, 0x0, LDRSBWroW }, // 30
3103 { LDRSBWpre, 0x3, 0x0, LDRSBWroW }, // 31
3104 { LDRSBWroW, 0x1, 0x0, LDRSBWroW }, // 32
3105 { LDRSBWroX, 0x2, 0x0, LDRSBWroW }, // 33
3106 { LDRSBWui, 0x0, 0x0, LDRSBWroW }, // 34
3107 { LDRSBXpost, 0x4, 0x0, LDRSBXroW }, // 35
3108 { LDRSBXpre, 0x3, 0x0, LDRSBXroW }, // 36
3109 { LDRSBXroW, 0x1, 0x0, LDRSBXroW }, // 37
3110 { LDRSBXroX, 0x2, 0x0, LDRSBXroW }, // 38
3111 { LDRSBXui, 0x0, 0x0, LDRSBXroW }, // 39
3112 { LDRSHWpost, 0x4, 0x1, LDRSHWroW }, // 40
3113 { LDRSHWpre, 0x3, 0x1, LDRSHWroW }, // 41
3114 { LDRSHWroW, 0x1, 0x1, LDRSHWroW }, // 42
3115 { LDRSHWroX, 0x2, 0x1, LDRSHWroW }, // 43
3116 { LDRSHWui, 0x0, 0x1, LDRSHWroW }, // 44
3117 { LDRSHXpost, 0x4, 0x1, LDRSHXroW }, // 45
3118 { LDRSHXpre, 0x3, 0x1, LDRSHXroW }, // 46
3119 { LDRSHXroW, 0x1, 0x1, LDRSHXroW }, // 47
3120 { LDRSHXroX, 0x2, 0x1, LDRSHXroW }, // 48
3121 { LDRSHXui, 0x0, 0x1, LDRSHXroW }, // 49
3122 { LDRSWpost, 0x4, 0x2, LDRSWroW }, // 50
3123 { LDRSWpre, 0x3, 0x2, LDRSWroW }, // 51
3124 { LDRSWroW, 0x1, 0x2, LDRSWroW }, // 52
3125 { LDRSWroX, 0x2, 0x2, LDRSWroW }, // 53
3126 { LDRSWui, 0x0, 0x2, LDRSWroW }, // 54
3127 { LDRSpost, 0x4, 0x2, LDRSroW }, // 55
3128 { LDRSpre, 0x3, 0x2, LDRSroW }, // 56
3129 { LDRSroW, 0x1, 0x2, LDRSroW }, // 57
3130 { LDRSroX, 0x2, 0x2, LDRSroW }, // 58
3131 { LDRSui, 0x0, 0x2, LDRSroW }, // 59
3132 { LDRWpost, 0x4, 0x2, LDRWroW }, // 60
3133 { LDRWpre, 0x3, 0x2, LDRWroW }, // 61
3134 { LDRWroW, 0x1, 0x2, LDRWroW }, // 62
3135 { LDRWroX, 0x2, 0x2, LDRWroW }, // 63
3136 { LDRWui, 0x0, 0x2, LDRWroW }, // 64
3137 { LDRXpost, 0x4, 0x3, LDRXroW }, // 65
3138 { LDRXpre, 0x3, 0x3, LDRXroW }, // 66
3139 { LDRXroW, 0x1, 0x3, LDRXroW }, // 67
3140 { LDRXroX, 0x2, 0x3, LDRXroW }, // 68
3141 { LDRXui, 0x0, 0x3, LDRXroW }, // 69
3142 { PRFMroW, 0x1, 0x3, PRFMroW }, // 70
3143 { PRFMroX, 0x2, 0x3, PRFMroW }, // 71
3144 { PRFMui, 0x0, 0x3, PRFMroW }, // 72
3145 { STRBBpost, 0x4, 0x0, STRBBroW }, // 73
3146 { STRBBpre, 0x3, 0x0, STRBBroW }, // 74
3147 { STRBBroW, 0x1, 0x0, STRBBroW }, // 75
3148 { STRBBroX, 0x2, 0x0, STRBBroW }, // 76
3149 { STRBBui, 0x0, 0x0, STRBBroW }, // 77
3150 { STRBpost, 0x4, 0x0, STRBroW }, // 78
3151 { STRBpre, 0x3, 0x0, STRBroW }, // 79
3152 { STRBroW, 0x1, 0x0, STRBroW }, // 80
3153 { STRBroX, 0x2, 0x0, STRBroW }, // 81
3154 { STRBui, 0x0, 0x0, STRBroW }, // 82
3155 { STRDpost, 0x4, 0x3, STRDroW }, // 83
3156 { STRDpre, 0x3, 0x3, STRDroW }, // 84
3157 { STRDroW, 0x1, 0x3, STRDroW }, // 85
3158 { STRDroX, 0x2, 0x3, STRDroW }, // 86
3159 { STRDui, 0x0, 0x3, STRDroW }, // 87
3160 { STRHHpost, 0x4, 0x1, STRHHroW }, // 88
3161 { STRHHpre, 0x3, 0x1, STRHHroW }, // 89
3162 { STRHHroW, 0x1, 0x1, STRHHroW }, // 90
3163 { STRHHroX, 0x2, 0x1, STRHHroW }, // 91
3164 { STRHHui, 0x0, 0x1, STRHHroW }, // 92
3165 { STRHpost, 0x4, 0x1, STRHroW }, // 93
3166 { STRHpre, 0x3, 0x1, STRHroW }, // 94
3167 { STRHroW, 0x1, 0x1, STRHroW }, // 95
3168 { STRHroX, 0x2, 0x1, STRHroW }, // 96
3169 { STRHui, 0x0, 0x1, STRHroW }, // 97
3170 { STRQpost, 0x4, 0x4, STRQroW }, // 98
3171 { STRQpre, 0x3, 0x4, STRQroW }, // 99
3172 { STRQroW, 0x1, 0x4, STRQroW }, // 100
3173 { STRQroX, 0x2, 0x4, STRQroW }, // 101
3174 { STRQui, 0x0, 0x4, STRQroW }, // 102
3175 { STRSpost, 0x4, 0x2, STRSroW }, // 103
3176 { STRSpre, 0x3, 0x2, STRSroW }, // 104
3177 { STRSroW, 0x1, 0x2, STRSroW }, // 105
3178 { STRSroX, 0x2, 0x2, STRSroW }, // 106
3179 { STRSui, 0x0, 0x2, STRSroW }, // 107
3180 { STRWpost, 0x4, 0x2, STRWroW }, // 108
3181 { STRWpre, 0x3, 0x2, STRWroW }, // 109
3182 { STRWroW, 0x1, 0x2, STRWroW }, // 110
3183 { STRWroX, 0x2, 0x2, STRWroW }, // 111
3184 { STRWui, 0x0, 0x2, STRWroW }, // 112
3185 { STRXpost, 0x4, 0x3, STRXroW }, // 113
3186 { STRXpre, 0x3, 0x3, STRXroW }, // 114
3187 { STRXroW, 0x1, 0x3, STRXroW }, // 115
3188 { STRXroX, 0x2, 0x3, STRXroW }, // 116
3189 { STRXui, 0x0, 0x3, STRXroW }, // 117
3190 };
3191
3192const LFIVariantEntry *lookupLFIVariantByOpcode(unsigned Inst) {
3193 struct KeyType {
3194 unsigned Inst;
3195 };
3196 KeyType Key = {Inst};
3197 struct Comp {
3198 bool operator()(const LFIVariantEntry &LHS, const KeyType &RHS) const {
3199 if (LHS.Inst < RHS.Inst)
3200 return true;
3201 if (LHS.Inst > RHS.Inst)
3202 return false;
3203 return false;
3204 }
3205 };
3206 auto Table = ArrayRef(LFIVariantTable);
3207 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
3208 if (Idx == Table.end() ||
3209 Key.Inst != Idx->Inst)
3210 return nullptr;
3211
3212 return &*Idx;
3213}
3214#endif
3215
3216#ifdef GET_MemInfoTable_DECL
3217const MemInfoEntry *lookupMemInfoByOpcode(unsigned Inst);
3218#endif
3219
3220#ifdef GET_MemInfoTable_IMPL
3221constexpr MemInfoEntry MemInfoTable[] = {
3222 { CASAB, 0x3, 0x0, false, false, false }, // 0
3223 { CASAH, 0x3, 0x0, false, false, false }, // 1
3224 { CASALB, 0x3, 0x0, false, false, false }, // 2
3225 { CASALH, 0x3, 0x0, false, false, false }, // 3
3226 { CASALW, 0x3, 0x0, false, false, false }, // 4
3227 { CASALX, 0x3, 0x0, false, false, false }, // 5
3228 { CASAW, 0x3, 0x0, false, false, false }, // 6
3229 { CASAX, 0x3, 0x0, false, false, false }, // 7
3230 { CASB, 0x3, 0x0, false, false, false }, // 8
3231 { CASH, 0x3, 0x0, false, false, false }, // 9
3232 { CASLB, 0x3, 0x0, false, false, false }, // 10
3233 { CASLH, 0x3, 0x0, false, false, false }, // 11
3234 { CASLW, 0x3, 0x0, false, false, false }, // 12
3235 { CASLX, 0x3, 0x0, false, false, false }, // 13
3236 { CASPALW, 0x3, 0x0, false, false, false }, // 14
3237 { CASPALX, 0x3, 0x0, false, false, false }, // 15
3238 { CASPAW, 0x3, 0x0, false, false, false }, // 16
3239 { CASPAX, 0x3, 0x0, false, false, false }, // 17
3240 { CASPLW, 0x3, 0x0, false, false, false }, // 18
3241 { CASPLX, 0x3, 0x0, false, false, false }, // 19
3242 { CASPW, 0x3, 0x0, false, false, false }, // 20
3243 { CASPX, 0x3, 0x0, false, false, false }, // 21
3244 { CASW, 0x3, 0x0, false, false, false }, // 22
3245 { CASX, 0x3, 0x0, false, false, false }, // 23
3246 { LD1Fourv16b, 0x1, 0x0, false, false, false }, // 24
3247 { LD1Fourv16b_POST, 0x2, 0x3, true, true, false }, // 25
3248 { LD1Fourv1d, 0x1, 0x0, false, false, false }, // 26
3249 { LD1Fourv1d_POST, 0x2, 0x3, true, true, false }, // 27
3250 { LD1Fourv2d, 0x1, 0x0, false, false, false }, // 28
3251 { LD1Fourv2d_POST, 0x2, 0x3, true, true, false }, // 29
3252 { LD1Fourv2s, 0x1, 0x0, false, false, false }, // 30
3253 { LD1Fourv2s_POST, 0x2, 0x3, true, true, false }, // 31
3254 { LD1Fourv4h, 0x1, 0x0, false, false, false }, // 32
3255 { LD1Fourv4h_POST, 0x2, 0x3, true, true, false }, // 33
3256 { LD1Fourv4s, 0x1, 0x0, false, false, false }, // 34
3257 { LD1Fourv4s_POST, 0x2, 0x3, true, true, false }, // 35
3258 { LD1Fourv8b, 0x1, 0x0, false, false, false }, // 36
3259 { LD1Fourv8b_POST, 0x2, 0x3, true, true, false }, // 37
3260 { LD1Fourv8h, 0x1, 0x0, false, false, false }, // 38
3261 { LD1Fourv8h_POST, 0x2, 0x3, true, true, false }, // 39
3262 { LD1Onev16b, 0x1, 0x0, false, false, false }, // 40
3263 { LD1Onev16b_POST, 0x2, 0x3, true, true, false }, // 41
3264 { LD1Onev1d, 0x1, 0x0, false, false, false }, // 42
3265 { LD1Onev1d_POST, 0x2, 0x3, true, true, false }, // 43
3266 { LD1Onev2d, 0x1, 0x0, false, false, false }, // 44
3267 { LD1Onev2d_POST, 0x2, 0x3, true, true, false }, // 45
3268 { LD1Onev2s, 0x1, 0x0, false, false, false }, // 46
3269 { LD1Onev2s_POST, 0x2, 0x3, true, true, false }, // 47
3270 { LD1Onev4h, 0x1, 0x0, false, false, false }, // 48
3271 { LD1Onev4h_POST, 0x2, 0x3, true, true, false }, // 49
3272 { LD1Onev4s, 0x1, 0x0, false, false, false }, // 50
3273 { LD1Onev4s_POST, 0x2, 0x3, true, true, false }, // 51
3274 { LD1Onev8b, 0x1, 0x0, false, false, false }, // 52
3275 { LD1Onev8b_POST, 0x2, 0x3, true, true, false }, // 53
3276 { LD1Onev8h, 0x1, 0x0, false, false, false }, // 54
3277 { LD1Onev8h_POST, 0x2, 0x3, true, true, false }, // 55
3278 { LD1Rv16b, 0x1, 0x0, false, false, false }, // 56
3279 { LD1Rv16b_POST, 0x2, 0x3, true, true, false }, // 57
3280 { LD1Rv1d, 0x1, 0x0, false, false, false }, // 58
3281 { LD1Rv1d_POST, 0x2, 0x3, true, true, false }, // 59
3282 { LD1Rv2d, 0x1, 0x0, false, false, false }, // 60
3283 { LD1Rv2d_POST, 0x2, 0x3, true, true, false }, // 61
3284 { LD1Rv2s, 0x1, 0x0, false, false, false }, // 62
3285 { LD1Rv2s_POST, 0x2, 0x3, true, true, false }, // 63
3286 { LD1Rv4h, 0x1, 0x0, false, false, false }, // 64
3287 { LD1Rv4h_POST, 0x2, 0x3, true, true, false }, // 65
3288 { LD1Rv4s, 0x1, 0x0, false, false, false }, // 66
3289 { LD1Rv4s_POST, 0x2, 0x3, true, true, false }, // 67
3290 { LD1Rv8b, 0x1, 0x0, false, false, false }, // 68
3291 { LD1Rv8b_POST, 0x2, 0x3, true, true, false }, // 69
3292 { LD1Rv8h, 0x1, 0x0, false, false, false }, // 70
3293 { LD1Rv8h_POST, 0x2, 0x3, true, true, false }, // 71
3294 { LD1Threev16b, 0x1, 0x0, false, false, false }, // 72
3295 { LD1Threev16b_POST, 0x2, 0x3, true, true, false }, // 73
3296 { LD1Threev1d, 0x1, 0x0, false, false, false }, // 74
3297 { LD1Threev1d_POST, 0x2, 0x3, true, true, false }, // 75
3298 { LD1Threev2d, 0x1, 0x0, false, false, false }, // 76
3299 { LD1Threev2d_POST, 0x2, 0x3, true, true, false }, // 77
3300 { LD1Threev2s, 0x1, 0x0, false, false, false }, // 78
3301 { LD1Threev2s_POST, 0x2, 0x3, true, true, false }, // 79
3302 { LD1Threev4h, 0x1, 0x0, false, false, false }, // 80
3303 { LD1Threev4h_POST, 0x2, 0x3, true, true, false }, // 81
3304 { LD1Threev4s, 0x1, 0x0, false, false, false }, // 82
3305 { LD1Threev4s_POST, 0x2, 0x3, true, true, false }, // 83
3306 { LD1Threev8b, 0x1, 0x0, false, false, false }, // 84
3307 { LD1Threev8b_POST, 0x2, 0x3, true, true, false }, // 85
3308 { LD1Threev8h, 0x1, 0x0, false, false, false }, // 86
3309 { LD1Threev8h_POST, 0x2, 0x3, true, true, false }, // 87
3310 { LD1Twov16b, 0x1, 0x0, false, false, false }, // 88
3311 { LD1Twov16b_POST, 0x2, 0x3, true, true, false }, // 89
3312 { LD1Twov1d, 0x1, 0x0, false, false, false }, // 90
3313 { LD1Twov1d_POST, 0x2, 0x3, true, true, false }, // 91
3314 { LD1Twov2d, 0x1, 0x0, false, false, false }, // 92
3315 { LD1Twov2d_POST, 0x2, 0x3, true, true, false }, // 93
3316 { LD1Twov2s, 0x1, 0x0, false, false, false }, // 94
3317 { LD1Twov2s_POST, 0x2, 0x3, true, true, false }, // 95
3318 { LD1Twov4h, 0x1, 0x0, false, false, false }, // 96
3319 { LD1Twov4h_POST, 0x2, 0x3, true, true, false }, // 97
3320 { LD1Twov4s, 0x1, 0x0, false, false, false }, // 98
3321 { LD1Twov4s_POST, 0x2, 0x3, true, true, false }, // 99
3322 { LD1Twov8b, 0x1, 0x0, false, false, false }, // 100
3323 { LD1Twov8b_POST, 0x2, 0x3, true, true, false }, // 101
3324 { LD1Twov8h, 0x1, 0x0, false, false, false }, // 102
3325 { LD1Twov8h_POST, 0x2, 0x3, true, true, false }, // 103
3326 { LD1i16, 0x3, 0x0, false, false, false }, // 104
3327 { LD1i16_POST, 0x4, 0x5, true, true, false }, // 105
3328 { LD1i32, 0x3, 0x0, false, false, false }, // 106
3329 { LD1i32_POST, 0x4, 0x5, true, true, false }, // 107
3330 { LD1i64, 0x3, 0x0, false, false, false }, // 108
3331 { LD1i64_POST, 0x4, 0x5, true, true, false }, // 109
3332 { LD1i8, 0x3, 0x0, false, false, false }, // 110
3333 { LD1i8_POST, 0x4, 0x5, true, true, false }, // 111
3334 { LD2Rv16b, 0x1, 0x0, false, false, false }, // 112
3335 { LD2Rv16b_POST, 0x2, 0x3, true, true, false }, // 113
3336 { LD2Rv1d, 0x1, 0x0, false, false, false }, // 114
3337 { LD2Rv1d_POST, 0x2, 0x3, true, true, false }, // 115
3338 { LD2Rv2d, 0x1, 0x0, false, false, false }, // 116
3339 { LD2Rv2d_POST, 0x2, 0x3, true, true, false }, // 117
3340 { LD2Rv2s, 0x1, 0x0, false, false, false }, // 118
3341 { LD2Rv2s_POST, 0x2, 0x3, true, true, false }, // 119
3342 { LD2Rv4h, 0x1, 0x0, false, false, false }, // 120
3343 { LD2Rv4h_POST, 0x2, 0x3, true, true, false }, // 121
3344 { LD2Rv4s, 0x1, 0x0, false, false, false }, // 122
3345 { LD2Rv4s_POST, 0x2, 0x3, true, true, false }, // 123
3346 { LD2Rv8b, 0x1, 0x0, false, false, false }, // 124
3347 { LD2Rv8b_POST, 0x2, 0x3, true, true, false }, // 125
3348 { LD2Rv8h, 0x1, 0x0, false, false, false }, // 126
3349 { LD2Rv8h_POST, 0x2, 0x3, true, true, false }, // 127
3350 { LD2Twov16b, 0x1, 0x0, false, false, false }, // 128
3351 { LD2Twov16b_POST, 0x2, 0x3, true, true, false }, // 129
3352 { LD2Twov2d, 0x1, 0x0, false, false, false }, // 130
3353 { LD2Twov2d_POST, 0x2, 0x3, true, true, false }, // 131
3354 { LD2Twov2s, 0x1, 0x0, false, false, false }, // 132
3355 { LD2Twov2s_POST, 0x2, 0x3, true, true, false }, // 133
3356 { LD2Twov4h, 0x1, 0x0, false, false, false }, // 134
3357 { LD2Twov4h_POST, 0x2, 0x3, true, true, false }, // 135
3358 { LD2Twov4s, 0x1, 0x0, false, false, false }, // 136
3359 { LD2Twov4s_POST, 0x2, 0x3, true, true, false }, // 137
3360 { LD2Twov8b, 0x1, 0x0, false, false, false }, // 138
3361 { LD2Twov8b_POST, 0x2, 0x3, true, true, false }, // 139
3362 { LD2Twov8h, 0x1, 0x0, false, false, false }, // 140
3363 { LD2Twov8h_POST, 0x2, 0x3, true, true, false }, // 141
3364 { LD2i16, 0x3, 0x0, false, false, false }, // 142
3365 { LD2i16_POST, 0x4, 0x5, true, true, false }, // 143
3366 { LD2i32, 0x3, 0x0, false, false, false }, // 144
3367 { LD2i32_POST, 0x4, 0x5, true, true, false }, // 145
3368 { LD2i64, 0x3, 0x0, false, false, false }, // 146
3369 { LD2i64_POST, 0x4, 0x5, true, true, false }, // 147
3370 { LD2i8, 0x3, 0x0, false, false, false }, // 148
3371 { LD2i8_POST, 0x4, 0x5, true, true, false }, // 149
3372 { LD3Rv16b, 0x1, 0x0, false, false, false }, // 150
3373 { LD3Rv16b_POST, 0x2, 0x3, true, true, false }, // 151
3374 { LD3Rv1d, 0x1, 0x0, false, false, false }, // 152
3375 { LD3Rv1d_POST, 0x2, 0x3, true, true, false }, // 153
3376 { LD3Rv2d, 0x1, 0x0, false, false, false }, // 154
3377 { LD3Rv2d_POST, 0x2, 0x3, true, true, false }, // 155
3378 { LD3Rv2s, 0x1, 0x0, false, false, false }, // 156
3379 { LD3Rv2s_POST, 0x2, 0x3, true, true, false }, // 157
3380 { LD3Rv4h, 0x1, 0x0, false, false, false }, // 158
3381 { LD3Rv4h_POST, 0x2, 0x3, true, true, false }, // 159
3382 { LD3Rv4s, 0x1, 0x0, false, false, false }, // 160
3383 { LD3Rv4s_POST, 0x2, 0x3, true, true, false }, // 161
3384 { LD3Rv8b, 0x1, 0x0, false, false, false }, // 162
3385 { LD3Rv8b_POST, 0x2, 0x3, true, true, false }, // 163
3386 { LD3Rv8h, 0x1, 0x0, false, false, false }, // 164
3387 { LD3Rv8h_POST, 0x2, 0x3, true, true, false }, // 165
3388 { LD3Threev16b, 0x1, 0x0, false, false, false }, // 166
3389 { LD3Threev16b_POST, 0x2, 0x3, true, true, false }, // 167
3390 { LD3Threev2d, 0x1, 0x0, false, false, false }, // 168
3391 { LD3Threev2d_POST, 0x2, 0x3, true, true, false }, // 169
3392 { LD3Threev2s, 0x1, 0x0, false, false, false }, // 170
3393 { LD3Threev2s_POST, 0x2, 0x3, true, true, false }, // 171
3394 { LD3Threev4h, 0x1, 0x0, false, false, false }, // 172
3395 { LD3Threev4h_POST, 0x2, 0x3, true, true, false }, // 173
3396 { LD3Threev4s, 0x1, 0x0, false, false, false }, // 174
3397 { LD3Threev4s_POST, 0x2, 0x3, true, true, false }, // 175
3398 { LD3Threev8b, 0x1, 0x0, false, false, false }, // 176
3399 { LD3Threev8b_POST, 0x2, 0x3, true, true, false }, // 177
3400 { LD3Threev8h, 0x1, 0x0, false, false, false }, // 178
3401 { LD3Threev8h_POST, 0x2, 0x3, true, true, false }, // 179
3402 { LD3i16, 0x3, 0x0, false, false, false }, // 180
3403 { LD3i16_POST, 0x4, 0x5, true, true, false }, // 181
3404 { LD3i32, 0x3, 0x0, false, false, false }, // 182
3405 { LD3i32_POST, 0x4, 0x5, true, true, false }, // 183
3406 { LD3i64, 0x3, 0x0, false, false, false }, // 184
3407 { LD3i64_POST, 0x4, 0x5, true, true, false }, // 185
3408 { LD3i8, 0x3, 0x0, false, false, false }, // 186
3409 { LD3i8_POST, 0x4, 0x5, true, true, false }, // 187
3410 { LD4Fourv16b, 0x1, 0x0, false, false, false }, // 188
3411 { LD4Fourv16b_POST, 0x2, 0x3, true, true, false }, // 189
3412 { LD4Fourv2d, 0x1, 0x0, false, false, false }, // 190
3413 { LD4Fourv2d_POST, 0x2, 0x3, true, true, false }, // 191
3414 { LD4Fourv2s, 0x1, 0x0, false, false, false }, // 192
3415 { LD4Fourv2s_POST, 0x2, 0x3, true, true, false }, // 193
3416 { LD4Fourv4h, 0x1, 0x0, false, false, false }, // 194
3417 { LD4Fourv4h_POST, 0x2, 0x3, true, true, false }, // 195
3418 { LD4Fourv4s, 0x1, 0x0, false, false, false }, // 196
3419 { LD4Fourv4s_POST, 0x2, 0x3, true, true, false }, // 197
3420 { LD4Fourv8b, 0x1, 0x0, false, false, false }, // 198
3421 { LD4Fourv8b_POST, 0x2, 0x3, true, true, false }, // 199
3422 { LD4Fourv8h, 0x1, 0x0, false, false, false }, // 200
3423 { LD4Fourv8h_POST, 0x2, 0x3, true, true, false }, // 201
3424 { LD4Rv16b, 0x1, 0x0, false, false, false }, // 202
3425 { LD4Rv16b_POST, 0x2, 0x3, true, true, false }, // 203
3426 { LD4Rv1d, 0x1, 0x0, false, false, false }, // 204
3427 { LD4Rv1d_POST, 0x2, 0x3, true, true, false }, // 205
3428 { LD4Rv2d, 0x1, 0x0, false, false, false }, // 206
3429 { LD4Rv2d_POST, 0x2, 0x3, true, true, false }, // 207
3430 { LD4Rv2s, 0x1, 0x0, false, false, false }, // 208
3431 { LD4Rv2s_POST, 0x2, 0x3, true, true, false }, // 209
3432 { LD4Rv4h, 0x1, 0x0, false, false, false }, // 210
3433 { LD4Rv4h_POST, 0x2, 0x3, true, true, false }, // 211
3434 { LD4Rv4s, 0x1, 0x0, false, false, false }, // 212
3435 { LD4Rv4s_POST, 0x2, 0x3, true, true, false }, // 213
3436 { LD4Rv8b, 0x1, 0x0, false, false, false }, // 214
3437 { LD4Rv8b_POST, 0x2, 0x3, true, true, false }, // 215
3438 { LD4Rv8h, 0x1, 0x0, false, false, false }, // 216
3439 { LD4Rv8h_POST, 0x2, 0x3, true, true, false }, // 217
3440 { LD4i16, 0x3, 0x0, false, false, false }, // 218
3441 { LD4i16_POST, 0x4, 0x5, true, true, false }, // 219
3442 { LD4i32, 0x3, 0x0, false, false, false }, // 220
3443 { LD4i32_POST, 0x4, 0x5, true, true, false }, // 221
3444 { LD4i64, 0x3, 0x0, false, false, false }, // 222
3445 { LD4i64_POST, 0x4, 0x5, true, true, false }, // 223
3446 { LD4i8, 0x3, 0x0, false, false, false }, // 224
3447 { LD4i8_POST, 0x4, 0x5, true, true, false }, // 225
3448 { LDADDAB, 0x2, 0x0, false, false, false }, // 226
3449 { LDADDAH, 0x2, 0x0, false, false, false }, // 227
3450 { LDADDALB, 0x2, 0x0, false, false, false }, // 228
3451 { LDADDALH, 0x2, 0x0, false, false, false }, // 229
3452 { LDADDALW, 0x2, 0x0, false, false, false }, // 230
3453 { LDADDALX, 0x2, 0x0, false, false, false }, // 231
3454 { LDADDAW, 0x2, 0x0, false, false, false }, // 232
3455 { LDADDAX, 0x2, 0x0, false, false, false }, // 233
3456 { LDADDB, 0x2, 0x0, false, false, false }, // 234
3457 { LDADDH, 0x2, 0x0, false, false, false }, // 235
3458 { LDADDLB, 0x2, 0x0, false, false, false }, // 236
3459 { LDADDLH, 0x2, 0x0, false, false, false }, // 237
3460 { LDADDLW, 0x2, 0x0, false, false, false }, // 238
3461 { LDADDLX, 0x2, 0x0, false, false, false }, // 239
3462 { LDADDW, 0x2, 0x0, false, false, false }, // 240
3463 { LDADDX, 0x2, 0x0, false, false, false }, // 241
3464 { LDAPRB, 0x1, 0x0, false, false, false }, // 242
3465 { LDAPRH, 0x1, 0x0, false, false, false }, // 243
3466 { LDAPRW, 0x1, 0x0, false, false, false }, // 244
3467 { LDAPRX, 0x1, 0x0, false, false, false }, // 245
3468 { LDARB, 0x1, 0x0, false, false, false }, // 246
3469 { LDARH, 0x1, 0x0, false, false, false }, // 247
3470 { LDARW, 0x1, 0x0, false, false, false }, // 248
3471 { LDARX, 0x1, 0x0, false, false, false }, // 249
3472 { LDAXPW, 0x2, 0x0, false, false, false }, // 250
3473 { LDAXPX, 0x2, 0x0, false, false, false }, // 251
3474 { LDAXRB, 0x1, 0x0, false, false, false }, // 252
3475 { LDAXRH, 0x1, 0x0, false, false, false }, // 253
3476 { LDAXRW, 0x1, 0x0, false, false, false }, // 254
3477 { LDAXRX, 0x1, 0x0, false, false, false }, // 255
3478 { LDCLRAB, 0x2, 0x0, false, false, false }, // 256
3479 { LDCLRAH, 0x2, 0x0, false, false, false }, // 257
3480 { LDCLRALB, 0x2, 0x0, false, false, false }, // 258
3481 { LDCLRALH, 0x2, 0x0, false, false, false }, // 259
3482 { LDCLRALW, 0x2, 0x0, false, false, false }, // 260
3483 { LDCLRALX, 0x2, 0x0, false, false, false }, // 261
3484 { LDCLRAW, 0x2, 0x0, false, false, false }, // 262
3485 { LDCLRAX, 0x2, 0x0, false, false, false }, // 263
3486 { LDCLRB, 0x2, 0x0, false, false, false }, // 264
3487 { LDCLRH, 0x2, 0x0, false, false, false }, // 265
3488 { LDCLRLB, 0x2, 0x0, false, false, false }, // 266
3489 { LDCLRLH, 0x2, 0x0, false, false, false }, // 267
3490 { LDCLRLW, 0x2, 0x0, false, false, false }, // 268
3491 { LDCLRLX, 0x2, 0x0, false, false, false }, // 269
3492 { LDCLRW, 0x2, 0x0, false, false, false }, // 270
3493 { LDCLRX, 0x2, 0x0, false, false, false }, // 271
3494 { LDEORAB, 0x2, 0x0, false, false, false }, // 272
3495 { LDEORAH, 0x2, 0x0, false, false, false }, // 273
3496 { LDEORALB, 0x2, 0x0, false, false, false }, // 274
3497 { LDEORALH, 0x2, 0x0, false, false, false }, // 275
3498 { LDEORALW, 0x2, 0x0, false, false, false }, // 276
3499 { LDEORALX, 0x2, 0x0, false, false, false }, // 277
3500 { LDEORAW, 0x2, 0x0, false, false, false }, // 278
3501 { LDEORAX, 0x2, 0x0, false, false, false }, // 279
3502 { LDEORB, 0x2, 0x0, false, false, false }, // 280
3503 { LDEORH, 0x2, 0x0, false, false, false }, // 281
3504 { LDEORLB, 0x2, 0x0, false, false, false }, // 282
3505 { LDEORLH, 0x2, 0x0, false, false, false }, // 283
3506 { LDEORLW, 0x2, 0x0, false, false, false }, // 284
3507 { LDEORLX, 0x2, 0x0, false, false, false }, // 285
3508 { LDEORW, 0x2, 0x0, false, false, false }, // 286
3509 { LDEORX, 0x2, 0x0, false, false, false }, // 287
3510 { LDLARB, 0x1, 0x0, false, false, false }, // 288
3511 { LDLARH, 0x1, 0x0, false, false, false }, // 289
3512 { LDLARW, 0x1, 0x0, false, false, false }, // 290
3513 { LDLARX, 0x1, 0x0, false, false, false }, // 291
3514 { LDNPDi, 0x2, 0x3, true, false, false }, // 292
3515 { LDNPQi, 0x2, 0x3, true, false, false }, // 293
3516 { LDNPSi, 0x2, 0x3, true, false, false }, // 294
3517 { LDNPWi, 0x2, 0x3, true, false, false }, // 295
3518 { LDNPXi, 0x2, 0x3, true, false, false }, // 296
3519 { LDPDi, 0x2, 0x3, true, false, false }, // 297
3520 { LDPDpost, 0x3, 0x4, true, true, false }, // 298
3521 { LDPDpre, 0x3, 0x4, true, true, false }, // 299
3522 { LDPQi, 0x2, 0x3, true, false, false }, // 300
3523 { LDPQpost, 0x3, 0x4, true, true, false }, // 301
3524 { LDPQpre, 0x3, 0x4, true, true, false }, // 302
3525 { LDPSWi, 0x2, 0x3, true, false, false }, // 303
3526 { LDPSWpost, 0x3, 0x4, true, true, false }, // 304
3527 { LDPSWpre, 0x3, 0x4, true, true, false }, // 305
3528 { LDPSi, 0x2, 0x3, true, false, false }, // 306
3529 { LDPSpost, 0x3, 0x4, true, true, false }, // 307
3530 { LDPSpre, 0x3, 0x4, true, true, false }, // 308
3531 { LDPWi, 0x2, 0x3, true, false, false }, // 309
3532 { LDPWpost, 0x3, 0x4, true, true, false }, // 310
3533 { LDPWpre, 0x3, 0x4, true, true, false }, // 311
3534 { LDPXi, 0x2, 0x3, true, false, false }, // 312
3535 { LDPXpost, 0x3, 0x4, true, true, false }, // 313
3536 { LDPXpre, 0x3, 0x4, true, true, false }, // 314
3537 { LDRBBpost, 0x2, 0x3, true, true, false }, // 315
3538 { LDRBBpre, 0x2, 0x3, true, true, false }, // 316
3539 { LDRBBroW, 0x1, 0x2, true, false, false }, // 317
3540 { LDRBBroX, 0x1, 0x2, true, false, false }, // 318
3541 { LDRBBui, 0x1, 0x2, true, false, false }, // 319
3542 { LDRBpost, 0x2, 0x3, true, true, false }, // 320
3543 { LDRBpre, 0x2, 0x3, true, true, false }, // 321
3544 { LDRBroW, 0x1, 0x2, true, false, false }, // 322
3545 { LDRBroX, 0x1, 0x2, true, false, false }, // 323
3546 { LDRBui, 0x1, 0x2, true, false, false }, // 324
3547 { LDRDl, 0x0, 0x0, false, false, true }, // 325
3548 { LDRDpost, 0x2, 0x3, true, true, false }, // 326
3549 { LDRDpre, 0x2, 0x3, true, true, false }, // 327
3550 { LDRDroW, 0x1, 0x2, true, false, false }, // 328
3551 { LDRDroX, 0x1, 0x2, true, false, false }, // 329
3552 { LDRDui, 0x1, 0x2, true, false, false }, // 330
3553 { LDRHHpost, 0x2, 0x3, true, true, false }, // 331
3554 { LDRHHpre, 0x2, 0x3, true, true, false }, // 332
3555 { LDRHHroW, 0x1, 0x2, true, false, false }, // 333
3556 { LDRHHroX, 0x1, 0x2, true, false, false }, // 334
3557 { LDRHHui, 0x1, 0x2, true, false, false }, // 335
3558 { LDRHpost, 0x2, 0x3, true, true, false }, // 336
3559 { LDRHpre, 0x2, 0x3, true, true, false }, // 337
3560 { LDRHroW, 0x1, 0x2, true, false, false }, // 338
3561 { LDRHroX, 0x1, 0x2, true, false, false }, // 339
3562 { LDRHui, 0x1, 0x2, true, false, false }, // 340
3563 { LDRQl, 0x0, 0x0, false, false, true }, // 341
3564 { LDRQpost, 0x2, 0x3, true, true, false }, // 342
3565 { LDRQpre, 0x2, 0x3, true, true, false }, // 343
3566 { LDRQroW, 0x1, 0x2, true, false, false }, // 344
3567 { LDRQroX, 0x1, 0x2, true, false, false }, // 345
3568 { LDRQui, 0x1, 0x2, true, false, false }, // 346
3569 { LDRSBWpost, 0x2, 0x3, true, true, false }, // 347
3570 { LDRSBWpre, 0x2, 0x3, true, true, false }, // 348
3571 { LDRSBWroW, 0x1, 0x2, true, false, false }, // 349
3572 { LDRSBWroX, 0x1, 0x2, true, false, false }, // 350
3573 { LDRSBWui, 0x1, 0x2, true, false, false }, // 351
3574 { LDRSBXpost, 0x2, 0x3, true, true, false }, // 352
3575 { LDRSBXpre, 0x2, 0x3, true, true, false }, // 353
3576 { LDRSBXroW, 0x1, 0x2, true, false, false }, // 354
3577 { LDRSBXroX, 0x1, 0x2, true, false, false }, // 355
3578 { LDRSBXui, 0x1, 0x2, true, false, false }, // 356
3579 { LDRSHWpost, 0x2, 0x3, true, true, false }, // 357
3580 { LDRSHWpre, 0x2, 0x3, true, true, false }, // 358
3581 { LDRSHWroW, 0x1, 0x2, true, false, false }, // 359
3582 { LDRSHWroX, 0x1, 0x2, true, false, false }, // 360
3583 { LDRSHWui, 0x1, 0x2, true, false, false }, // 361
3584 { LDRSHXpost, 0x2, 0x3, true, true, false }, // 362
3585 { LDRSHXpre, 0x2, 0x3, true, true, false }, // 363
3586 { LDRSHXroW, 0x1, 0x2, true, false, false }, // 364
3587 { LDRSHXroX, 0x1, 0x2, true, false, false }, // 365
3588 { LDRSHXui, 0x1, 0x2, true, false, false }, // 366
3589 { LDRSWl, 0x0, 0x0, false, false, true }, // 367
3590 { LDRSWpost, 0x2, 0x3, true, true, false }, // 368
3591 { LDRSWpre, 0x2, 0x3, true, true, false }, // 369
3592 { LDRSWroW, 0x1, 0x2, true, false, false }, // 370
3593 { LDRSWroX, 0x1, 0x2, true, false, false }, // 371
3594 { LDRSWui, 0x1, 0x2, true, false, false }, // 372
3595 { LDRSl, 0x0, 0x0, false, false, true }, // 373
3596 { LDRSpost, 0x2, 0x3, true, true, false }, // 374
3597 { LDRSpre, 0x2, 0x3, true, true, false }, // 375
3598 { LDRSroW, 0x1, 0x2, true, false, false }, // 376
3599 { LDRSroX, 0x1, 0x2, true, false, false }, // 377
3600 { LDRSui, 0x1, 0x2, true, false, false }, // 378
3601 { LDRWl, 0x0, 0x0, false, false, true }, // 379
3602 { LDRWpost, 0x2, 0x3, true, true, false }, // 380
3603 { LDRWpre, 0x2, 0x3, true, true, false }, // 381
3604 { LDRWroW, 0x1, 0x2, true, false, false }, // 382
3605 { LDRWroX, 0x1, 0x2, true, false, false }, // 383
3606 { LDRWui, 0x1, 0x2, true, false, false }, // 384
3607 { LDRXl, 0x0, 0x0, false, false, true }, // 385
3608 { LDRXpost, 0x2, 0x3, true, true, false }, // 386
3609 { LDRXpre, 0x2, 0x3, true, true, false }, // 387
3610 { LDRXroW, 0x1, 0x2, true, false, false }, // 388
3611 { LDRXroX, 0x1, 0x2, true, false, false }, // 389
3612 { LDRXui, 0x1, 0x2, true, false, false }, // 390
3613 { LDSETAB, 0x2, 0x0, false, false, false }, // 391
3614 { LDSETAH, 0x2, 0x0, false, false, false }, // 392
3615 { LDSETALB, 0x2, 0x0, false, false, false }, // 393
3616 { LDSETALH, 0x2, 0x0, false, false, false }, // 394
3617 { LDSETALW, 0x2, 0x0, false, false, false }, // 395
3618 { LDSETALX, 0x2, 0x0, false, false, false }, // 396
3619 { LDSETAW, 0x2, 0x0, false, false, false }, // 397
3620 { LDSETAX, 0x2, 0x0, false, false, false }, // 398
3621 { LDSETB, 0x2, 0x0, false, false, false }, // 399
3622 { LDSETH, 0x2, 0x0, false, false, false }, // 400
3623 { LDSETLB, 0x2, 0x0, false, false, false }, // 401
3624 { LDSETLH, 0x2, 0x0, false, false, false }, // 402
3625 { LDSETLW, 0x2, 0x0, false, false, false }, // 403
3626 { LDSETLX, 0x2, 0x0, false, false, false }, // 404
3627 { LDSETW, 0x2, 0x0, false, false, false }, // 405
3628 { LDSETX, 0x2, 0x0, false, false, false }, // 406
3629 { LDSMAXAB, 0x2, 0x0, false, false, false }, // 407
3630 { LDSMAXAH, 0x2, 0x0, false, false, false }, // 408
3631 { LDSMAXALB, 0x2, 0x0, false, false, false }, // 409
3632 { LDSMAXALH, 0x2, 0x0, false, false, false }, // 410
3633 { LDSMAXALW, 0x2, 0x0, false, false, false }, // 411
3634 { LDSMAXALX, 0x2, 0x0, false, false, false }, // 412
3635 { LDSMAXAW, 0x2, 0x0, false, false, false }, // 413
3636 { LDSMAXAX, 0x2, 0x0, false, false, false }, // 414
3637 { LDSMAXB, 0x2, 0x0, false, false, false }, // 415
3638 { LDSMAXH, 0x2, 0x0, false, false, false }, // 416
3639 { LDSMAXLB, 0x2, 0x0, false, false, false }, // 417
3640 { LDSMAXLH, 0x2, 0x0, false, false, false }, // 418
3641 { LDSMAXLW, 0x2, 0x0, false, false, false }, // 419
3642 { LDSMAXLX, 0x2, 0x0, false, false, false }, // 420
3643 { LDSMAXW, 0x2, 0x0, false, false, false }, // 421
3644 { LDSMAXX, 0x2, 0x0, false, false, false }, // 422
3645 { LDSMINAB, 0x2, 0x0, false, false, false }, // 423
3646 { LDSMINAH, 0x2, 0x0, false, false, false }, // 424
3647 { LDSMINALB, 0x2, 0x0, false, false, false }, // 425
3648 { LDSMINALH, 0x2, 0x0, false, false, false }, // 426
3649 { LDSMINALW, 0x2, 0x0, false, false, false }, // 427
3650 { LDSMINALX, 0x2, 0x0, false, false, false }, // 428
3651 { LDSMINAW, 0x2, 0x0, false, false, false }, // 429
3652 { LDSMINAX, 0x2, 0x0, false, false, false }, // 430
3653 { LDSMINB, 0x2, 0x0, false, false, false }, // 431
3654 { LDSMINH, 0x2, 0x0, false, false, false }, // 432
3655 { LDSMINLB, 0x2, 0x0, false, false, false }, // 433
3656 { LDSMINLH, 0x2, 0x0, false, false, false }, // 434
3657 { LDSMINLW, 0x2, 0x0, false, false, false }, // 435
3658 { LDSMINLX, 0x2, 0x0, false, false, false }, // 436
3659 { LDSMINW, 0x2, 0x0, false, false, false }, // 437
3660 { LDSMINX, 0x2, 0x0, false, false, false }, // 438
3661 { LDUMAXAB, 0x2, 0x0, false, false, false }, // 439
3662 { LDUMAXAH, 0x2, 0x0, false, false, false }, // 440
3663 { LDUMAXALB, 0x2, 0x0, false, false, false }, // 441
3664 { LDUMAXALH, 0x2, 0x0, false, false, false }, // 442
3665 { LDUMAXALW, 0x2, 0x0, false, false, false }, // 443
3666 { LDUMAXALX, 0x2, 0x0, false, false, false }, // 444
3667 { LDUMAXAW, 0x2, 0x0, false, false, false }, // 445
3668 { LDUMAXAX, 0x2, 0x0, false, false, false }, // 446
3669 { LDUMAXB, 0x2, 0x0, false, false, false }, // 447
3670 { LDUMAXH, 0x2, 0x0, false, false, false }, // 448
3671 { LDUMAXLB, 0x2, 0x0, false, false, false }, // 449
3672 { LDUMAXLH, 0x2, 0x0, false, false, false }, // 450
3673 { LDUMAXLW, 0x2, 0x0, false, false, false }, // 451
3674 { LDUMAXLX, 0x2, 0x0, false, false, false }, // 452
3675 { LDUMAXW, 0x2, 0x0, false, false, false }, // 453
3676 { LDUMAXX, 0x2, 0x0, false, false, false }, // 454
3677 { LDUMINAB, 0x2, 0x0, false, false, false }, // 455
3678 { LDUMINAH, 0x2, 0x0, false, false, false }, // 456
3679 { LDUMINALB, 0x2, 0x0, false, false, false }, // 457
3680 { LDUMINALH, 0x2, 0x0, false, false, false }, // 458
3681 { LDUMINALW, 0x2, 0x0, false, false, false }, // 459
3682 { LDUMINALX, 0x2, 0x0, false, false, false }, // 460
3683 { LDUMINAW, 0x2, 0x0, false, false, false }, // 461
3684 { LDUMINAX, 0x2, 0x0, false, false, false }, // 462
3685 { LDUMINB, 0x2, 0x0, false, false, false }, // 463
3686 { LDUMINH, 0x2, 0x0, false, false, false }, // 464
3687 { LDUMINLB, 0x2, 0x0, false, false, false }, // 465
3688 { LDUMINLH, 0x2, 0x0, false, false, false }, // 466
3689 { LDUMINLW, 0x2, 0x0, false, false, false }, // 467
3690 { LDUMINLX, 0x2, 0x0, false, false, false }, // 468
3691 { LDUMINW, 0x2, 0x0, false, false, false }, // 469
3692 { LDUMINX, 0x2, 0x0, false, false, false }, // 470
3693 { LDURBBi, 0x1, 0x2, true, false, false }, // 471
3694 { LDURBi, 0x1, 0x2, true, false, false }, // 472
3695 { LDURDi, 0x1, 0x2, true, false, false }, // 473
3696 { LDURHHi, 0x1, 0x2, true, false, false }, // 474
3697 { LDURHi, 0x1, 0x2, true, false, false }, // 475
3698 { LDURQi, 0x1, 0x2, true, false, false }, // 476
3699 { LDURSBWi, 0x1, 0x2, true, false, false }, // 477
3700 { LDURSBXi, 0x1, 0x2, true, false, false }, // 478
3701 { LDURSHWi, 0x1, 0x2, true, false, false }, // 479
3702 { LDURSHXi, 0x1, 0x2, true, false, false }, // 480
3703 { LDURSWi, 0x1, 0x2, true, false, false }, // 481
3704 { LDURSi, 0x1, 0x2, true, false, false }, // 482
3705 { LDURWi, 0x1, 0x2, true, false, false }, // 483
3706 { LDURXi, 0x1, 0x2, true, false, false }, // 484
3707 { LDXPW, 0x2, 0x0, false, false, false }, // 485
3708 { LDXPX, 0x2, 0x0, false, false, false }, // 486
3709 { LDXRB, 0x1, 0x0, false, false, false }, // 487
3710 { LDXRH, 0x1, 0x0, false, false, false }, // 488
3711 { LDXRW, 0x1, 0x0, false, false, false }, // 489
3712 { LDXRX, 0x1, 0x0, false, false, false }, // 490
3713 { PRFMl, 0x0, 0x0, false, false, true }, // 491
3714 { PRFMroW, 0x1, 0x2, true, false, false }, // 492
3715 { PRFMroX, 0x1, 0x2, true, false, false }, // 493
3716 { PRFMui, 0x1, 0x2, true, false, false }, // 494
3717 { PRFUMi, 0x1, 0x2, true, false, false }, // 495
3718 { ST1Fourv16b, 0x1, 0x0, false, false, false }, // 496
3719 { ST1Fourv16b_POST, 0x2, 0x3, true, true, false }, // 497
3720 { ST1Fourv1d, 0x1, 0x0, false, false, false }, // 498
3721 { ST1Fourv1d_POST, 0x2, 0x3, true, true, false }, // 499
3722 { ST1Fourv2d, 0x1, 0x0, false, false, false }, // 500
3723 { ST1Fourv2d_POST, 0x2, 0x3, true, true, false }, // 501
3724 { ST1Fourv2s, 0x1, 0x0, false, false, false }, // 502
3725 { ST1Fourv2s_POST, 0x2, 0x3, true, true, false }, // 503
3726 { ST1Fourv4h, 0x1, 0x0, false, false, false }, // 504
3727 { ST1Fourv4h_POST, 0x2, 0x3, true, true, false }, // 505
3728 { ST1Fourv4s, 0x1, 0x0, false, false, false }, // 506
3729 { ST1Fourv4s_POST, 0x2, 0x3, true, true, false }, // 507
3730 { ST1Fourv8b, 0x1, 0x0, false, false, false }, // 508
3731 { ST1Fourv8b_POST, 0x2, 0x3, true, true, false }, // 509
3732 { ST1Fourv8h, 0x1, 0x0, false, false, false }, // 510
3733 { ST1Fourv8h_POST, 0x2, 0x3, true, true, false }, // 511
3734 { ST1Onev16b, 0x1, 0x0, false, false, false }, // 512
3735 { ST1Onev16b_POST, 0x2, 0x3, true, true, false }, // 513
3736 { ST1Onev1d, 0x1, 0x0, false, false, false }, // 514
3737 { ST1Onev1d_POST, 0x2, 0x3, true, true, false }, // 515
3738 { ST1Onev2d, 0x1, 0x0, false, false, false }, // 516
3739 { ST1Onev2d_POST, 0x2, 0x3, true, true, false }, // 517
3740 { ST1Onev2s, 0x1, 0x0, false, false, false }, // 518
3741 { ST1Onev2s_POST, 0x2, 0x3, true, true, false }, // 519
3742 { ST1Onev4h, 0x1, 0x0, false, false, false }, // 520
3743 { ST1Onev4h_POST, 0x2, 0x3, true, true, false }, // 521
3744 { ST1Onev4s, 0x1, 0x0, false, false, false }, // 522
3745 { ST1Onev4s_POST, 0x2, 0x3, true, true, false }, // 523
3746 { ST1Onev8b, 0x1, 0x0, false, false, false }, // 524
3747 { ST1Onev8b_POST, 0x2, 0x3, true, true, false }, // 525
3748 { ST1Onev8h, 0x1, 0x0, false, false, false }, // 526
3749 { ST1Onev8h_POST, 0x2, 0x3, true, true, false }, // 527
3750 { ST1Threev16b, 0x1, 0x0, false, false, false }, // 528
3751 { ST1Threev16b_POST, 0x2, 0x3, true, true, false }, // 529
3752 { ST1Threev1d, 0x1, 0x0, false, false, false }, // 530
3753 { ST1Threev1d_POST, 0x2, 0x3, true, true, false }, // 531
3754 { ST1Threev2d, 0x1, 0x0, false, false, false }, // 532
3755 { ST1Threev2d_POST, 0x2, 0x3, true, true, false }, // 533
3756 { ST1Threev2s, 0x1, 0x0, false, false, false }, // 534
3757 { ST1Threev2s_POST, 0x2, 0x3, true, true, false }, // 535
3758 { ST1Threev4h, 0x1, 0x0, false, false, false }, // 536
3759 { ST1Threev4h_POST, 0x2, 0x3, true, true, false }, // 537
3760 { ST1Threev4s, 0x1, 0x0, false, false, false }, // 538
3761 { ST1Threev4s_POST, 0x2, 0x3, true, true, false }, // 539
3762 { ST1Threev8b, 0x1, 0x0, false, false, false }, // 540
3763 { ST1Threev8b_POST, 0x2, 0x3, true, true, false }, // 541
3764 { ST1Threev8h, 0x1, 0x0, false, false, false }, // 542
3765 { ST1Threev8h_POST, 0x2, 0x3, true, true, false }, // 543
3766 { ST1Twov16b, 0x1, 0x0, false, false, false }, // 544
3767 { ST1Twov16b_POST, 0x2, 0x3, true, true, false }, // 545
3768 { ST1Twov1d, 0x1, 0x0, false, false, false }, // 546
3769 { ST1Twov1d_POST, 0x2, 0x3, true, true, false }, // 547
3770 { ST1Twov2d, 0x1, 0x0, false, false, false }, // 548
3771 { ST1Twov2d_POST, 0x2, 0x3, true, true, false }, // 549
3772 { ST1Twov2s, 0x1, 0x0, false, false, false }, // 550
3773 { ST1Twov2s_POST, 0x2, 0x3, true, true, false }, // 551
3774 { ST1Twov4h, 0x1, 0x0, false, false, false }, // 552
3775 { ST1Twov4h_POST, 0x2, 0x3, true, true, false }, // 553
3776 { ST1Twov4s, 0x1, 0x0, false, false, false }, // 554
3777 { ST1Twov4s_POST, 0x2, 0x3, true, true, false }, // 555
3778 { ST1Twov8b, 0x1, 0x0, false, false, false }, // 556
3779 { ST1Twov8b_POST, 0x2, 0x3, true, true, false }, // 557
3780 { ST1Twov8h, 0x1, 0x0, false, false, false }, // 558
3781 { ST1Twov8h_POST, 0x2, 0x3, true, true, false }, // 559
3782 { ST1i16, 0x2, 0x0, false, false, false }, // 560
3783 { ST1i16_POST, 0x3, 0x4, true, true, false }, // 561
3784 { ST1i32, 0x2, 0x0, false, false, false }, // 562
3785 { ST1i32_POST, 0x3, 0x4, true, true, false }, // 563
3786 { ST1i64, 0x2, 0x0, false, false, false }, // 564
3787 { ST1i64_POST, 0x3, 0x4, true, true, false }, // 565
3788 { ST1i8, 0x2, 0x0, false, false, false }, // 566
3789 { ST1i8_POST, 0x3, 0x4, true, true, false }, // 567
3790 { ST2Twov16b, 0x1, 0x0, false, false, false }, // 568
3791 { ST2Twov16b_POST, 0x2, 0x3, true, true, false }, // 569
3792 { ST2Twov2d, 0x1, 0x0, false, false, false }, // 570
3793 { ST2Twov2d_POST, 0x2, 0x3, true, true, false }, // 571
3794 { ST2Twov2s, 0x1, 0x0, false, false, false }, // 572
3795 { ST2Twov2s_POST, 0x2, 0x3, true, true, false }, // 573
3796 { ST2Twov4h, 0x1, 0x0, false, false, false }, // 574
3797 { ST2Twov4h_POST, 0x2, 0x3, true, true, false }, // 575
3798 { ST2Twov4s, 0x1, 0x0, false, false, false }, // 576
3799 { ST2Twov4s_POST, 0x2, 0x3, true, true, false }, // 577
3800 { ST2Twov8b, 0x1, 0x0, false, false, false }, // 578
3801 { ST2Twov8b_POST, 0x2, 0x3, true, true, false }, // 579
3802 { ST2Twov8h, 0x1, 0x0, false, false, false }, // 580
3803 { ST2Twov8h_POST, 0x2, 0x3, true, true, false }, // 581
3804 { ST2i16, 0x2, 0x0, false, false, false }, // 582
3805 { ST2i16_POST, 0x3, 0x4, true, true, false }, // 583
3806 { ST2i32, 0x2, 0x0, false, false, false }, // 584
3807 { ST2i32_POST, 0x3, 0x4, true, true, false }, // 585
3808 { ST2i64, 0x2, 0x0, false, false, false }, // 586
3809 { ST2i64_POST, 0x3, 0x4, true, true, false }, // 587
3810 { ST2i8, 0x2, 0x0, false, false, false }, // 588
3811 { ST2i8_POST, 0x3, 0x4, true, true, false }, // 589
3812 { ST3Threev16b, 0x1, 0x0, false, false, false }, // 590
3813 { ST3Threev16b_POST, 0x2, 0x3, true, true, false }, // 591
3814 { ST3Threev2d, 0x1, 0x0, false, false, false }, // 592
3815 { ST3Threev2d_POST, 0x2, 0x3, true, true, false }, // 593
3816 { ST3Threev2s, 0x1, 0x0, false, false, false }, // 594
3817 { ST3Threev2s_POST, 0x2, 0x3, true, true, false }, // 595
3818 { ST3Threev4h, 0x1, 0x0, false, false, false }, // 596
3819 { ST3Threev4h_POST, 0x2, 0x3, true, true, false }, // 597
3820 { ST3Threev4s, 0x1, 0x0, false, false, false }, // 598
3821 { ST3Threev4s_POST, 0x2, 0x3, true, true, false }, // 599
3822 { ST3Threev8b, 0x1, 0x0, false, false, false }, // 600
3823 { ST3Threev8b_POST, 0x2, 0x3, true, true, false }, // 601
3824 { ST3Threev8h, 0x1, 0x0, false, false, false }, // 602
3825 { ST3Threev8h_POST, 0x2, 0x3, true, true, false }, // 603
3826 { ST3i16, 0x2, 0x0, false, false, false }, // 604
3827 { ST3i16_POST, 0x3, 0x4, true, true, false }, // 605
3828 { ST3i32, 0x2, 0x0, false, false, false }, // 606
3829 { ST3i32_POST, 0x3, 0x4, true, true, false }, // 607
3830 { ST3i64, 0x2, 0x0, false, false, false }, // 608
3831 { ST3i64_POST, 0x3, 0x4, true, true, false }, // 609
3832 { ST3i8, 0x2, 0x0, false, false, false }, // 610
3833 { ST3i8_POST, 0x3, 0x4, true, true, false }, // 611
3834 { ST4Fourv16b, 0x1, 0x0, false, false, false }, // 612
3835 { ST4Fourv16b_POST, 0x2, 0x3, true, true, false }, // 613
3836 { ST4Fourv2d, 0x1, 0x0, false, false, false }, // 614
3837 { ST4Fourv2d_POST, 0x2, 0x3, true, true, false }, // 615
3838 { ST4Fourv2s, 0x1, 0x0, false, false, false }, // 616
3839 { ST4Fourv2s_POST, 0x2, 0x3, true, true, false }, // 617
3840 { ST4Fourv4h, 0x1, 0x0, false, false, false }, // 618
3841 { ST4Fourv4h_POST, 0x2, 0x3, true, true, false }, // 619
3842 { ST4Fourv4s, 0x1, 0x0, false, false, false }, // 620
3843 { ST4Fourv4s_POST, 0x2, 0x3, true, true, false }, // 621
3844 { ST4Fourv8b, 0x1, 0x0, false, false, false }, // 622
3845 { ST4Fourv8b_POST, 0x2, 0x3, true, true, false }, // 623
3846 { ST4Fourv8h, 0x1, 0x0, false, false, false }, // 624
3847 { ST4Fourv8h_POST, 0x2, 0x3, true, true, false }, // 625
3848 { ST4i16, 0x2, 0x0, false, false, false }, // 626
3849 { ST4i16_POST, 0x3, 0x4, true, true, false }, // 627
3850 { ST4i32, 0x2, 0x0, false, false, false }, // 628
3851 { ST4i32_POST, 0x3, 0x4, true, true, false }, // 629
3852 { ST4i64, 0x2, 0x0, false, false, false }, // 630
3853 { ST4i64_POST, 0x3, 0x4, true, true, false }, // 631
3854 { ST4i8, 0x2, 0x0, false, false, false }, // 632
3855 { ST4i8_POST, 0x3, 0x4, true, true, false }, // 633
3856 { STLLRB, 0x1, 0x0, false, false, false }, // 634
3857 { STLLRH, 0x1, 0x0, false, false, false }, // 635
3858 { STLLRW, 0x1, 0x0, false, false, false }, // 636
3859 { STLLRX, 0x1, 0x0, false, false, false }, // 637
3860 { STLRB, 0x1, 0x0, false, false, false }, // 638
3861 { STLRH, 0x1, 0x0, false, false, false }, // 639
3862 { STLRW, 0x1, 0x0, false, false, false }, // 640
3863 { STLRX, 0x1, 0x0, false, false, false }, // 641
3864 { STLXPW, 0x3, 0x0, false, false, false }, // 642
3865 { STLXPX, 0x3, 0x0, false, false, false }, // 643
3866 { STLXRB, 0x2, 0x0, false, false, false }, // 644
3867 { STLXRH, 0x2, 0x0, false, false, false }, // 645
3868 { STLXRW, 0x2, 0x0, false, false, false }, // 646
3869 { STLXRX, 0x2, 0x0, false, false, false }, // 647
3870 { STNPDi, 0x2, 0x3, true, false, false }, // 648
3871 { STNPQi, 0x2, 0x3, true, false, false }, // 649
3872 { STNPSi, 0x2, 0x3, true, false, false }, // 650
3873 { STNPWi, 0x2, 0x3, true, false, false }, // 651
3874 { STNPXi, 0x2, 0x3, true, false, false }, // 652
3875 { STPDi, 0x2, 0x3, true, false, false }, // 653
3876 { STPDpost, 0x3, 0x4, true, true, false }, // 654
3877 { STPDpre, 0x3, 0x4, true, true, false }, // 655
3878 { STPQi, 0x2, 0x3, true, false, false }, // 656
3879 { STPQpost, 0x3, 0x4, true, true, false }, // 657
3880 { STPQpre, 0x3, 0x4, true, true, false }, // 658
3881 { STPSi, 0x2, 0x3, true, false, false }, // 659
3882 { STPSpost, 0x3, 0x4, true, true, false }, // 660
3883 { STPSpre, 0x3, 0x4, true, true, false }, // 661
3884 { STPWi, 0x2, 0x3, true, false, false }, // 662
3885 { STPWpost, 0x3, 0x4, true, true, false }, // 663
3886 { STPWpre, 0x3, 0x4, true, true, false }, // 664
3887 { STPXi, 0x2, 0x3, true, false, false }, // 665
3888 { STPXpost, 0x3, 0x4, true, true, false }, // 666
3889 { STPXpre, 0x3, 0x4, true, true, false }, // 667
3890 { STRBBpost, 0x2, 0x3, true, true, false }, // 668
3891 { STRBBpre, 0x2, 0x3, true, true, false }, // 669
3892 { STRBBroW, 0x1, 0x2, true, false, false }, // 670
3893 { STRBBroX, 0x1, 0x2, true, false, false }, // 671
3894 { STRBBui, 0x1, 0x2, true, false, false }, // 672
3895 { STRBpost, 0x2, 0x3, true, true, false }, // 673
3896 { STRBpre, 0x2, 0x3, true, true, false }, // 674
3897 { STRBroW, 0x1, 0x2, true, false, false }, // 675
3898 { STRBroX, 0x1, 0x2, true, false, false }, // 676
3899 { STRBui, 0x1, 0x2, true, false, false }, // 677
3900 { STRDpost, 0x2, 0x3, true, true, false }, // 678
3901 { STRDpre, 0x2, 0x3, true, true, false }, // 679
3902 { STRDroW, 0x1, 0x2, true, false, false }, // 680
3903 { STRDroX, 0x1, 0x2, true, false, false }, // 681
3904 { STRDui, 0x1, 0x2, true, false, false }, // 682
3905 { STRHHpost, 0x2, 0x3, true, true, false }, // 683
3906 { STRHHpre, 0x2, 0x3, true, true, false }, // 684
3907 { STRHHroW, 0x1, 0x2, true, false, false }, // 685
3908 { STRHHroX, 0x1, 0x2, true, false, false }, // 686
3909 { STRHHui, 0x1, 0x2, true, false, false }, // 687
3910 { STRHpost, 0x2, 0x3, true, true, false }, // 688
3911 { STRHpre, 0x2, 0x3, true, true, false }, // 689
3912 { STRHroW, 0x1, 0x2, true, false, false }, // 690
3913 { STRHroX, 0x1, 0x2, true, false, false }, // 691
3914 { STRHui, 0x1, 0x2, true, false, false }, // 692
3915 { STRQpost, 0x2, 0x3, true, true, false }, // 693
3916 { STRQpre, 0x2, 0x3, true, true, false }, // 694
3917 { STRQroW, 0x1, 0x2, true, false, false }, // 695
3918 { STRQroX, 0x1, 0x2, true, false, false }, // 696
3919 { STRQui, 0x1, 0x2, true, false, false }, // 697
3920 { STRSpost, 0x2, 0x3, true, true, false }, // 698
3921 { STRSpre, 0x2, 0x3, true, true, false }, // 699
3922 { STRSroW, 0x1, 0x2, true, false, false }, // 700
3923 { STRSroX, 0x1, 0x2, true, false, false }, // 701
3924 { STRSui, 0x1, 0x2, true, false, false }, // 702
3925 { STRWpost, 0x2, 0x3, true, true, false }, // 703
3926 { STRWpre, 0x2, 0x3, true, true, false }, // 704
3927 { STRWroW, 0x1, 0x2, true, false, false }, // 705
3928 { STRWroX, 0x1, 0x2, true, false, false }, // 706
3929 { STRWui, 0x1, 0x2, true, false, false }, // 707
3930 { STRXpost, 0x2, 0x3, true, true, false }, // 708
3931 { STRXpre, 0x2, 0x3, true, true, false }, // 709
3932 { STRXroW, 0x1, 0x2, true, false, false }, // 710
3933 { STRXroX, 0x1, 0x2, true, false, false }, // 711
3934 { STRXui, 0x1, 0x2, true, false, false }, // 712
3935 { STURBBi, 0x1, 0x2, true, false, false }, // 713
3936 { STURBi, 0x1, 0x2, true, false, false }, // 714
3937 { STURDi, 0x1, 0x2, true, false, false }, // 715
3938 { STURHHi, 0x1, 0x2, true, false, false }, // 716
3939 { STURHi, 0x1, 0x2, true, false, false }, // 717
3940 { STURQi, 0x1, 0x2, true, false, false }, // 718
3941 { STURSi, 0x1, 0x2, true, false, false }, // 719
3942 { STURWi, 0x1, 0x2, true, false, false }, // 720
3943 { STURXi, 0x1, 0x2, true, false, false }, // 721
3944 { STXPW, 0x3, 0x0, false, false, false }, // 722
3945 { STXPX, 0x3, 0x0, false, false, false }, // 723
3946 { STXRB, 0x2, 0x0, false, false, false }, // 724
3947 { STXRH, 0x2, 0x0, false, false, false }, // 725
3948 { STXRW, 0x2, 0x0, false, false, false }, // 726
3949 { STXRX, 0x2, 0x0, false, false, false }, // 727
3950 { SWPAB, 0x2, 0x0, false, false, false }, // 728
3951 { SWPAH, 0x2, 0x0, false, false, false }, // 729
3952 { SWPALB, 0x2, 0x0, false, false, false }, // 730
3953 { SWPALH, 0x2, 0x0, false, false, false }, // 731
3954 { SWPALW, 0x2, 0x0, false, false, false }, // 732
3955 { SWPALX, 0x2, 0x0, false, false, false }, // 733
3956 { SWPAW, 0x2, 0x0, false, false, false }, // 734
3957 { SWPAX, 0x2, 0x0, false, false, false }, // 735
3958 { SWPB, 0x2, 0x0, false, false, false }, // 736
3959 { SWPH, 0x2, 0x0, false, false, false }, // 737
3960 { SWPLB, 0x2, 0x0, false, false, false }, // 738
3961 { SWPLH, 0x2, 0x0, false, false, false }, // 739
3962 { SWPLW, 0x2, 0x0, false, false, false }, // 740
3963 { SWPLX, 0x2, 0x0, false, false, false }, // 741
3964 { SWPW, 0x2, 0x0, false, false, false }, // 742
3965 { SWPX, 0x2, 0x0, false, false, false }, // 743
3966 };
3967
3968const MemInfoEntry *lookupMemInfoByOpcode(unsigned Inst) {
3969 struct KeyType {
3970 unsigned Inst;
3971 };
3972 KeyType Key = {Inst};
3973 struct Comp {
3974 bool operator()(const MemInfoEntry &LHS, const KeyType &RHS) const {
3975 if (LHS.Inst < RHS.Inst)
3976 return true;
3977 if (LHS.Inst > RHS.Inst)
3978 return false;
3979 return false;
3980 }
3981 };
3982 auto Table = ArrayRef(MemInfoTable);
3983 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
3984 if (Idx == Table.end() ||
3985 Key.Inst != Idx->Inst)
3986 return nullptr;
3987
3988 return &*Idx;
3989}
3990#endif
3991
3992#ifdef GET_PLBITable_DECL
3993const PLBI *lookupPLBIByEncoding(uint16_t Encoding);
3994const PLBI *lookupPLBIByName(StringRef Name);
3995StringRef getPLBIStr(StringTable::Offset);
3996#endif
3997
3998#ifdef GET_PLBITable_IMPL
3999constexpr PLBI PLBITable[] = {
4000 { 1 /* "VMALLE1OS" */, 0x508, REG_OPTIONAL, {AArch64::FeatureS1POE2} }, // 0
4001 { 11 /* "PERME1OS" */, 0x509, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 1
4002 { 20 /* "ASIDE1OS" */, 0x50A, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 2
4003 { 29 /* "PERMAE1OS" */, 0x50B, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 3
4004 { 39 /* "VMALLE1IS" */, 0x518, REG_OPTIONAL, {AArch64::FeatureS1POE2} }, // 4
4005 { 49 /* "PERME1IS" */, 0x519, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 5
4006 { 58 /* "ASIDE1IS" */, 0x51A, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 6
4007 { 67 /* "PERMAE1IS" */, 0x51B, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 7
4008 { 77 /* "VMALLE1" */, 0x538, REG_NONE, {AArch64::FeatureS1POE2} }, // 8
4009 { 85 /* "PERME1" */, 0x539, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 9
4010 { 92 /* "ASIDE1" */, 0x53A, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 10
4011 { 99 /* "PERMAE1" */, 0x53B, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 11
4012 { 107 /* "VMALLE1OSNXS" */, 0x548, REG_OPTIONAL, {AArch64::FeatureS1POE2} }, // 12
4013 { 120 /* "PERME1OSNXS" */, 0x549, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 13
4014 { 132 /* "ASIDE1OSNXS" */, 0x54A, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 14
4015 { 144 /* "PERMAE1OSNXS" */, 0x54B, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 15
4016 { 157 /* "VMALLE1ISNXS" */, 0x558, REG_OPTIONAL, {AArch64::FeatureS1POE2} }, // 16
4017 { 170 /* "PERME1ISNXS" */, 0x559, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 17
4018 { 182 /* "ASIDE1ISNXS" */, 0x55A, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 18
4019 { 194 /* "PERMAE1ISNXS" */, 0x55B, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 19
4020 { 207 /* "VMALLE1NXS" */, 0x578, REG_NONE, {AArch64::FeatureS1POE2} }, // 20
4021 { 218 /* "PERME1NXS" */, 0x579, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 21
4022 { 228 /* "ASIDE1NXS" */, 0x57A, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 22
4023 { 238 /* "PERMAE1NXS" */, 0x57B, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 23
4024 { 249 /* "ALLE2OS" */, 0x2508, REG_OPTIONAL, {AArch64::FeatureS1POE2} }, // 24
4025 { 257 /* "PERME2OS" */, 0x2509, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 25
4026 { 266 /* "ALLE1OS" */, 0x250C, REG_OPTIONAL, {AArch64::FeatureS1POE2} }, // 26
4027 { 274 /* "ALLE2IS" */, 0x2518, REG_OPTIONAL, {AArch64::FeatureS1POE2} }, // 27
4028 { 282 /* "PERME2IS" */, 0x2519, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 28
4029 { 291 /* "ALLE1IS" */, 0x251C, REG_OPTIONAL, {AArch64::FeatureS1POE2} }, // 29
4030 { 299 /* "ALLE2" */, 0x2538, REG_NONE, {AArch64::FeatureS1POE2} }, // 30
4031 { 305 /* "PERME2" */, 0x2539, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 31
4032 { 312 /* "ALLE1" */, 0x253C, REG_NONE, {AArch64::FeatureS1POE2} }, // 32
4033 { 318 /* "ALLE2OSNXS" */, 0x2548, REG_OPTIONAL, {AArch64::FeatureS1POE2} }, // 33
4034 { 329 /* "PERME2OSNXS" */, 0x2549, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 34
4035 { 341 /* "ALLE1OSNXS" */, 0x254C, REG_OPTIONAL, {AArch64::FeatureS1POE2} }, // 35
4036 { 352 /* "ALLE2ISNXS" */, 0x2558, REG_OPTIONAL, {AArch64::FeatureS1POE2} }, // 36
4037 { 363 /* "PERME2ISNXS" */, 0x2559, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 37
4038 { 375 /* "ALLE1ISNXS" */, 0x255C, REG_OPTIONAL, {AArch64::FeatureS1POE2} }, // 38
4039 { 386 /* "ALLE2NXS" */, 0x2578, REG_NONE, {AArch64::FeatureS1POE2} }, // 39
4040 { 395 /* "PERME2NXS" */, 0x2579, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 40
4041 { 405 /* "ALLE1NXS" */, 0x257C, REG_NONE, {AArch64::FeatureS1POE2} }, // 41
4042 { 414 /* "ALLE3OS" */, 0x3508, REG_NONE, {AArch64::FeatureS1POE2} }, // 42
4043 { 422 /* "PERME3OS" */, 0x3509, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 43
4044 { 431 /* "ALLE3IS" */, 0x3518, REG_NONE, {AArch64::FeatureS1POE2} }, // 44
4045 { 439 /* "PERME3IS" */, 0x3519, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 45
4046 { 448 /* "ALLE3" */, 0x3538, REG_NONE, {AArch64::FeatureS1POE2} }, // 46
4047 { 454 /* "PERME3" */, 0x3539, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 47
4048 { 461 /* "ALLE3OSNXS" */, 0x3548, REG_NONE, {AArch64::FeatureS1POE2} }, // 48
4049 { 472 /* "PERME3OSNXS" */, 0x3549, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 49
4050 { 484 /* "ALLE3ISNXS" */, 0x3558, REG_NONE, {AArch64::FeatureS1POE2} }, // 50
4051 { 495 /* "PERME3ISNXS" */, 0x3559, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 51
4052 { 507 /* "ALLE3NXS" */, 0x3578, REG_NONE, {AArch64::FeatureS1POE2} }, // 52
4053 { 516 /* "PERME3NXS" */, 0x3579, REG_REQUIRED, {AArch64::FeatureS1POE2} }, // 53
4054 };
4055
4056#ifdef __GNUC__
4057#pragma GCC diagnostic push
4058#pragma GCC diagnostic ignored "-Woverlength-strings"
4059#endif
4060static constexpr char PLBITableStringsStorage[] =
4061 "\0"
4062 "VMALLE1OS\0"
4063 "PERME1OS\0"
4064 "ASIDE1OS\0"
4065 "PERMAE1OS\0"
4066 "VMALLE1IS\0"
4067 "PERME1IS\0"
4068 "ASIDE1IS\0"
4069 "PERMAE1IS\0"
4070 "VMALLE1\0"
4071 "PERME1\0"
4072 "ASIDE1\0"
4073 "PERMAE1\0"
4074 "VMALLE1OSNXS\0"
4075 "PERME1OSNXS\0"
4076 "ASIDE1OSNXS\0"
4077 "PERMAE1OSNXS\0"
4078 "VMALLE1ISNXS\0"
4079 "PERME1ISNXS\0"
4080 "ASIDE1ISNXS\0"
4081 "PERMAE1ISNXS\0"
4082 "VMALLE1NXS\0"
4083 "PERME1NXS\0"
4084 "ASIDE1NXS\0"
4085 "PERMAE1NXS\0"
4086 "ALLE2OS\0"
4087 "PERME2OS\0"
4088 "ALLE1OS\0"
4089 "ALLE2IS\0"
4090 "PERME2IS\0"
4091 "ALLE1IS\0"
4092 "ALLE2\0"
4093 "PERME2\0"
4094 "ALLE1\0"
4095 "ALLE2OSNXS\0"
4096 "PERME2OSNXS\0"
4097 "ALLE1OSNXS\0"
4098 "ALLE2ISNXS\0"
4099 "PERME2ISNXS\0"
4100 "ALLE1ISNXS\0"
4101 "ALLE2NXS\0"
4102 "PERME2NXS\0"
4103 "ALLE1NXS\0"
4104 "ALLE3OS\0"
4105 "PERME3OS\0"
4106 "ALLE3IS\0"
4107 "PERME3IS\0"
4108 "ALLE3\0"
4109 "PERME3\0"
4110 "ALLE3OSNXS\0"
4111 "PERME3OSNXS\0"
4112 "ALLE3ISNXS\0"
4113 "PERME3ISNXS\0"
4114 "ALLE3NXS\0"
4115 "PERME3NXS\0"
4116 ;
4117#ifdef __GNUC__
4118#pragma GCC diagnostic pop
4119#endif
4120
4121static constexpr llvm::StringTable
4122PLBITableStrings = PLBITableStringsStorage;
4123
4124StringRef getPLBIStr(StringTable::Offset Offset) {
4125 return PLBITableStrings[Offset];
4126}
4127
4128const PLBI *lookupPLBIByEncoding(uint16_t Encoding) {
4129 struct KeyType {
4130 uint16_t Encoding;
4131 };
4132 KeyType Key = {Encoding};
4133 struct Comp {
4134 bool operator()(const PLBI &LHS, const KeyType &RHS) const {
4135 if (LHS.Encoding < RHS.Encoding)
4136 return true;
4137 if (LHS.Encoding > RHS.Encoding)
4138 return false;
4139 return false;
4140 }
4141 };
4142 auto Table = ArrayRef(PLBITable);
4143 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
4144 if (Idx == Table.end() ||
4145 Key.Encoding != Idx->Encoding)
4146 return nullptr;
4147
4148 return &*Idx;
4149}
4150
4151const PLBI *lookupPLBIByName(StringRef Name) {
4152 struct IndexType {
4153 unsigned Name;
4154 unsigned _index;
4155 };
4156 static const struct IndexType Index[] = {
4157 { 312 /* "ALLE1" */, 32 },
4158 { 291 /* "ALLE1IS" */, 29 },
4159 { 375 /* "ALLE1ISNXS" */, 38 },
4160 { 405 /* "ALLE1NXS" */, 41 },
4161 { 266 /* "ALLE1OS" */, 26 },
4162 { 341 /* "ALLE1OSNXS" */, 35 },
4163 { 299 /* "ALLE2" */, 30 },
4164 { 274 /* "ALLE2IS" */, 27 },
4165 { 352 /* "ALLE2ISNXS" */, 36 },
4166 { 386 /* "ALLE2NXS" */, 39 },
4167 { 249 /* "ALLE2OS" */, 24 },
4168 { 318 /* "ALLE2OSNXS" */, 33 },
4169 { 448 /* "ALLE3" */, 46 },
4170 { 431 /* "ALLE3IS" */, 44 },
4171 { 484 /* "ALLE3ISNXS" */, 50 },
4172 { 507 /* "ALLE3NXS" */, 52 },
4173 { 414 /* "ALLE3OS" */, 42 },
4174 { 461 /* "ALLE3OSNXS" */, 48 },
4175 { 92 /* "ASIDE1" */, 10 },
4176 { 58 /* "ASIDE1IS" */, 6 },
4177 { 182 /* "ASIDE1ISNXS" */, 18 },
4178 { 228 /* "ASIDE1NXS" */, 22 },
4179 { 20 /* "ASIDE1OS" */, 2 },
4180 { 132 /* "ASIDE1OSNXS" */, 14 },
4181 { 99 /* "PERMAE1" */, 11 },
4182 { 67 /* "PERMAE1IS" */, 7 },
4183 { 194 /* "PERMAE1ISNXS" */, 19 },
4184 { 238 /* "PERMAE1NXS" */, 23 },
4185 { 29 /* "PERMAE1OS" */, 3 },
4186 { 144 /* "PERMAE1OSNXS" */, 15 },
4187 { 85 /* "PERME1" */, 9 },
4188 { 49 /* "PERME1IS" */, 5 },
4189 { 170 /* "PERME1ISNXS" */, 17 },
4190 { 218 /* "PERME1NXS" */, 21 },
4191 { 11 /* "PERME1OS" */, 1 },
4192 { 120 /* "PERME1OSNXS" */, 13 },
4193 { 305 /* "PERME2" */, 31 },
4194 { 282 /* "PERME2IS" */, 28 },
4195 { 363 /* "PERME2ISNXS" */, 37 },
4196 { 395 /* "PERME2NXS" */, 40 },
4197 { 257 /* "PERME2OS" */, 25 },
4198 { 329 /* "PERME2OSNXS" */, 34 },
4199 { 454 /* "PERME3" */, 47 },
4200 { 439 /* "PERME3IS" */, 45 },
4201 { 495 /* "PERME3ISNXS" */, 51 },
4202 { 516 /* "PERME3NXS" */, 53 },
4203 { 422 /* "PERME3OS" */, 43 },
4204 { 472 /* "PERME3OSNXS" */, 49 },
4205 { 77 /* "VMALLE1" */, 8 },
4206 { 39 /* "VMALLE1IS" */, 4 },
4207 { 157 /* "VMALLE1ISNXS" */, 16 },
4208 { 207 /* "VMALLE1NXS" */, 20 },
4209 { 1 /* "VMALLE1OS" */, 0 },
4210 { 107 /* "VMALLE1OSNXS" */, 12 },
4211 };
4212
4213 struct KeyType {
4214 std::string Name;
4215 };
4216 KeyType Key = {Name.upper()};
4217 struct Comp {
4218 bool operator()(const IndexType &LHS, const KeyType &RHS) const {
4219 StringRef LHSNameStr = PLBITableStrings[LHS.Name];
4220 StringRef RHSNameStr = RHS.Name;
4221 int CmpName = LHSNameStr.compare(RHSNameStr);
4222 if (CmpName < 0) return true;
4223 if (CmpName > 0) return false;
4224 return false;
4225 }
4226 };
4227 auto Table = ArrayRef(Index);
4228 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
4229 if (Idx == Table.end() ||
4230 Key.Name != PLBITableStrings[Idx->Name])
4231 return nullptr;
4232
4233 return &PLBITable[Idx->_index];
4234}
4235#endif
4236
4237#ifdef GET_PRFMsList_DECL
4238const PRFM *lookupPRFMByEncoding(uint8_t Encoding);
4239const PRFM *lookupPRFMByName(StringRef Name);
4240StringRef getPRFMStr(StringTable::Offset);
4241#endif
4242
4243#ifdef GET_PRFMsList_IMPL
4244constexpr PRFM PRFMsList[] = {
4245 { 1 /* "pldl1keep" */, 0x0, {} }, // 0
4246 { 11 /* "pldl1strm" */, 0x1, {} }, // 1
4247 { 21 /* "pldl2keep" */, 0x2, {} }, // 2
4248 { 31 /* "pldl2strm" */, 0x3, {} }, // 3
4249 { 41 /* "pldl3keep" */, 0x4, {} }, // 4
4250 { 51 /* "pldl3strm" */, 0x5, {} }, // 5
4251 { 61 /* "pldslckeep" */, 0x6, {} }, // 6
4252 { 72 /* "pldslcstrm" */, 0x7, {} }, // 7
4253 { 83 /* "plil1keep" */, 0x8, {} }, // 8
4254 { 93 /* "plil1strm" */, 0x9, {} }, // 9
4255 { 103 /* "plil2keep" */, 0xA, {} }, // 10
4256 { 113 /* "plil2strm" */, 0xB, {} }, // 11
4257 { 123 /* "plil3keep" */, 0xC, {} }, // 12
4258 { 133 /* "plil3strm" */, 0xD, {} }, // 13
4259 { 143 /* "plislckeep" */, 0xE, {} }, // 14
4260 { 154 /* "plislcstrm" */, 0xF, {} }, // 15
4261 { 165 /* "pstl1keep" */, 0x10, {} }, // 16
4262 { 175 /* "pstl1strm" */, 0x11, {} }, // 17
4263 { 185 /* "pstl2keep" */, 0x12, {} }, // 18
4264 { 195 /* "pstl2strm" */, 0x13, {} }, // 19
4265 { 205 /* "pstl3keep" */, 0x14, {} }, // 20
4266 { 215 /* "pstl3strm" */, 0x15, {} }, // 21
4267 { 225 /* "pstslckeep" */, 0x16, {} }, // 22
4268 { 236 /* "pstslcstrm" */, 0x17, {} }, // 23
4269 { 247 /* "ir" */, 0x18, {} }, // 24
4270 };
4271
4272#ifdef __GNUC__
4273#pragma GCC diagnostic push
4274#pragma GCC diagnostic ignored "-Woverlength-strings"
4275#endif
4276static constexpr char PRFMsListStringsStorage[] =
4277 "\0"
4278 "pldl1keep\0"
4279 "pldl1strm\0"
4280 "pldl2keep\0"
4281 "pldl2strm\0"
4282 "pldl3keep\0"
4283 "pldl3strm\0"
4284 "pldslckeep\0"
4285 "pldslcstrm\0"
4286 "plil1keep\0"
4287 "plil1strm\0"
4288 "plil2keep\0"
4289 "plil2strm\0"
4290 "plil3keep\0"
4291 "plil3strm\0"
4292 "plislckeep\0"
4293 "plislcstrm\0"
4294 "pstl1keep\0"
4295 "pstl1strm\0"
4296 "pstl2keep\0"
4297 "pstl2strm\0"
4298 "pstl3keep\0"
4299 "pstl3strm\0"
4300 "pstslckeep\0"
4301 "pstslcstrm\0"
4302 "ir\0"
4303 "IR\0"
4304 "PLDL1KEEP\0"
4305 "PLDL1STRM\0"
4306 "PLDL2KEEP\0"
4307 "PLDL2STRM\0"
4308 "PLDL3KEEP\0"
4309 "PLDL3STRM\0"
4310 "PLDSLCKEEP\0"
4311 "PLDSLCSTRM\0"
4312 "PLIL1KEEP\0"
4313 "PLIL1STRM\0"
4314 "PLIL2KEEP\0"
4315 "PLIL2STRM\0"
4316 "PLIL3KEEP\0"
4317 "PLIL3STRM\0"
4318 "PLISLCKEEP\0"
4319 "PLISLCSTRM\0"
4320 "PSTL1KEEP\0"
4321 "PSTL1STRM\0"
4322 "PSTL2KEEP\0"
4323 "PSTL2STRM\0"
4324 "PSTL3KEEP\0"
4325 "PSTL3STRM\0"
4326 "PSTSLCKEEP\0"
4327 "PSTSLCSTRM\0"
4328 ;
4329#ifdef __GNUC__
4330#pragma GCC diagnostic pop
4331#endif
4332
4333static constexpr llvm::StringTable
4334PRFMsListStrings = PRFMsListStringsStorage;
4335
4336StringRef getPRFMStr(StringTable::Offset Offset) {
4337 return PRFMsListStrings[Offset];
4338}
4339
4340const PRFM *lookupPRFMByEncoding(uint8_t Encoding) {
4341 if ((uint8_t)Encoding != std::clamp<uint8_t>(Encoding, 0x0, 0x18))
4342 return nullptr;
4343
4344 auto Table = ArrayRef(PRFMsList);
4345 size_t Idx = Encoding - 0x0;
4346 return &Table[Idx];
4347}
4348
4349const PRFM *lookupPRFMByName(StringRef Name) {
4350 struct IndexType {
4351 unsigned Name;
4352 unsigned _index;
4353 };
4354 static const struct IndexType Index[] = {
4355 { 250 /* "IR" */, 24 },
4356 { 253 /* "PLDL1KEEP" */, 0 },
4357 { 263 /* "PLDL1STRM" */, 1 },
4358 { 273 /* "PLDL2KEEP" */, 2 },
4359 { 283 /* "PLDL2STRM" */, 3 },
4360 { 293 /* "PLDL3KEEP" */, 4 },
4361 { 303 /* "PLDL3STRM" */, 5 },
4362 { 313 /* "PLDSLCKEEP" */, 6 },
4363 { 324 /* "PLDSLCSTRM" */, 7 },
4364 { 335 /* "PLIL1KEEP" */, 8 },
4365 { 345 /* "PLIL1STRM" */, 9 },
4366 { 355 /* "PLIL2KEEP" */, 10 },
4367 { 365 /* "PLIL2STRM" */, 11 },
4368 { 375 /* "PLIL3KEEP" */, 12 },
4369 { 385 /* "PLIL3STRM" */, 13 },
4370 { 395 /* "PLISLCKEEP" */, 14 },
4371 { 406 /* "PLISLCSTRM" */, 15 },
4372 { 417 /* "PSTL1KEEP" */, 16 },
4373 { 427 /* "PSTL1STRM" */, 17 },
4374 { 437 /* "PSTL2KEEP" */, 18 },
4375 { 447 /* "PSTL2STRM" */, 19 },
4376 { 457 /* "PSTL3KEEP" */, 20 },
4377 { 467 /* "PSTL3STRM" */, 21 },
4378 { 477 /* "PSTSLCKEEP" */, 22 },
4379 { 488 /* "PSTSLCSTRM" */, 23 },
4380 };
4381
4382 struct KeyType {
4383 std::string Name;
4384 };
4385 KeyType Key = {Name.upper()};
4386 struct Comp {
4387 bool operator()(const IndexType &LHS, const KeyType &RHS) const {
4388 StringRef LHSNameStr = PRFMsListStrings[LHS.Name];
4389 StringRef RHSNameStr = RHS.Name;
4390 int CmpName = LHSNameStr.compare(RHSNameStr);
4391 if (CmpName < 0) return true;
4392 if (CmpName > 0) return false;
4393 return false;
4394 }
4395 };
4396 auto Table = ArrayRef(Index);
4397 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
4398 if (Idx == Table.end() ||
4399 Key.Name != PRFMsListStrings[Idx->Name])
4400 return nullptr;
4401
4402 return &PRFMsList[Idx->_index];
4403}
4404#endif
4405
4406#ifdef GET_PStateImm0_1sList_DECL
4407const PStateImm0_1 *lookupPStateImm0_1ByEncoding(uint16_t Encoding);
4408const PStateImm0_1 *lookupPStateImm0_1ByName(StringRef Name);
4409StringRef getPStateImm0_1Str(StringTable::Offset);
4410#endif
4411
4412#ifdef GET_PStateImm0_1sList_IMPL
4413constexpr PStateImm0_1 PStateImm0_1sList[] = {
4414 { 1 /* "ALLINT" */, 0x8, {AArch64::FeatureNMI} }, // 0
4415 { 8 /* "PM" */, 0x48, {} }, // 1
4416 };
4417
4418#ifdef __GNUC__
4419#pragma GCC diagnostic push
4420#pragma GCC diagnostic ignored "-Woverlength-strings"
4421#endif
4422static constexpr char PStateImm0_1sListStringsStorage[] =
4423 "\0"
4424 "ALLINT\0"
4425 "PM\0"
4426 ;
4427#ifdef __GNUC__
4428#pragma GCC diagnostic pop
4429#endif
4430
4431static constexpr llvm::StringTable
4432PStateImm0_1sListStrings = PStateImm0_1sListStringsStorage;
4433
4434StringRef getPStateImm0_1Str(StringTable::Offset Offset) {
4435 return PStateImm0_1sListStrings[Offset];
4436}
4437
4438const PStateImm0_1 *lookupPStateImm0_1ByEncoding(uint16_t Encoding) {
4439 struct KeyType {
4440 uint16_t Encoding;
4441 };
4442 KeyType Key = {Encoding};
4443 struct Comp {
4444 bool operator()(const PStateImm0_1 &LHS, const KeyType &RHS) const {
4445 if (LHS.Encoding < RHS.Encoding)
4446 return true;
4447 if (LHS.Encoding > RHS.Encoding)
4448 return false;
4449 return false;
4450 }
4451 };
4452 auto Table = ArrayRef(PStateImm0_1sList);
4453 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
4454 if (Idx == Table.end() ||
4455 Key.Encoding != Idx->Encoding)
4456 return nullptr;
4457
4458 return &*Idx;
4459}
4460
4461const PStateImm0_1 *lookupPStateImm0_1ByName(StringRef Name) {
4462 struct IndexType {
4463 unsigned Name;
4464 unsigned _index;
4465 };
4466 static const struct IndexType Index[] = {
4467 { 1 /* "ALLINT" */, 0 },
4468 { 8 /* "PM" */, 1 },
4469 };
4470
4471 struct KeyType {
4472 std::string Name;
4473 };
4474 KeyType Key = {Name.upper()};
4475 struct Comp {
4476 bool operator()(const IndexType &LHS, const KeyType &RHS) const {
4477 StringRef LHSNameStr = PStateImm0_1sListStrings[LHS.Name];
4478 StringRef RHSNameStr = RHS.Name;
4479 int CmpName = LHSNameStr.compare(RHSNameStr);
4480 if (CmpName < 0) return true;
4481 if (CmpName > 0) return false;
4482 return false;
4483 }
4484 };
4485 auto Table = ArrayRef(Index);
4486 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
4487 if (Idx == Table.end() ||
4488 Key.Name != PStateImm0_1sListStrings[Idx->Name])
4489 return nullptr;
4490
4491 return &PStateImm0_1sList[Idx->_index];
4492}
4493#endif
4494
4495#ifdef GET_PStateImm0_15sList_DECL
4496const PStateImm0_15 *lookupPStateImm0_15ByEncoding(uint8_t Encoding);
4497const PStateImm0_15 *lookupPStateImm0_15ByName(StringRef Name);
4498StringRef getPStateImm0_15Str(StringTable::Offset);
4499#endif
4500
4501#ifdef GET_PStateImm0_15sList_IMPL
4502constexpr PStateImm0_15 PStateImm0_15sList[] = {
4503 { 1 /* "UAO" */, 0x3, {AArch64::FeaturePsUAO} }, // 0
4504 { 5 /* "PAN" */, 0x4, {AArch64::FeaturePAN} }, // 1
4505 { 9 /* "SPSel" */, 0x5, {} }, // 2
4506 { 15 /* "SSBS" */, 0x19, {AArch64::FeatureSSBS} }, // 3
4507 { 20 /* "DIT" */, 0x1A, {AArch64::FeatureDIT} }, // 4
4508 { 24 /* "TCO" */, 0x1C, {AArch64::FeatureMTE} }, // 5
4509 { 28 /* "DAIFSet" */, 0x1E, {} }, // 6
4510 { 36 /* "DAIFClr" */, 0x1F, {} }, // 7
4511 };
4512
4513#ifdef __GNUC__
4514#pragma GCC diagnostic push
4515#pragma GCC diagnostic ignored "-Woverlength-strings"
4516#endif
4517static constexpr char PStateImm0_15sListStringsStorage[] =
4518 "\0"
4519 "UAO\0"
4520 "PAN\0"
4521 "SPSel\0"
4522 "SSBS\0"
4523 "DIT\0"
4524 "TCO\0"
4525 "DAIFSet\0"
4526 "DAIFClr\0"
4527 "DAIFCLR\0"
4528 "DAIFSET\0"
4529 "SPSEL\0"
4530 ;
4531#ifdef __GNUC__
4532#pragma GCC diagnostic pop
4533#endif
4534
4535static constexpr llvm::StringTable
4536PStateImm0_15sListStrings = PStateImm0_15sListStringsStorage;
4537
4538StringRef getPStateImm0_15Str(StringTable::Offset Offset) {
4539 return PStateImm0_15sListStrings[Offset];
4540}
4541
4542const PStateImm0_15 *lookupPStateImm0_15ByEncoding(uint8_t Encoding) {
4543 struct KeyType {
4544 uint8_t Encoding;
4545 };
4546 KeyType Key = {Encoding};
4547 struct Comp {
4548 bool operator()(const PStateImm0_15 &LHS, const KeyType &RHS) const {
4549 if (LHS.Encoding < RHS.Encoding)
4550 return true;
4551 if (LHS.Encoding > RHS.Encoding)
4552 return false;
4553 return false;
4554 }
4555 };
4556 auto Table = ArrayRef(PStateImm0_15sList);
4557 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
4558 if (Idx == Table.end() ||
4559 Key.Encoding != Idx->Encoding)
4560 return nullptr;
4561
4562 return &*Idx;
4563}
4564
4565const PStateImm0_15 *lookupPStateImm0_15ByName(StringRef Name) {
4566 struct IndexType {
4567 unsigned Name;
4568 unsigned _index;
4569 };
4570 static const struct IndexType Index[] = {
4571 { 44 /* "DAIFCLR" */, 7 },
4572 { 52 /* "DAIFSET" */, 6 },
4573 { 20 /* "DIT" */, 4 },
4574 { 5 /* "PAN" */, 1 },
4575 { 60 /* "SPSEL" */, 2 },
4576 { 15 /* "SSBS" */, 3 },
4577 { 24 /* "TCO" */, 5 },
4578 { 1 /* "UAO" */, 0 },
4579 };
4580
4581 struct KeyType {
4582 std::string Name;
4583 };
4584 KeyType Key = {Name.upper()};
4585 struct Comp {
4586 bool operator()(const IndexType &LHS, const KeyType &RHS) const {
4587 StringRef LHSNameStr = PStateImm0_15sListStrings[LHS.Name];
4588 StringRef RHSNameStr = RHS.Name;
4589 int CmpName = LHSNameStr.compare(RHSNameStr);
4590 if (CmpName < 0) return true;
4591 if (CmpName > 0) return false;
4592 return false;
4593 }
4594 };
4595 auto Table = ArrayRef(Index);
4596 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
4597 if (Idx == Table.end() ||
4598 Key.Name != PStateImm0_15sListStrings[Idx->Name])
4599 return nullptr;
4600
4601 return &PStateImm0_15sList[Idx->_index];
4602}
4603#endif
4604
4605#ifdef GET_PairVariantTable_DECL
4606const PairVariantEntry *lookupPairVariantByOpcode(unsigned Inst);
4607#endif
4608
4609#ifdef GET_PairVariantTable_IMPL
4610constexpr PairVariantEntry PairVariantTable[] = {
4611 { LDPDpost, false, 0x8, LDPDi }, // 0
4612 { LDPDpre, true, 0x8, LDPDi }, // 1
4613 { LDPQpost, false, 0x10, LDPQi }, // 2
4614 { LDPQpre, true, 0x10, LDPQi }, // 3
4615 { LDPSWpost, false, 0x4, LDPSWi }, // 4
4616 { LDPSWpre, true, 0x4, LDPSWi }, // 5
4617 { LDPSpost, false, 0x4, LDPSi }, // 6
4618 { LDPSpre, true, 0x4, LDPSi }, // 7
4619 { LDPWpost, false, 0x4, LDPWi }, // 8
4620 { LDPWpre, true, 0x4, LDPWi }, // 9
4621 { LDPXpost, false, 0x8, LDPXi }, // 10
4622 { LDPXpre, true, 0x8, LDPXi }, // 11
4623 { STPDpost, false, 0x8, STPDi }, // 12
4624 { STPDpre, true, 0x8, STPDi }, // 13
4625 { STPQpost, false, 0x10, STPQi }, // 14
4626 { STPQpre, true, 0x10, STPQi }, // 15
4627 { STPSpost, false, 0x4, STPSi }, // 16
4628 { STPSpre, true, 0x4, STPSi }, // 17
4629 { STPWpost, false, 0x4, STPWi }, // 18
4630 { STPWpre, true, 0x4, STPWi }, // 19
4631 { STPXpost, false, 0x8, STPXi }, // 20
4632 { STPXpre, true, 0x8, STPXi }, // 21
4633 };
4634
4635const PairVariantEntry *lookupPairVariantByOpcode(unsigned Inst) {
4636 struct KeyType {
4637 unsigned Inst;
4638 };
4639 KeyType Key = {Inst};
4640 struct Comp {
4641 bool operator()(const PairVariantEntry &LHS, const KeyType &RHS) const {
4642 if (LHS.Inst < RHS.Inst)
4643 return true;
4644 if (LHS.Inst > RHS.Inst)
4645 return false;
4646 return false;
4647 }
4648 };
4649 auto Table = ArrayRef(PairVariantTable);
4650 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
4651 if (Idx == Table.end() ||
4652 Key.Inst != Idx->Inst)
4653 return nullptr;
4654
4655 return &*Idx;
4656}
4657#endif
4658
4659#ifdef GET_RPRFMsList_DECL
4660const RPRFM *lookupRPRFMByEncoding(uint8_t Encoding);
4661const RPRFM *lookupRPRFMByName(StringRef Name);
4662StringRef getRPRFMStr(StringTable::Offset);
4663#endif
4664
4665#ifdef GET_RPRFMsList_IMPL
4666constexpr RPRFM RPRFMsList[] = {
4667 { 1 /* "pldkeep" */, 0x0, {} }, // 0
4668 { 9 /* "pldstrm" */, 0x4, {} }, // 1
4669 { 17 /* "pstkeep" */, 0x1, {} }, // 2
4670 { 25 /* "pststrm" */, 0x5, {} }, // 3
4671 };
4672
4673#ifdef __GNUC__
4674#pragma GCC diagnostic push
4675#pragma GCC diagnostic ignored "-Woverlength-strings"
4676#endif
4677static constexpr char RPRFMsListStringsStorage[] =
4678 "\0"
4679 "pldkeep\0"
4680 "pldstrm\0"
4681 "pstkeep\0"
4682 "pststrm\0"
4683 "PLDKEEP\0"
4684 "PLDSTRM\0"
4685 "PSTKEEP\0"
4686 "PSTSTRM\0"
4687 ;
4688#ifdef __GNUC__
4689#pragma GCC diagnostic pop
4690#endif
4691
4692static constexpr llvm::StringTable
4693RPRFMsListStrings = RPRFMsListStringsStorage;
4694
4695StringRef getRPRFMStr(StringTable::Offset Offset) {
4696 return RPRFMsListStrings[Offset];
4697}
4698
4699const RPRFM *lookupRPRFMByEncoding(uint8_t Encoding) {
4700 struct IndexType {
4701 uint8_t Encoding;
4702 unsigned _index;
4703 };
4704 static const struct IndexType Index[] = {
4705 { 0x0, 0 },
4706 { 0x1, 2 },
4707 { 0x4, 1 },
4708 { 0x5, 3 },
4709 };
4710
4711 struct KeyType {
4712 uint8_t Encoding;
4713 };
4714 KeyType Key = {Encoding};
4715 struct Comp {
4716 bool operator()(const IndexType &LHS, const KeyType &RHS) const {
4717 if (LHS.Encoding < RHS.Encoding)
4718 return true;
4719 if (LHS.Encoding > RHS.Encoding)
4720 return false;
4721 return false;
4722 }
4723 };
4724 auto Table = ArrayRef(Index);
4725 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
4726 if (Idx == Table.end() ||
4727 Key.Encoding != Idx->Encoding)
4728 return nullptr;
4729
4730 return &RPRFMsList[Idx->_index];
4731}
4732
4733const RPRFM *lookupRPRFMByName(StringRef Name) {
4734 struct IndexType {
4735 unsigned Name;
4736 unsigned _index;
4737 };
4738 static const struct IndexType Index[] = {
4739 { 33 /* "PLDKEEP" */, 0 },
4740 { 41 /* "PLDSTRM" */, 1 },
4741 { 49 /* "PSTKEEP" */, 2 },
4742 { 57 /* "PSTSTRM" */, 3 },
4743 };
4744
4745 struct KeyType {
4746 std::string Name;
4747 };
4748 KeyType Key = {Name.upper()};
4749 struct Comp {
4750 bool operator()(const IndexType &LHS, const KeyType &RHS) const {
4751 StringRef LHSNameStr = RPRFMsListStrings[LHS.Name];
4752 StringRef RHSNameStr = RHS.Name;
4753 int CmpName = LHSNameStr.compare(RHSNameStr);
4754 if (CmpName < 0) return true;
4755 if (CmpName > 0) return false;
4756 return false;
4757 }
4758 };
4759 auto Table = ArrayRef(Index);
4760 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
4761 if (Idx == Table.end() ||
4762 Key.Name != RPRFMsListStrings[Idx->Name])
4763 return nullptr;
4764
4765 return &RPRFMsList[Idx->_index];
4766}
4767#endif
4768
4769#ifdef GET_SIMDPostTable_DECL
4770const SIMDPostEntry *lookupSIMDPostByOpcode(unsigned Inst);
4771#endif
4772
4773#ifdef GET_SIMDPostTable_IMPL
4774constexpr SIMDPostEntry SIMDPostTable[] = {
4775 { LD1Fourv16b_POST, 0x40, LD1Fourv16b }, // 0
4776 { LD1Fourv1d_POST, 0x20, LD1Fourv1d }, // 1
4777 { LD1Fourv2d_POST, 0x40, LD1Fourv2d }, // 2
4778 { LD1Fourv2s_POST, 0x20, LD1Fourv2s }, // 3
4779 { LD1Fourv4h_POST, 0x20, LD1Fourv4h }, // 4
4780 { LD1Fourv4s_POST, 0x40, LD1Fourv4s }, // 5
4781 { LD1Fourv8b_POST, 0x20, LD1Fourv8b }, // 6
4782 { LD1Fourv8h_POST, 0x40, LD1Fourv8h }, // 7
4783 { LD1Onev16b_POST, 0x10, LD1Onev16b }, // 8
4784 { LD1Onev1d_POST, 0x8, LD1Onev1d }, // 9
4785 { LD1Onev2d_POST, 0x10, LD1Onev2d }, // 10
4786 { LD1Onev2s_POST, 0x8, LD1Onev2s }, // 11
4787 { LD1Onev4h_POST, 0x8, LD1Onev4h }, // 12
4788 { LD1Onev4s_POST, 0x10, LD1Onev4s }, // 13
4789 { LD1Onev8b_POST, 0x8, LD1Onev8b }, // 14
4790 { LD1Onev8h_POST, 0x10, LD1Onev8h }, // 15
4791 { LD1Rv16b_POST, 0x1, LD1Rv16b }, // 16
4792 { LD1Rv1d_POST, 0x8, LD1Rv1d }, // 17
4793 { LD1Rv2d_POST, 0x8, LD1Rv2d }, // 18
4794 { LD1Rv2s_POST, 0x4, LD1Rv2s }, // 19
4795 { LD1Rv4h_POST, 0x2, LD1Rv4h }, // 20
4796 { LD1Rv4s_POST, 0x4, LD1Rv4s }, // 21
4797 { LD1Rv8b_POST, 0x1, LD1Rv8b }, // 22
4798 { LD1Rv8h_POST, 0x2, LD1Rv8h }, // 23
4799 { LD1Threev16b_POST, 0x30, LD1Threev16b }, // 24
4800 { LD1Threev1d_POST, 0x18, LD1Threev1d }, // 25
4801 { LD1Threev2d_POST, 0x30, LD1Threev2d }, // 26
4802 { LD1Threev2s_POST, 0x18, LD1Threev2s }, // 27
4803 { LD1Threev4h_POST, 0x18, LD1Threev4h }, // 28
4804 { LD1Threev4s_POST, 0x30, LD1Threev4s }, // 29
4805 { LD1Threev8b_POST, 0x18, LD1Threev8b }, // 30
4806 { LD1Threev8h_POST, 0x30, LD1Threev8h }, // 31
4807 { LD1Twov16b_POST, 0x20, LD1Twov16b }, // 32
4808 { LD1Twov1d_POST, 0x10, LD1Twov1d }, // 33
4809 { LD1Twov2d_POST, 0x20, LD1Twov2d }, // 34
4810 { LD1Twov2s_POST, 0x10, LD1Twov2s }, // 35
4811 { LD1Twov4h_POST, 0x10, LD1Twov4h }, // 36
4812 { LD1Twov4s_POST, 0x20, LD1Twov4s }, // 37
4813 { LD1Twov8b_POST, 0x10, LD1Twov8b }, // 38
4814 { LD1Twov8h_POST, 0x20, LD1Twov8h }, // 39
4815 { LD1i16_POST, 0x2, LD1i16 }, // 40
4816 { LD1i32_POST, 0x4, LD1i32 }, // 41
4817 { LD1i64_POST, 0x8, LD1i64 }, // 42
4818 { LD1i8_POST, 0x1, LD1i8 }, // 43
4819 { LD2Rv16b_POST, 0x2, LD2Rv16b }, // 44
4820 { LD2Rv1d_POST, 0x10, LD2Rv1d }, // 45
4821 { LD2Rv2d_POST, 0x10, LD2Rv2d }, // 46
4822 { LD2Rv2s_POST, 0x8, LD2Rv2s }, // 47
4823 { LD2Rv4h_POST, 0x4, LD2Rv4h }, // 48
4824 { LD2Rv4s_POST, 0x8, LD2Rv4s }, // 49
4825 { LD2Rv8b_POST, 0x2, LD2Rv8b }, // 50
4826 { LD2Rv8h_POST, 0x4, LD2Rv8h }, // 51
4827 { LD2Twov16b_POST, 0x20, LD2Twov16b }, // 52
4828 { LD2Twov2d_POST, 0x20, LD2Twov2d }, // 53
4829 { LD2Twov2s_POST, 0x10, LD2Twov2s }, // 54
4830 { LD2Twov4h_POST, 0x10, LD2Twov4h }, // 55
4831 { LD2Twov4s_POST, 0x20, LD2Twov4s }, // 56
4832 { LD2Twov8b_POST, 0x10, LD2Twov8b }, // 57
4833 { LD2Twov8h_POST, 0x20, LD2Twov8h }, // 58
4834 { LD2i16_POST, 0x4, LD2i16 }, // 59
4835 { LD2i32_POST, 0x8, LD2i32 }, // 60
4836 { LD2i64_POST, 0x10, LD2i64 }, // 61
4837 { LD2i8_POST, 0x2, LD2i8 }, // 62
4838 { LD3Rv16b_POST, 0x3, LD3Rv16b }, // 63
4839 { LD3Rv1d_POST, 0x18, LD3Rv1d }, // 64
4840 { LD3Rv2d_POST, 0x18, LD3Rv2d }, // 65
4841 { LD3Rv2s_POST, 0xC, LD3Rv2s }, // 66
4842 { LD3Rv4h_POST, 0x6, LD3Rv4h }, // 67
4843 { LD3Rv4s_POST, 0xC, LD3Rv4s }, // 68
4844 { LD3Rv8b_POST, 0x3, LD3Rv8b }, // 69
4845 { LD3Rv8h_POST, 0x6, LD3Rv8h }, // 70
4846 { LD3Threev16b_POST, 0x30, LD3Threev16b }, // 71
4847 { LD3Threev2d_POST, 0x30, LD3Threev2d }, // 72
4848 { LD3Threev2s_POST, 0x18, LD3Threev2s }, // 73
4849 { LD3Threev4h_POST, 0x18, LD3Threev4h }, // 74
4850 { LD3Threev4s_POST, 0x30, LD3Threev4s }, // 75
4851 { LD3Threev8b_POST, 0x18, LD3Threev8b }, // 76
4852 { LD3Threev8h_POST, 0x30, LD3Threev8h }, // 77
4853 { LD3i16_POST, 0x6, LD3i16 }, // 78
4854 { LD3i32_POST, 0xC, LD3i32 }, // 79
4855 { LD3i64_POST, 0x18, LD3i64 }, // 80
4856 { LD3i8_POST, 0x3, LD3i8 }, // 81
4857 { LD4Fourv16b_POST, 0x40, LD4Fourv16b }, // 82
4858 { LD4Fourv2d_POST, 0x40, LD4Fourv2d }, // 83
4859 { LD4Fourv2s_POST, 0x20, LD4Fourv2s }, // 84
4860 { LD4Fourv4h_POST, 0x20, LD4Fourv4h }, // 85
4861 { LD4Fourv4s_POST, 0x40, LD4Fourv4s }, // 86
4862 { LD4Fourv8b_POST, 0x20, LD4Fourv8b }, // 87
4863 { LD4Fourv8h_POST, 0x40, LD4Fourv8h }, // 88
4864 { LD4Rv16b_POST, 0x4, LD4Rv16b }, // 89
4865 { LD4Rv1d_POST, 0x20, LD4Rv1d }, // 90
4866 { LD4Rv2d_POST, 0x20, LD4Rv2d }, // 91
4867 { LD4Rv2s_POST, 0x10, LD4Rv2s }, // 92
4868 { LD4Rv4h_POST, 0x8, LD4Rv4h }, // 93
4869 { LD4Rv4s_POST, 0x10, LD4Rv4s }, // 94
4870 { LD4Rv8b_POST, 0x4, LD4Rv8b }, // 95
4871 { LD4Rv8h_POST, 0x8, LD4Rv8h }, // 96
4872 { LD4i16_POST, 0x8, LD4i16 }, // 97
4873 { LD4i32_POST, 0x10, LD4i32 }, // 98
4874 { LD4i64_POST, 0x20, LD4i64 }, // 99
4875 { LD4i8_POST, 0x4, LD4i8 }, // 100
4876 { ST1Fourv16b_POST, 0x40, ST1Fourv16b }, // 101
4877 { ST1Fourv1d_POST, 0x20, ST1Fourv1d }, // 102
4878 { ST1Fourv2d_POST, 0x40, ST1Fourv2d }, // 103
4879 { ST1Fourv2s_POST, 0x20, ST1Fourv2s }, // 104
4880 { ST1Fourv4h_POST, 0x20, ST1Fourv4h }, // 105
4881 { ST1Fourv4s_POST, 0x40, ST1Fourv4s }, // 106
4882 { ST1Fourv8b_POST, 0x20, ST1Fourv8b }, // 107
4883 { ST1Fourv8h_POST, 0x40, ST1Fourv8h }, // 108
4884 { ST1Onev16b_POST, 0x10, ST1Onev16b }, // 109
4885 { ST1Onev1d_POST, 0x8, ST1Onev1d }, // 110
4886 { ST1Onev2d_POST, 0x10, ST1Onev2d }, // 111
4887 { ST1Onev2s_POST, 0x8, ST1Onev2s }, // 112
4888 { ST1Onev4h_POST, 0x8, ST1Onev4h }, // 113
4889 { ST1Onev4s_POST, 0x10, ST1Onev4s }, // 114
4890 { ST1Onev8b_POST, 0x8, ST1Onev8b }, // 115
4891 { ST1Onev8h_POST, 0x10, ST1Onev8h }, // 116
4892 { ST1Threev16b_POST, 0x30, ST1Threev16b }, // 117
4893 { ST1Threev1d_POST, 0x18, ST1Threev1d }, // 118
4894 { ST1Threev2d_POST, 0x30, ST1Threev2d }, // 119
4895 { ST1Threev2s_POST, 0x18, ST1Threev2s }, // 120
4896 { ST1Threev4h_POST, 0x18, ST1Threev4h }, // 121
4897 { ST1Threev4s_POST, 0x30, ST1Threev4s }, // 122
4898 { ST1Threev8b_POST, 0x18, ST1Threev8b }, // 123
4899 { ST1Threev8h_POST, 0x30, ST1Threev8h }, // 124
4900 { ST1Twov16b_POST, 0x20, ST1Twov16b }, // 125
4901 { ST1Twov1d_POST, 0x10, ST1Twov1d }, // 126
4902 { ST1Twov2d_POST, 0x20, ST1Twov2d }, // 127
4903 { ST1Twov2s_POST, 0x10, ST1Twov2s }, // 128
4904 { ST1Twov4h_POST, 0x10, ST1Twov4h }, // 129
4905 { ST1Twov4s_POST, 0x20, ST1Twov4s }, // 130
4906 { ST1Twov8b_POST, 0x10, ST1Twov8b }, // 131
4907 { ST1Twov8h_POST, 0x20, ST1Twov8h }, // 132
4908 { ST1i16_POST, 0x2, ST1i16 }, // 133
4909 { ST1i32_POST, 0x4, ST1i32 }, // 134
4910 { ST1i64_POST, 0x8, ST1i64 }, // 135
4911 { ST1i8_POST, 0x1, ST1i8 }, // 136
4912 { ST2Twov16b_POST, 0x20, ST2Twov16b }, // 137
4913 { ST2Twov2d_POST, 0x20, ST2Twov2d }, // 138
4914 { ST2Twov2s_POST, 0x10, ST2Twov2s }, // 139
4915 { ST2Twov4h_POST, 0x10, ST2Twov4h }, // 140
4916 { ST2Twov4s_POST, 0x20, ST2Twov4s }, // 141
4917 { ST2Twov8b_POST, 0x10, ST2Twov8b }, // 142
4918 { ST2Twov8h_POST, 0x20, ST2Twov8h }, // 143
4919 { ST2i16_POST, 0x4, ST2i16 }, // 144
4920 { ST2i32_POST, 0x8, ST2i32 }, // 145
4921 { ST2i64_POST, 0x10, ST2i64 }, // 146
4922 { ST2i8_POST, 0x2, ST2i8 }, // 147
4923 { ST3Threev16b_POST, 0x30, ST3Threev16b }, // 148
4924 { ST3Threev2d_POST, 0x30, ST3Threev2d }, // 149
4925 { ST3Threev2s_POST, 0x18, ST3Threev2s }, // 150
4926 { ST3Threev4h_POST, 0x18, ST3Threev4h }, // 151
4927 { ST3Threev4s_POST, 0x30, ST3Threev4s }, // 152
4928 { ST3Threev8b_POST, 0x18, ST3Threev8b }, // 153
4929 { ST3Threev8h_POST, 0x30, ST3Threev8h }, // 154
4930 { ST3i16_POST, 0x6, ST3i16 }, // 155
4931 { ST3i32_POST, 0xC, ST3i32 }, // 156
4932 { ST3i64_POST, 0x18, ST3i64 }, // 157
4933 { ST3i8_POST, 0x3, ST3i8 }, // 158
4934 { ST4Fourv16b_POST, 0x40, ST4Fourv16b }, // 159
4935 { ST4Fourv2d_POST, 0x40, ST4Fourv2d }, // 160
4936 { ST4Fourv2s_POST, 0x20, ST4Fourv2s }, // 161
4937 { ST4Fourv4h_POST, 0x20, ST4Fourv4h }, // 162
4938 { ST4Fourv4s_POST, 0x40, ST4Fourv4s }, // 163
4939 { ST4Fourv8b_POST, 0x20, ST4Fourv8b }, // 164
4940 { ST4Fourv8h_POST, 0x40, ST4Fourv8h }, // 165
4941 { ST4i16_POST, 0x8, ST4i16 }, // 166
4942 { ST4i32_POST, 0x10, ST4i32 }, // 167
4943 { ST4i64_POST, 0x20, ST4i64 }, // 168
4944 { ST4i8_POST, 0x4, ST4i8 }, // 169
4945 };
4946
4947const SIMDPostEntry *lookupSIMDPostByOpcode(unsigned Inst) {
4948 struct KeyType {
4949 unsigned Inst;
4950 };
4951 KeyType Key = {Inst};
4952 struct Comp {
4953 bool operator()(const SIMDPostEntry &LHS, const KeyType &RHS) const {
4954 if (LHS.Inst < RHS.Inst)
4955 return true;
4956 if (LHS.Inst > RHS.Inst)
4957 return false;
4958 return false;
4959 }
4960 };
4961 auto Table = ArrayRef(SIMDPostTable);
4962 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
4963 if (Idx == Table.end() ||
4964 Key.Inst != Idx->Inst)
4965 return nullptr;
4966
4967 return &*Idx;
4968}
4969#endif
4970
4971#ifdef GET_SVCRsList_DECL
4972const SVCR *lookupSVCRByEncoding(uint8_t Encoding);
4973const SVCR *lookupSVCRByName(StringRef Name);
4974StringRef getSVCRStr(StringTable::Offset);
4975#endif
4976
4977#ifdef GET_SVCRsList_IMPL
4978constexpr SVCR SVCRsList[] = {
4979 { 1 /* "SVCRSM" */, 0x1, {AArch64::FeatureSME} }, // 0
4980 { 8 /* "SVCRZA" */, 0x2, {AArch64::FeatureSME} }, // 1
4981 { 15 /* "SVCRSMZA" */, 0x3, {AArch64::FeatureSME} }, // 2
4982 };
4983
4984#ifdef __GNUC__
4985#pragma GCC diagnostic push
4986#pragma GCC diagnostic ignored "-Woverlength-strings"
4987#endif
4988static constexpr char SVCRsListStringsStorage[] =
4989 "\0"
4990 "SVCRSM\0"
4991 "SVCRZA\0"
4992 "SVCRSMZA\0"
4993 ;
4994#ifdef __GNUC__
4995#pragma GCC diagnostic pop
4996#endif
4997
4998static constexpr llvm::StringTable
4999SVCRsListStrings = SVCRsListStringsStorage;
5000
5001StringRef getSVCRStr(StringTable::Offset Offset) {
5002 return SVCRsListStrings[Offset];
5003}
5004
5005const SVCR *lookupSVCRByEncoding(uint8_t Encoding) {
5006 if ((uint8_t)Encoding != std::clamp<uint8_t>(Encoding, 0x1, 0x3))
5007 return nullptr;
5008
5009 auto Table = ArrayRef(SVCRsList);
5010 size_t Idx = Encoding - 0x1;
5011 return &Table[Idx];
5012}
5013
5014const SVCR *lookupSVCRByName(StringRef Name) {
5015 struct IndexType {
5016 unsigned Name;
5017 unsigned _index;
5018 };
5019 static const struct IndexType Index[] = {
5020 { 1 /* "SVCRSM" */, 0 },
5021 { 15 /* "SVCRSMZA" */, 2 },
5022 { 8 /* "SVCRZA" */, 1 },
5023 };
5024
5025 struct KeyType {
5026 std::string Name;
5027 };
5028 KeyType Key = {Name.upper()};
5029 struct Comp {
5030 bool operator()(const IndexType &LHS, const KeyType &RHS) const {
5031 StringRef LHSNameStr = SVCRsListStrings[LHS.Name];
5032 StringRef RHSNameStr = RHS.Name;
5033 int CmpName = LHSNameStr.compare(RHSNameStr);
5034 if (CmpName < 0) return true;
5035 if (CmpName > 0) return false;
5036 return false;
5037 }
5038 };
5039 auto Table = ArrayRef(Index);
5040 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
5041 if (Idx == Table.end() ||
5042 Key.Name != SVCRsListStrings[Idx->Name])
5043 return nullptr;
5044
5045 return &SVCRsList[Idx->_index];
5046}
5047#endif
5048
5049#ifdef GET_SVEPREDPATsList_DECL
5050const SVEPREDPAT *lookupSVEPREDPATByEncoding(uint8_t Encoding);
5051const SVEPREDPAT *lookupSVEPREDPATByName(StringRef Name);
5052StringRef getSVEPREDPATStr(StringTable::Offset);
5053#endif
5054
5055#ifdef GET_SVEPREDPATsList_IMPL
5056constexpr SVEPREDPAT SVEPREDPATsList[] = {
5057 { 1 /* "pow2" */, 0x0 }, // 0
5058 { 6 /* "vl1" */, 0x1 }, // 1
5059 { 10 /* "vl2" */, 0x2 }, // 2
5060 { 14 /* "vl3" */, 0x3 }, // 3
5061 { 18 /* "vl4" */, 0x4 }, // 4
5062 { 22 /* "vl5" */, 0x5 }, // 5
5063 { 26 /* "vl6" */, 0x6 }, // 6
5064 { 30 /* "vl7" */, 0x7 }, // 7
5065 { 34 /* "vl8" */, 0x8 }, // 8
5066 { 38 /* "vl16" */, 0x9 }, // 9
5067 { 43 /* "vl32" */, 0xA }, // 10
5068 { 48 /* "vl64" */, 0xB }, // 11
5069 { 53 /* "vl128" */, 0xC }, // 12
5070 { 59 /* "vl256" */, 0xD }, // 13
5071 { 65 /* "mul4" */, 0x1D }, // 14
5072 { 70 /* "mul3" */, 0x1E }, // 15
5073 { 75 /* "all" */, 0x1F }, // 16
5074 };
5075
5076#ifdef __GNUC__
5077#pragma GCC diagnostic push
5078#pragma GCC diagnostic ignored "-Woverlength-strings"
5079#endif
5080static constexpr char SVEPREDPATsListStringsStorage[] =
5081 "\0"
5082 "pow2\0"
5083 "vl1\0"
5084 "vl2\0"
5085 "vl3\0"
5086 "vl4\0"
5087 "vl5\0"
5088 "vl6\0"
5089 "vl7\0"
5090 "vl8\0"
5091 "vl16\0"
5092 "vl32\0"
5093 "vl64\0"
5094 "vl128\0"
5095 "vl256\0"
5096 "mul4\0"
5097 "mul3\0"
5098 "all\0"
5099 "ALL\0"
5100 "MUL3\0"
5101 "MUL4\0"
5102 "POW2\0"
5103 "VL1\0"
5104 "VL128\0"
5105 "VL16\0"
5106 "VL2\0"
5107 "VL256\0"
5108 "VL3\0"
5109 "VL32\0"
5110 "VL4\0"
5111 "VL5\0"
5112 "VL6\0"
5113 "VL64\0"
5114 "VL7\0"
5115 "VL8\0"
5116 ;
5117#ifdef __GNUC__
5118#pragma GCC diagnostic pop
5119#endif
5120
5121static constexpr llvm::StringTable
5122SVEPREDPATsListStrings = SVEPREDPATsListStringsStorage;
5123
5124StringRef getSVEPREDPATStr(StringTable::Offset Offset) {
5125 return SVEPREDPATsListStrings[Offset];
5126}
5127
5128const SVEPREDPAT *lookupSVEPREDPATByEncoding(uint8_t Encoding) {
5129 struct KeyType {
5130 uint8_t Encoding;
5131 };
5132 KeyType Key = {Encoding};
5133 struct Comp {
5134 bool operator()(const SVEPREDPAT &LHS, const KeyType &RHS) const {
5135 if (LHS.Encoding < RHS.Encoding)
5136 return true;
5137 if (LHS.Encoding > RHS.Encoding)
5138 return false;
5139 return false;
5140 }
5141 };
5142 auto Table = ArrayRef(SVEPREDPATsList);
5143 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
5144 if (Idx == Table.end() ||
5145 Key.Encoding != Idx->Encoding)
5146 return nullptr;
5147
5148 return &*Idx;
5149}
5150
5151const SVEPREDPAT *lookupSVEPREDPATByName(StringRef Name) {
5152 struct IndexType {
5153 unsigned Name;
5154 unsigned _index;
5155 };
5156 static const struct IndexType Index[] = {
5157 { 79 /* "ALL" */, 16 },
5158 { 83 /* "MUL3" */, 15 },
5159 { 88 /* "MUL4" */, 14 },
5160 { 93 /* "POW2" */, 0 },
5161 { 98 /* "VL1" */, 1 },
5162 { 102 /* "VL128" */, 12 },
5163 { 108 /* "VL16" */, 9 },
5164 { 113 /* "VL2" */, 2 },
5165 { 117 /* "VL256" */, 13 },
5166 { 123 /* "VL3" */, 3 },
5167 { 127 /* "VL32" */, 10 },
5168 { 132 /* "VL4" */, 4 },
5169 { 136 /* "VL5" */, 5 },
5170 { 140 /* "VL6" */, 6 },
5171 { 144 /* "VL64" */, 11 },
5172 { 149 /* "VL7" */, 7 },
5173 { 153 /* "VL8" */, 8 },
5174 };
5175
5176 struct KeyType {
5177 std::string Name;
5178 };
5179 KeyType Key = {Name.upper()};
5180 struct Comp {
5181 bool operator()(const IndexType &LHS, const KeyType &RHS) const {
5182 StringRef LHSNameStr = SVEPREDPATsListStrings[LHS.Name];
5183 StringRef RHSNameStr = RHS.Name;
5184 int CmpName = LHSNameStr.compare(RHSNameStr);
5185 if (CmpName < 0) return true;
5186 if (CmpName > 0) return false;
5187 return false;
5188 }
5189 };
5190 auto Table = ArrayRef(Index);
5191 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
5192 if (Idx == Table.end() ||
5193 Key.Name != SVEPREDPATsListStrings[Idx->Name])
5194 return nullptr;
5195
5196 return &SVEPREDPATsList[Idx->_index];
5197}
5198#endif
5199
5200#ifdef GET_SVEPRFMsList_DECL
5201const SVEPRFM *lookupSVEPRFMByEncoding(uint8_t Encoding);
5202const SVEPRFM *lookupSVEPRFMByName(StringRef Name);
5203StringRef getSVEPRFMStr(StringTable::Offset);
5204#endif
5205
5206#ifdef GET_SVEPRFMsList_IMPL
5207constexpr SVEPRFM SVEPRFMsList[] = {
5208 { 1 /* "pldl1keep" */, 0x0, {AArch64::FeatureSVE} }, // 0
5209 { 11 /* "pldl1strm" */, 0x1, {AArch64::FeatureSVE} }, // 1
5210 { 21 /* "pldl2keep" */, 0x2, {AArch64::FeatureSVE} }, // 2
5211 { 31 /* "pldl2strm" */, 0x3, {AArch64::FeatureSVE} }, // 3
5212 { 41 /* "pldl3keep" */, 0x4, {AArch64::FeatureSVE} }, // 4
5213 { 51 /* "pldl3strm" */, 0x5, {AArch64::FeatureSVE} }, // 5
5214 { 61 /* "pstl1keep" */, 0x8, {AArch64::FeatureSVE} }, // 6
5215 { 71 /* "pstl1strm" */, 0x9, {AArch64::FeatureSVE} }, // 7
5216 { 81 /* "pstl2keep" */, 0xA, {AArch64::FeatureSVE} }, // 8
5217 { 91 /* "pstl2strm" */, 0xB, {AArch64::FeatureSVE} }, // 9
5218 { 101 /* "pstl3keep" */, 0xC, {AArch64::FeatureSVE} }, // 10
5219 { 111 /* "pstl3strm" */, 0xD, {AArch64::FeatureSVE} }, // 11
5220 };
5221
5222#ifdef __GNUC__
5223#pragma GCC diagnostic push
5224#pragma GCC diagnostic ignored "-Woverlength-strings"
5225#endif
5226static constexpr char SVEPRFMsListStringsStorage[] =
5227 "\0"
5228 "pldl1keep\0"
5229 "pldl1strm\0"
5230 "pldl2keep\0"
5231 "pldl2strm\0"
5232 "pldl3keep\0"
5233 "pldl3strm\0"
5234 "pstl1keep\0"
5235 "pstl1strm\0"
5236 "pstl2keep\0"
5237 "pstl2strm\0"
5238 "pstl3keep\0"
5239 "pstl3strm\0"
5240 "PLDL1KEEP\0"
5241 "PLDL1STRM\0"
5242 "PLDL2KEEP\0"
5243 "PLDL2STRM\0"
5244 "PLDL3KEEP\0"
5245 "PLDL3STRM\0"
5246 "PSTL1KEEP\0"
5247 "PSTL1STRM\0"
5248 "PSTL2KEEP\0"
5249 "PSTL2STRM\0"
5250 "PSTL3KEEP\0"
5251 "PSTL3STRM\0"
5252 ;
5253#ifdef __GNUC__
5254#pragma GCC diagnostic pop
5255#endif
5256
5257static constexpr llvm::StringTable
5258SVEPRFMsListStrings = SVEPRFMsListStringsStorage;
5259
5260StringRef getSVEPRFMStr(StringTable::Offset Offset) {
5261 return SVEPRFMsListStrings[Offset];
5262}
5263
5264const SVEPRFM *lookupSVEPRFMByEncoding(uint8_t Encoding) {
5265 struct KeyType {
5266 uint8_t Encoding;
5267 };
5268 KeyType Key = {Encoding};
5269 struct Comp {
5270 bool operator()(const SVEPRFM &LHS, const KeyType &RHS) const {
5271 if (LHS.Encoding < RHS.Encoding)
5272 return true;
5273 if (LHS.Encoding > RHS.Encoding)
5274 return false;
5275 return false;
5276 }
5277 };
5278 auto Table = ArrayRef(SVEPRFMsList);
5279 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
5280 if (Idx == Table.end() ||
5281 Key.Encoding != Idx->Encoding)
5282 return nullptr;
5283
5284 return &*Idx;
5285}
5286
5287const SVEPRFM *lookupSVEPRFMByName(StringRef Name) {
5288 struct IndexType {
5289 unsigned Name;
5290 unsigned _index;
5291 };
5292 static const struct IndexType Index[] = {
5293 { 121 /* "PLDL1KEEP" */, 0 },
5294 { 131 /* "PLDL1STRM" */, 1 },
5295 { 141 /* "PLDL2KEEP" */, 2 },
5296 { 151 /* "PLDL2STRM" */, 3 },
5297 { 161 /* "PLDL3KEEP" */, 4 },
5298 { 171 /* "PLDL3STRM" */, 5 },
5299 { 181 /* "PSTL1KEEP" */, 6 },
5300 { 191 /* "PSTL1STRM" */, 7 },
5301 { 201 /* "PSTL2KEEP" */, 8 },
5302 { 211 /* "PSTL2STRM" */, 9 },
5303 { 221 /* "PSTL3KEEP" */, 10 },
5304 { 231 /* "PSTL3STRM" */, 11 },
5305 };
5306
5307 struct KeyType {
5308 std::string Name;
5309 };
5310 KeyType Key = {Name.upper()};
5311 struct Comp {
5312 bool operator()(const IndexType &LHS, const KeyType &RHS) const {
5313 StringRef LHSNameStr = SVEPRFMsListStrings[LHS.Name];
5314 StringRef RHSNameStr = RHS.Name;
5315 int CmpName = LHSNameStr.compare(RHSNameStr);
5316 if (CmpName < 0) return true;
5317 if (CmpName > 0) return false;
5318 return false;
5319 }
5320 };
5321 auto Table = ArrayRef(Index);
5322 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
5323 if (Idx == Table.end() ||
5324 Key.Name != SVEPRFMsListStrings[Idx->Name])
5325 return nullptr;
5326
5327 return &SVEPRFMsList[Idx->_index];
5328}
5329#endif
5330
5331#ifdef GET_SVEVECLENSPECIFIERsList_DECL
5332const SVEVECLENSPECIFIER *lookupSVEVECLENSPECIFIERByEncoding(uint8_t Encoding);
5333const SVEVECLENSPECIFIER *lookupSVEVECLENSPECIFIERByName(StringRef Name);
5334StringRef getSVEVECLENSPECIFIERStr(StringTable::Offset);
5335#endif
5336
5337#ifdef GET_SVEVECLENSPECIFIERsList_IMPL
5338constexpr SVEVECLENSPECIFIER SVEVECLENSPECIFIERsList[] = {
5339 { 1 /* "vlx2" */, 0x0 }, // 0
5340 { 6 /* "vlx4" */, 0x1 }, // 1
5341 };
5342
5343#ifdef __GNUC__
5344#pragma GCC diagnostic push
5345#pragma GCC diagnostic ignored "-Woverlength-strings"
5346#endif
5347static constexpr char SVEVECLENSPECIFIERsListStringsStorage[] =
5348 "\0"
5349 "vlx2\0"
5350 "vlx4\0"
5351 "VLX2\0"
5352 "VLX4\0"
5353 ;
5354#ifdef __GNUC__
5355#pragma GCC diagnostic pop
5356#endif
5357
5358static constexpr llvm::StringTable
5359SVEVECLENSPECIFIERsListStrings = SVEVECLENSPECIFIERsListStringsStorage;
5360
5361StringRef getSVEVECLENSPECIFIERStr(StringTable::Offset Offset) {
5362 return SVEVECLENSPECIFIERsListStrings[Offset];
5363}
5364
5365const SVEVECLENSPECIFIER *lookupSVEVECLENSPECIFIERByEncoding(uint8_t Encoding) {
5366 if ((uint8_t)Encoding != std::clamp<uint8_t>(Encoding, 0x0, 0x1))
5367 return nullptr;
5368
5369 auto Table = ArrayRef(SVEVECLENSPECIFIERsList);
5370 size_t Idx = Encoding - 0x0;
5371 return &Table[Idx];
5372}
5373
5374const SVEVECLENSPECIFIER *lookupSVEVECLENSPECIFIERByName(StringRef Name) {
5375 struct IndexType {
5376 unsigned Name;
5377 unsigned _index;
5378 };
5379 static const struct IndexType Index[] = {
5380 { 11 /* "VLX2" */, 0 },
5381 { 16 /* "VLX4" */, 1 },
5382 };
5383
5384 struct KeyType {
5385 std::string Name;
5386 };
5387 KeyType Key = {Name.upper()};
5388 struct Comp {
5389 bool operator()(const IndexType &LHS, const KeyType &RHS) const {
5390 StringRef LHSNameStr = SVEVECLENSPECIFIERsListStrings[LHS.Name];
5391 StringRef RHSNameStr = RHS.Name;
5392 int CmpName = LHSNameStr.compare(RHSNameStr);
5393 if (CmpName < 0) return true;
5394 if (CmpName > 0) return false;
5395 return false;
5396 }
5397 };
5398 auto Table = ArrayRef(Index);
5399 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
5400 if (Idx == Table.end() ||
5401 Key.Name != SVEVECLENSPECIFIERsListStrings[Idx->Name])
5402 return nullptr;
5403
5404 return &SVEVECLENSPECIFIERsList[Idx->_index];
5405}
5406#endif
5407
5408#ifdef GET_SysRegsList_DECL
5409llvm::iterator_range<const SysReg *> lookupSysRegByEncoding(uint16_t Encoding);
5410const SysReg *lookupSysRegByName(StringRef Name);
5411StringRef getSysRegStr(StringTable::Offset);
5412#endif
5413
5414#ifdef GET_SysRegsList_IMPL
5415constexpr SysReg SysRegsList[] = {
5416 { 1 /* "OSDTRRX_EL1" */, 0x8002, true, true, {} }, // 0
5417 { 13 /* "DBGBVR0_EL1" */, 0x8004, true, true, {} }, // 1
5418 { 25 /* "DBGBCR0_EL1" */, 0x8005, true, true, {} }, // 2
5419 { 37 /* "DBGWVR0_EL1" */, 0x8006, true, true, {} }, // 3
5420 { 49 /* "DBGWCR0_EL1" */, 0x8007, true, true, {} }, // 4
5421 { 61 /* "DBGBVR1_EL1" */, 0x800C, true, true, {} }, // 5
5422 { 73 /* "DBGBCR1_EL1" */, 0x800D, true, true, {} }, // 6
5423 { 85 /* "DBGWVR1_EL1" */, 0x800E, true, true, {} }, // 7
5424 { 97 /* "DBGWCR1_EL1" */, 0x800F, true, true, {} }, // 8
5425 { 109 /* "MDCCINT_EL1" */, 0x8010, true, true, {} }, // 9
5426 { 121 /* "MDSCR_EL1" */, 0x8012, true, true, {} }, // 10
5427 { 131 /* "DBGBVR2_EL1" */, 0x8014, true, true, {} }, // 11
5428 { 143 /* "DBGBCR2_EL1" */, 0x8015, true, true, {} }, // 12
5429 { 155 /* "DBGWVR2_EL1" */, 0x8016, true, true, {} }, // 13
5430 { 167 /* "DBGWCR2_EL1" */, 0x8017, true, true, {} }, // 14
5431 { 179 /* "OSDTRTX_EL1" */, 0x801A, true, true, {} }, // 15
5432 { 191 /* "DBGBVR3_EL1" */, 0x801C, true, true, {} }, // 16
5433 { 203 /* "DBGBCR3_EL1" */, 0x801D, true, true, {} }, // 17
5434 { 215 /* "DBGWVR3_EL1" */, 0x801E, true, true, {} }, // 18
5435 { 227 /* "DBGWCR3_EL1" */, 0x801F, true, true, {} }, // 19
5436 { 239 /* "MDSELR_EL1" */, 0x8022, true, true, {} }, // 20
5437 { 250 /* "DBGBVR4_EL1" */, 0x8024, true, true, {} }, // 21
5438 { 262 /* "DBGBCR4_EL1" */, 0x8025, true, true, {} }, // 22
5439 { 274 /* "DBGWVR4_EL1" */, 0x8026, true, true, {} }, // 23
5440 { 286 /* "DBGWCR4_EL1" */, 0x8027, true, true, {} }, // 24
5441 { 298 /* "MDSTEPOP_EL1" */, 0x802A, true, true, {} }, // 25
5442 { 311 /* "DBGBVR5_EL1" */, 0x802C, true, true, {} }, // 26
5443 { 323 /* "DBGBCR5_EL1" */, 0x802D, true, true, {} }, // 27
5444 { 335 /* "DBGWVR5_EL1" */, 0x802E, true, true, {} }, // 28
5445 { 347 /* "DBGWCR5_EL1" */, 0x802F, true, true, {} }, // 29
5446 { 359 /* "OSECCR_EL1" */, 0x8032, true, true, {} }, // 30
5447 { 370 /* "DBGBVR6_EL1" */, 0x8034, true, true, {} }, // 31
5448 { 382 /* "DBGBCR6_EL1" */, 0x8035, true, true, {} }, // 32
5449 { 394 /* "DBGWVR6_EL1" */, 0x8036, true, true, {} }, // 33
5450 { 406 /* "DBGWCR6_EL1" */, 0x8037, true, true, {} }, // 34
5451 { 418 /* "DBGBVR7_EL1" */, 0x803C, true, true, {} }, // 35
5452 { 430 /* "DBGBCR7_EL1" */, 0x803D, true, true, {} }, // 36
5453 { 442 /* "DBGWVR7_EL1" */, 0x803E, true, true, {} }, // 37
5454 { 454 /* "DBGWCR7_EL1" */, 0x803F, true, true, {} }, // 38
5455 { 466 /* "DBGBVR8_EL1" */, 0x8044, true, true, {} }, // 39
5456 { 478 /* "DBGBCR8_EL1" */, 0x8045, true, true, {} }, // 40
5457 { 490 /* "DBGWVR8_EL1" */, 0x8046, true, true, {} }, // 41
5458 { 502 /* "DBGWCR8_EL1" */, 0x8047, true, true, {} }, // 42
5459 { 514 /* "DBGBVR9_EL1" */, 0x804C, true, true, {} }, // 43
5460 { 526 /* "DBGBCR9_EL1" */, 0x804D, true, true, {} }, // 44
5461 { 538 /* "DBGWVR9_EL1" */, 0x804E, true, true, {} }, // 45
5462 { 550 /* "DBGWCR9_EL1" */, 0x804F, true, true, {} }, // 46
5463 { 562 /* "DBGBVR10_EL1" */, 0x8054, true, true, {} }, // 47
5464 { 575 /* "DBGBCR10_EL1" */, 0x8055, true, true, {} }, // 48
5465 { 588 /* "DBGWVR10_EL1" */, 0x8056, true, true, {} }, // 49
5466 { 601 /* "DBGWCR10_EL1" */, 0x8057, true, true, {} }, // 50
5467 { 614 /* "DBGBVR11_EL1" */, 0x805C, true, true, {} }, // 51
5468 { 627 /* "DBGBCR11_EL1" */, 0x805D, true, true, {} }, // 52
5469 { 640 /* "DBGWVR11_EL1" */, 0x805E, true, true, {} }, // 53
5470 { 653 /* "DBGWCR11_EL1" */, 0x805F, true, true, {} }, // 54
5471 { 666 /* "DBGBVR12_EL1" */, 0x8064, true, true, {} }, // 55
5472 { 679 /* "DBGBCR12_EL1" */, 0x8065, true, true, {} }, // 56
5473 { 692 /* "DBGWVR12_EL1" */, 0x8066, true, true, {} }, // 57
5474 { 705 /* "DBGWCR12_EL1" */, 0x8067, true, true, {} }, // 58
5475 { 718 /* "DBGBVR13_EL1" */, 0x806C, true, true, {} }, // 59
5476 { 731 /* "DBGBCR13_EL1" */, 0x806D, true, true, {} }, // 60
5477 { 744 /* "DBGWVR13_EL1" */, 0x806E, true, true, {} }, // 61
5478 { 757 /* "DBGWCR13_EL1" */, 0x806F, true, true, {} }, // 62
5479 { 770 /* "DBGBVR14_EL1" */, 0x8074, true, true, {} }, // 63
5480 { 783 /* "DBGBCR14_EL1" */, 0x8075, true, true, {} }, // 64
5481 { 796 /* "DBGWVR14_EL1" */, 0x8076, true, true, {} }, // 65
5482 { 809 /* "DBGWCR14_EL1" */, 0x8077, true, true, {} }, // 66
5483 { 822 /* "DBGBVR15_EL1" */, 0x807C, true, true, {} }, // 67
5484 { 835 /* "DBGBCR15_EL1" */, 0x807D, true, true, {} }, // 68
5485 { 848 /* "DBGWVR15_EL1" */, 0x807E, true, true, {} }, // 69
5486 { 861 /* "DBGWCR15_EL1" */, 0x807F, true, true, {} }, // 70
5487 { 874 /* "MDRAR_EL1" */, 0x8080, true, false, {} }, // 71
5488 { 884 /* "OSLAR_EL1" */, 0x8084, false, true, {} }, // 72
5489 { 894 /* "OSLSR_EL1" */, 0x808C, true, false, {} }, // 73
5490 { 904 /* "OSDLR_EL1" */, 0x809C, true, true, {} }, // 74
5491 { 914 /* "DBGPRCR_EL1" */, 0x80A4, true, true, {} }, // 75
5492 { 926 /* "DBGCLAIMSET_EL1" */, 0x83C6, true, true, {} }, // 76
5493 { 942 /* "DBGCLAIMCLR_EL1" */, 0x83CE, true, true, {} }, // 77
5494 { 958 /* "DBGAUTHSTATUS_EL1" */, 0x83F6, true, false, {} }, // 78
5495 { 976 /* "SPMCGCR0_EL1" */, 0x84E8, true, false, {} }, // 79
5496 { 989 /* "SPMCGCR1_EL1" */, 0x84E9, true, false, {} }, // 80
5497 { 1002 /* "SPMACCESSR_EL1" */, 0x84EB, true, true, {} }, // 81
5498 { 1017 /* "SPMIIDR_EL1" */, 0x84EC, true, false, {} }, // 82
5499 { 1029 /* "SPMDEVARCH_EL1" */, 0x84ED, true, false, {} }, // 83
5500 { 1044 /* "SPMDEVAFF_EL1" */, 0x84EE, true, false, {} }, // 84
5501 { 1058 /* "SPMCFGR_EL1" */, 0x84EF, true, false, {} }, // 85
5502 { 1070 /* "SPMINTENSET_EL1" */, 0x84F1, true, true, {} }, // 86
5503 { 1086 /* "SPMINTENCLR_EL1" */, 0x84F2, true, true, {} }, // 87
5504 { 1102 /* "PMEVCNTSVR0_EL1" */, 0x8740, true, false, {} }, // 88
5505 { 1118 /* "PMEVCNTSVR1_EL1" */, 0x8741, true, false, {} }, // 89
5506 { 1134 /* "PMEVCNTSVR2_EL1" */, 0x8742, true, false, {} }, // 90
5507 { 1150 /* "PMEVCNTSVR3_EL1" */, 0x8743, true, false, {} }, // 91
5508 { 1166 /* "PMEVCNTSVR4_EL1" */, 0x8744, true, false, {} }, // 92
5509 { 1182 /* "PMEVCNTSVR5_EL1" */, 0x8745, true, false, {} }, // 93
5510 { 1198 /* "PMEVCNTSVR6_EL1" */, 0x8746, true, false, {} }, // 94
5511 { 1214 /* "PMEVCNTSVR7_EL1" */, 0x8747, true, false, {} }, // 95
5512 { 1230 /* "PMEVCNTSVR8_EL1" */, 0x8748, true, false, {} }, // 96
5513 { 1246 /* "PMEVCNTSVR9_EL1" */, 0x8749, true, false, {} }, // 97
5514 { 1262 /* "PMEVCNTSVR10_EL1" */, 0x874A, true, false, {} }, // 98
5515 { 1279 /* "PMEVCNTSVR11_EL1" */, 0x874B, true, false, {} }, // 99
5516 { 1296 /* "PMEVCNTSVR12_EL1" */, 0x874C, true, false, {} }, // 100
5517 { 1313 /* "PMEVCNTSVR13_EL1" */, 0x874D, true, false, {} }, // 101
5518 { 1330 /* "PMEVCNTSVR14_EL1" */, 0x874E, true, false, {} }, // 102
5519 { 1347 /* "PMEVCNTSVR15_EL1" */, 0x874F, true, false, {} }, // 103
5520 { 1364 /* "PMEVCNTSVR16_EL1" */, 0x8750, true, false, {} }, // 104
5521 { 1381 /* "PMEVCNTSVR17_EL1" */, 0x8751, true, false, {} }, // 105
5522 { 1398 /* "PMEVCNTSVR18_EL1" */, 0x8752, true, false, {} }, // 106
5523 { 1415 /* "PMEVCNTSVR19_EL1" */, 0x8753, true, false, {} }, // 107
5524 { 1432 /* "PMEVCNTSVR20_EL1" */, 0x8754, true, false, {} }, // 108
5525 { 1449 /* "PMEVCNTSVR21_EL1" */, 0x8755, true, false, {} }, // 109
5526 { 1466 /* "PMEVCNTSVR22_EL1" */, 0x8756, true, false, {} }, // 110
5527 { 1483 /* "PMEVCNTSVR23_EL1" */, 0x8757, true, false, {} }, // 111
5528 { 1500 /* "PMEVCNTSVR24_EL1" */, 0x8758, true, false, {} }, // 112
5529 { 1517 /* "PMEVCNTSVR25_EL1" */, 0x8759, true, false, {} }, // 113
5530 { 1534 /* "PMEVCNTSVR26_EL1" */, 0x875A, true, false, {} }, // 114
5531 { 1551 /* "PMEVCNTSVR27_EL1" */, 0x875B, true, false, {} }, // 115
5532 { 1568 /* "PMEVCNTSVR28_EL1" */, 0x875C, true, false, {} }, // 116
5533 { 1585 /* "PMEVCNTSVR29_EL1" */, 0x875D, true, false, {} }, // 117
5534 { 1602 /* "PMEVCNTSVR30_EL1" */, 0x875E, true, false, {} }, // 118
5535 { 1619 /* "PMCCNTSVR_EL1" */, 0x875F, true, false, {} }, // 119
5536 { 1633 /* "PMICNTSVR_EL1" */, 0x8760, true, false, {} }, // 120
5537 { 1647 /* "TRCTRACEIDR" */, 0x8801, true, true, {} }, // 121
5538 { 1659 /* "TRCVICTLR" */, 0x8802, true, true, {} }, // 122
5539 { 1669 /* "TRCSEQEVR0" */, 0x8804, true, true, {} }, // 123
5540 { 1680 /* "TRCCNTRLDVR0" */, 0x8805, true, true, {} }, // 124
5541 { 1693 /* "TRCIDR8" */, 0x8806, true, false, {} }, // 125
5542 { 1701 /* "TRCIMSPEC0" */, 0x8807, true, true, {} }, // 126
5543 { 1712 /* "TRCPRGCTLR" */, 0x8808, true, true, {} }, // 127
5544 { 1723 /* "TRCQCTLR" */, 0x8809, true, true, {} }, // 128
5545 { 1732 /* "TRCVIIECTLR" */, 0x880A, true, true, {} }, // 129
5546 { 1744 /* "TRCSEQEVR1" */, 0x880C, true, true, {} }, // 130
5547 { 1755 /* "TRCCNTRLDVR1" */, 0x880D, true, true, {} }, // 131
5548 { 1768 /* "TRCIDR9" */, 0x880E, true, false, {} }, // 132
5549 { 1776 /* "TRCIMSPEC1" */, 0x880F, true, true, {} }, // 133
5550 { 1787 /* "TRCPROCSELR" */, 0x8810, true, true, {} }, // 134
5551 { 1799 /* "TRCITEEDCR" */, 0x8811, true, true, {AArch64::FeatureITE} }, // 135
5552 { 1810 /* "TRCVISSCTLR" */, 0x8812, true, true, {} }, // 136
5553 { 1822 /* "TRCSEQEVR2" */, 0x8814, true, true, {} }, // 137
5554 { 1833 /* "TRCCNTRLDVR2" */, 0x8815, true, true, {} }, // 138
5555 { 1846 /* "TRCIDR10" */, 0x8816, true, false, {} }, // 139
5556 { 1855 /* "TRCIMSPEC2" */, 0x8817, true, true, {} }, // 140
5557 { 1866 /* "TRCSTATR" */, 0x8818, true, false, {} }, // 141
5558 { 1875 /* "TRCVIPCSSCTLR" */, 0x881A, true, true, {} }, // 142
5559 { 1889 /* "TRCCNTRLDVR3" */, 0x881D, true, true, {} }, // 143
5560 { 1902 /* "TRCIDR11" */, 0x881E, true, false, {} }, // 144
5561 { 1911 /* "TRCIMSPEC3" */, 0x881F, true, true, {} }, // 145
5562 { 1922 /* "TRCCONFIGR" */, 0x8820, true, true, {} }, // 146
5563 { 1933 /* "TRCCNTCTLR0" */, 0x8825, true, true, {} }, // 147
5564 { 1945 /* "TRCIDR12" */, 0x8826, true, false, {} }, // 148
5565 { 1954 /* "TRCIMSPEC4" */, 0x8827, true, true, {} }, // 149
5566 { 1965 /* "TRCCNTCTLR1" */, 0x882D, true, true, {} }, // 150
5567 { 1977 /* "TRCIDR13" */, 0x882E, true, false, {} }, // 151
5568 { 1986 /* "TRCIMSPEC5" */, 0x882F, true, true, {} }, // 152
5569 { 1997 /* "TRCAUXCTLR" */, 0x8830, true, true, {} }, // 153
5570 { 2008 /* "TRCSEQRSTEVR" */, 0x8834, true, true, {} }, // 154
5571 { 2021 /* "TRCCNTCTLR2" */, 0x8835, true, true, {} }, // 155
5572 { 2033 /* "TRCIMSPEC6" */, 0x8837, true, true, {} }, // 156
5573 { 2044 /* "TRCSEQSTR" */, 0x883C, true, true, {} }, // 157
5574 { 2054 /* "TRCCNTCTLR3" */, 0x883D, true, true, {} }, // 158
5575 { 2066 /* "TRCIMSPEC7" */, 0x883F, true, true, {} }, // 159
5576 { 2077 /* "TRCEVENTCTL0R" */, 0x8840, true, true, {} }, // 160
5577 { 2091 /* "TRCVDCTLR" */, 0x8842, true, true, {} }, // 161
5578 { 2101 /* "TRCEXTINSELR" */, 0x8844, true, true, {} }, // 162
5579 { 2114 /* "TRCEXTINSELR0" */, 0x8844, true, true, {AArch64::FeatureETE} }, // 163
5580 { 2128 /* "TRCCNTVR0" */, 0x8845, true, true, {} }, // 164
5581 { 2138 /* "TRCIDR0" */, 0x8847, true, false, {} }, // 165
5582 { 2146 /* "TRCEVENTCTL1R" */, 0x8848, true, true, {} }, // 166
5583 { 2160 /* "TRCVDSACCTLR" */, 0x884A, true, true, {} }, // 167
5584 { 2173 /* "TRCEXTINSELR1" */, 0x884C, true, true, {AArch64::FeatureETE} }, // 168
5585 { 2187 /* "TRCCNTVR1" */, 0x884D, true, true, {} }, // 169
5586 { 2197 /* "TRCIDR1" */, 0x884F, true, false, {} }, // 170
5587 { 2205 /* "TRCRSR" */, 0x8850, true, true, {AArch64::FeatureETE} }, // 171
5588 { 2212 /* "TRCVDARCCTLR" */, 0x8852, true, true, {} }, // 172
5589 { 2225 /* "TRCEXTINSELR2" */, 0x8854, true, true, {AArch64::FeatureETE} }, // 173
5590 { 2239 /* "TRCCNTVR2" */, 0x8855, true, true, {} }, // 174
5591 { 2249 /* "TRCIDR2" */, 0x8857, true, false, {} }, // 175
5592 { 2257 /* "TRCSTALLCTLR" */, 0x8858, true, true, {} }, // 176
5593 { 2270 /* "TRCEXTINSELR3" */, 0x885C, true, true, {AArch64::FeatureETE} }, // 177
5594 { 2284 /* "TRCCNTVR3" */, 0x885D, true, true, {} }, // 178
5595 { 2294 /* "TRCIDR3" */, 0x885F, true, false, {} }, // 179
5596 { 2302 /* "TRCTSCTLR" */, 0x8860, true, true, {} }, // 180
5597 { 2312 /* "TRCIDR4" */, 0x8867, true, false, {} }, // 181
5598 { 2320 /* "TRCSYNCPR" */, 0x8868, true, true, {} }, // 182
5599 { 2330 /* "TRCIDR5" */, 0x886F, true, false, {} }, // 183
5600 { 2338 /* "TRCCCCTLR" */, 0x8870, true, true, {} }, // 184
5601 { 2348 /* "TRCIDR6" */, 0x8877, true, false, {} }, // 185
5602 { 2356 /* "TRCBBCTLR" */, 0x8878, true, true, {} }, // 186
5603 { 2366 /* "TRCIDR7" */, 0x887F, true, false, {} }, // 187
5604 { 2374 /* "TRCRSCTLR16" */, 0x8881, true, true, {} }, // 188
5605 { 2386 /* "TRCSSCCR0" */, 0x8882, true, true, {} }, // 189
5606 { 2396 /* "TRCSSPCICR0" */, 0x8883, true, true, {} }, // 190
5607 { 2408 /* "TRCOSLAR" */, 0x8884, false, true, {} }, // 191
5608 { 2417 /* "TRCRSCTLR17" */, 0x8889, true, true, {} }, // 192
5609 { 2429 /* "TRCSSCCR1" */, 0x888A, true, true, {} }, // 193
5610 { 2439 /* "TRCSSPCICR1" */, 0x888B, true, true, {} }, // 194
5611 { 2451 /* "TRCOSLSR" */, 0x888C, true, false, {} }, // 195
5612 { 2460 /* "TRCRSCTLR2" */, 0x8890, true, true, {} }, // 196
5613 { 2471 /* "TRCRSCTLR18" */, 0x8891, true, true, {} }, // 197
5614 { 2483 /* "TRCSSCCR2" */, 0x8892, true, true, {} }, // 198
5615 { 2493 /* "TRCSSPCICR2" */, 0x8893, true, true, {} }, // 199
5616 { 2505 /* "TRCRSCTLR3" */, 0x8898, true, true, {} }, // 200
5617 { 2516 /* "TRCRSCTLR19" */, 0x8899, true, true, {} }, // 201
5618 { 2528 /* "TRCSSCCR3" */, 0x889A, true, true, {} }, // 202
5619 { 2538 /* "TRCSSPCICR3" */, 0x889B, true, true, {} }, // 203
5620 { 2550 /* "TRCRSCTLR4" */, 0x88A0, true, true, {} }, // 204
5621 { 2561 /* "TRCRSCTLR20" */, 0x88A1, true, true, {} }, // 205
5622 { 2573 /* "TRCSSCCR4" */, 0x88A2, true, true, {} }, // 206
5623 { 2583 /* "TRCSSPCICR4" */, 0x88A3, true, true, {} }, // 207
5624 { 2595 /* "TRCPDCR" */, 0x88A4, true, true, {} }, // 208
5625 { 2603 /* "TRCRSCTLR5" */, 0x88A8, true, true, {} }, // 209
5626 { 2614 /* "TRCRSCTLR21" */, 0x88A9, true, true, {} }, // 210
5627 { 2626 /* "TRCSSCCR5" */, 0x88AA, true, true, {} }, // 211
5628 { 2636 /* "TRCSSPCICR5" */, 0x88AB, true, true, {} }, // 212
5629 { 2648 /* "TRCPDSR" */, 0x88AC, true, false, {} }, // 213
5630 { 2656 /* "TRCRSCTLR6" */, 0x88B0, true, true, {} }, // 214
5631 { 2667 /* "TRCRSCTLR22" */, 0x88B1, true, true, {} }, // 215
5632 { 2679 /* "TRCSSCCR6" */, 0x88B2, true, true, {} }, // 216
5633 { 2689 /* "TRCSSPCICR6" */, 0x88B3, true, true, {} }, // 217
5634 { 2701 /* "TRCRSCTLR7" */, 0x88B8, true, true, {} }, // 218
5635 { 2712 /* "TRCRSCTLR23" */, 0x88B9, true, true, {} }, // 219
5636 { 2724 /* "TRCSSCCR7" */, 0x88BA, true, true, {} }, // 220
5637 { 2734 /* "TRCSSPCICR7" */, 0x88BB, true, true, {} }, // 221
5638 { 2746 /* "TRCRSCTLR8" */, 0x88C0, true, true, {} }, // 222
5639 { 2757 /* "TRCRSCTLR24" */, 0x88C1, true, true, {} }, // 223
5640 { 2769 /* "TRCSSCSR0" */, 0x88C2, true, true, {} }, // 224
5641 { 2779 /* "TRCRSCTLR9" */, 0x88C8, true, true, {} }, // 225
5642 { 2790 /* "TRCRSCTLR25" */, 0x88C9, true, true, {} }, // 226
5643 { 2802 /* "TRCSSCSR1" */, 0x88CA, true, true, {} }, // 227
5644 { 2812 /* "TRCRSCTLR10" */, 0x88D0, true, true, {} }, // 228
5645 { 2824 /* "TRCRSCTLR26" */, 0x88D1, true, true, {} }, // 229
5646 { 2836 /* "TRCSSCSR2" */, 0x88D2, true, true, {} }, // 230
5647 { 2846 /* "TRCRSCTLR11" */, 0x88D8, true, true, {} }, // 231
5648 { 2858 /* "TRCRSCTLR27" */, 0x88D9, true, true, {} }, // 232
5649 { 2870 /* "TRCSSCSR3" */, 0x88DA, true, true, {} }, // 233
5650 { 2880 /* "TRCRSCTLR12" */, 0x88E0, true, true, {} }, // 234
5651 { 2892 /* "TRCRSCTLR28" */, 0x88E1, true, true, {} }, // 235
5652 { 2904 /* "TRCSSCSR4" */, 0x88E2, true, true, {} }, // 236
5653 { 2914 /* "TRCRSCTLR13" */, 0x88E8, true, true, {} }, // 237
5654 { 2926 /* "TRCRSCTLR29" */, 0x88E9, true, true, {} }, // 238
5655 { 2938 /* "TRCSSCSR5" */, 0x88EA, true, true, {} }, // 239
5656 { 2948 /* "TRCRSCTLR14" */, 0x88F0, true, true, {} }, // 240
5657 { 2960 /* "TRCRSCTLR30" */, 0x88F1, true, true, {} }, // 241
5658 { 2972 /* "TRCSSCSR6" */, 0x88F2, true, true, {} }, // 242
5659 { 2982 /* "TRCRSCTLR15" */, 0x88F8, true, true, {} }, // 243
5660 { 2994 /* "TRCRSCTLR31" */, 0x88F9, true, true, {} }, // 244
5661 { 3006 /* "TRCSSCSR7" */, 0x88FA, true, true, {} }, // 245
5662 { 3016 /* "TRCACVR0" */, 0x8900, true, true, {} }, // 246
5663 { 3025 /* "TRCACVR8" */, 0x8901, true, true, {} }, // 247
5664 { 3034 /* "TRCACATR0" */, 0x8902, true, true, {} }, // 248
5665 { 3044 /* "TRCACATR8" */, 0x8903, true, true, {} }, // 249
5666 { 3054 /* "TRCDVCVR0" */, 0x8904, true, true, {} }, // 250
5667 { 3064 /* "TRCDVCVR4" */, 0x8905, true, true, {} }, // 251
5668 { 3074 /* "TRCDVCMR0" */, 0x8906, true, true, {} }, // 252
5669 { 3084 /* "TRCDVCMR4" */, 0x8907, true, true, {} }, // 253
5670 { 3094 /* "TRCACVR1" */, 0x8910, true, true, {} }, // 254
5671 { 3103 /* "TRCACVR9" */, 0x8911, true, true, {} }, // 255
5672 { 3112 /* "TRCACATR1" */, 0x8912, true, true, {} }, // 256
5673 { 3122 /* "TRCACATR9" */, 0x8913, true, true, {} }, // 257
5674 { 3132 /* "TRCACVR2" */, 0x8920, true, true, {} }, // 258
5675 { 3141 /* "TRCACVR10" */, 0x8921, true, true, {} }, // 259
5676 { 3151 /* "TRCACATR2" */, 0x8922, true, true, {} }, // 260
5677 { 3161 /* "TRCACATR10" */, 0x8923, true, true, {} }, // 261
5678 { 3172 /* "TRCDVCVR1" */, 0x8924, true, true, {} }, // 262
5679 { 3182 /* "TRCDVCVR5" */, 0x8925, true, true, {} }, // 263
5680 { 3192 /* "TRCDVCMR1" */, 0x8926, true, true, {} }, // 264
5681 { 3202 /* "TRCDVCMR5" */, 0x8927, true, true, {} }, // 265
5682 { 3212 /* "TRCACVR3" */, 0x8930, true, true, {} }, // 266
5683 { 3221 /* "TRCACVR11" */, 0x8931, true, true, {} }, // 267
5684 { 3231 /* "TRCACATR3" */, 0x8932, true, true, {} }, // 268
5685 { 3241 /* "TRCACATR11" */, 0x8933, true, true, {} }, // 269
5686 { 3252 /* "TRCACVR4" */, 0x8940, true, true, {} }, // 270
5687 { 3261 /* "TRCACVR12" */, 0x8941, true, true, {} }, // 271
5688 { 3271 /* "TRCACATR4" */, 0x8942, true, true, {} }, // 272
5689 { 3281 /* "TRCACATR12" */, 0x8943, true, true, {} }, // 273
5690 { 3292 /* "TRCDVCVR2" */, 0x8944, true, true, {} }, // 274
5691 { 3302 /* "TRCDVCVR6" */, 0x8945, true, true, {} }, // 275
5692 { 3312 /* "TRCDVCMR2" */, 0x8946, true, true, {} }, // 276
5693 { 3322 /* "TRCDVCMR6" */, 0x8947, true, true, {} }, // 277
5694 { 3332 /* "TRCACVR5" */, 0x8950, true, true, {} }, // 278
5695 { 3341 /* "TRCACVR13" */, 0x8951, true, true, {} }, // 279
5696 { 3351 /* "TRCACATR5" */, 0x8952, true, true, {} }, // 280
5697 { 3361 /* "TRCACATR13" */, 0x8953, true, true, {} }, // 281
5698 { 3372 /* "TRCACVR6" */, 0x8960, true, true, {} }, // 282
5699 { 3381 /* "TRCACVR14" */, 0x8961, true, true, {} }, // 283
5700 { 3391 /* "TRCACATR6" */, 0x8962, true, true, {} }, // 284
5701 { 3401 /* "TRCACATR14" */, 0x8963, true, true, {} }, // 285
5702 { 3412 /* "TRCDVCVR3" */, 0x8964, true, true, {} }, // 286
5703 { 3422 /* "TRCDVCVR7" */, 0x8965, true, true, {} }, // 287
5704 { 3432 /* "TRCDVCMR3" */, 0x8966, true, true, {} }, // 288
5705 { 3442 /* "TRCDVCMR7" */, 0x8967, true, true, {} }, // 289
5706 { 3452 /* "TRCACVR7" */, 0x8970, true, true, {} }, // 290
5707 { 3461 /* "TRCACVR15" */, 0x8971, true, true, {} }, // 291
5708 { 3471 /* "TRCACATR7" */, 0x8972, true, true, {} }, // 292
5709 { 3481 /* "TRCACATR15" */, 0x8973, true, true, {} }, // 293
5710 { 3492 /* "TRCCIDCVR0" */, 0x8980, true, true, {} }, // 294
5711 { 3503 /* "TRCVMIDCVR0" */, 0x8981, true, true, {} }, // 295
5712 { 3515 /* "TRCCIDCCTLR0" */, 0x8982, true, true, {} }, // 296
5713 { 3528 /* "TRCCIDCCTLR1" */, 0x898A, true, true, {} }, // 297
5714 { 3541 /* "TRCCIDCVR1" */, 0x8990, true, true, {} }, // 298
5715 { 3552 /* "TRCVMIDCVR1" */, 0x8991, true, true, {} }, // 299
5716 { 3564 /* "TRCVMIDCCTLR0" */, 0x8992, true, true, {} }, // 300
5717 { 3578 /* "TRCVMIDCCTLR1" */, 0x899A, true, true, {} }, // 301
5718 { 3592 /* "TRCCIDCVR2" */, 0x89A0, true, true, {} }, // 302
5719 { 3603 /* "TRCVMIDCVR2" */, 0x89A1, true, true, {} }, // 303
5720 { 3615 /* "TRCCIDCVR3" */, 0x89B0, true, true, {} }, // 304
5721 { 3626 /* "TRCVMIDCVR3" */, 0x89B1, true, true, {} }, // 305
5722 { 3638 /* "TRCCIDCVR4" */, 0x89C0, true, true, {} }, // 306
5723 { 3649 /* "TRCVMIDCVR4" */, 0x89C1, true, true, {} }, // 307
5724 { 3661 /* "TRCCIDCVR5" */, 0x89D0, true, true, {} }, // 308
5725 { 3672 /* "TRCVMIDCVR5" */, 0x89D1, true, true, {} }, // 309
5726 { 3684 /* "TRCCIDCVR6" */, 0x89E0, true, true, {} }, // 310
5727 { 3695 /* "TRCVMIDCVR6" */, 0x89E1, true, true, {} }, // 311
5728 { 3707 /* "TRCCIDCVR7" */, 0x89F0, true, true, {} }, // 312
5729 { 3718 /* "TRCVMIDCVR7" */, 0x89F1, true, true, {} }, // 313
5730 { 3730 /* "TRCITCTRL" */, 0x8B84, true, true, {} }, // 314
5731 { 3740 /* "TRCDEVID" */, 0x8B97, true, false, {} }, // 315
5732 { 3749 /* "TRCDEVTYPE" */, 0x8B9F, true, false, {} }, // 316
5733 { 3760 /* "TRCPIDR4" */, 0x8BA7, true, false, {} }, // 317
5734 { 3769 /* "TRCPIDR5" */, 0x8BAF, true, false, {} }, // 318
5735 { 3778 /* "TRCPIDR6" */, 0x8BB7, true, false, {} }, // 319
5736 { 3787 /* "TRCPIDR7" */, 0x8BBF, true, false, {} }, // 320
5737 { 3796 /* "TRCCLAIMSET" */, 0x8BC6, true, true, {} }, // 321
5738 { 3808 /* "TRCPIDR0" */, 0x8BC7, true, false, {} }, // 322
5739 { 3817 /* "TRCCLAIMCLR" */, 0x8BCE, true, true, {} }, // 323
5740 { 3829 /* "TRCPIDR1" */, 0x8BCF, true, false, {} }, // 324
5741 { 3838 /* "TRCDEVAFF0" */, 0x8BD6, true, false, {} }, // 325
5742 { 3849 /* "TRCPIDR2" */, 0x8BD7, true, false, {} }, // 326
5743 { 3858 /* "TRCDEVAFF1" */, 0x8BDE, true, false, {} }, // 327
5744 { 3869 /* "TRCPIDR3" */, 0x8BDF, true, false, {} }, // 328
5745 { 3878 /* "TRCLAR" */, 0x8BE6, false, true, {} }, // 329
5746 { 3885 /* "TRCCIDR0" */, 0x8BE7, true, false, {} }, // 330
5747 { 3894 /* "TRCLSR" */, 0x8BEE, true, false, {} }, // 331
5748 { 3901 /* "TRCCIDR1" */, 0x8BEF, true, false, {} }, // 332
5749 { 3910 /* "TRCAUTHSTATUS" */, 0x8BF6, true, false, {} }, // 333
5750 { 3924 /* "TRCCIDR2" */, 0x8BF7, true, false, {} }, // 334
5751 { 3933 /* "TRCDEVARCH" */, 0x8BFE, true, false, {} }, // 335
5752 { 3944 /* "TRCCIDR3" */, 0x8BFF, true, false, {} }, // 336
5753 { 3953 /* "BRBINF0_EL1" */, 0x8C00, true, false, {AArch64::FeatureBRBE} }, // 337
5754 { 3965 /* "BRBSRC0_EL1" */, 0x8C01, true, false, {AArch64::FeatureBRBE} }, // 338
5755 { 3977 /* "BRBTGT0_EL1" */, 0x8C02, true, false, {AArch64::FeatureBRBE} }, // 339
5756 { 3989 /* "BRBINF16_EL1" */, 0x8C04, true, false, {AArch64::FeatureBRBE} }, // 340
5757 { 4002 /* "BRBSRC16_EL1" */, 0x8C05, true, false, {AArch64::FeatureBRBE} }, // 341
5758 { 4015 /* "BRBTGT16_EL1" */, 0x8C06, true, false, {AArch64::FeatureBRBE} }, // 342
5759 { 4028 /* "BRBINF1_EL1" */, 0x8C08, true, false, {AArch64::FeatureBRBE} }, // 343
5760 { 4040 /* "BRBSRC1_EL1" */, 0x8C09, true, false, {AArch64::FeatureBRBE} }, // 344
5761 { 4052 /* "BRBTGT1_EL1" */, 0x8C0A, true, false, {AArch64::FeatureBRBE} }, // 345
5762 { 4064 /* "BRBINF17_EL1" */, 0x8C0C, true, false, {AArch64::FeatureBRBE} }, // 346
5763 { 4077 /* "BRBSRC17_EL1" */, 0x8C0D, true, false, {AArch64::FeatureBRBE} }, // 347
5764 { 4090 /* "BRBTGT17_EL1" */, 0x8C0E, true, false, {AArch64::FeatureBRBE} }, // 348
5765 { 4103 /* "BRBINF2_EL1" */, 0x8C10, true, false, {AArch64::FeatureBRBE} }, // 349
5766 { 4115 /* "BRBSRC2_EL1" */, 0x8C11, true, false, {AArch64::FeatureBRBE} }, // 350
5767 { 4127 /* "BRBTGT2_EL1" */, 0x8C12, true, false, {AArch64::FeatureBRBE} }, // 351
5768 { 4139 /* "BRBINF18_EL1" */, 0x8C14, true, false, {AArch64::FeatureBRBE} }, // 352
5769 { 4152 /* "BRBSRC18_EL1" */, 0x8C15, true, false, {AArch64::FeatureBRBE} }, // 353
5770 { 4165 /* "BRBTGT18_EL1" */, 0x8C16, true, false, {AArch64::FeatureBRBE} }, // 354
5771 { 4178 /* "BRBINF3_EL1" */, 0x8C18, true, false, {AArch64::FeatureBRBE} }, // 355
5772 { 4190 /* "BRBSRC3_EL1" */, 0x8C19, true, false, {AArch64::FeatureBRBE} }, // 356
5773 { 4202 /* "BRBTGT3_EL1" */, 0x8C1A, true, false, {AArch64::FeatureBRBE} }, // 357
5774 { 4214 /* "BRBINF19_EL1" */, 0x8C1C, true, false, {AArch64::FeatureBRBE} }, // 358
5775 { 4227 /* "BRBSRC19_EL1" */, 0x8C1D, true, false, {AArch64::FeatureBRBE} }, // 359
5776 { 4240 /* "BRBTGT19_EL1" */, 0x8C1E, true, false, {AArch64::FeatureBRBE} }, // 360
5777 { 4253 /* "BRBINF4_EL1" */, 0x8C20, true, false, {AArch64::FeatureBRBE} }, // 361
5778 { 4265 /* "BRBSRC4_EL1" */, 0x8C21, true, false, {AArch64::FeatureBRBE} }, // 362
5779 { 4277 /* "BRBTGT4_EL1" */, 0x8C22, true, false, {AArch64::FeatureBRBE} }, // 363
5780 { 4289 /* "BRBINF20_EL1" */, 0x8C24, true, false, {AArch64::FeatureBRBE} }, // 364
5781 { 4302 /* "BRBSRC20_EL1" */, 0x8C25, true, false, {AArch64::FeatureBRBE} }, // 365
5782 { 4315 /* "BRBTGT20_EL1" */, 0x8C26, true, false, {AArch64::FeatureBRBE} }, // 366
5783 { 4328 /* "BRBINF5_EL1" */, 0x8C28, true, false, {AArch64::FeatureBRBE} }, // 367
5784 { 4340 /* "BRBSRC5_EL1" */, 0x8C29, true, false, {AArch64::FeatureBRBE} }, // 368
5785 { 4352 /* "BRBTGT5_EL1" */, 0x8C2A, true, false, {AArch64::FeatureBRBE} }, // 369
5786 { 4364 /* "BRBINF21_EL1" */, 0x8C2C, true, false, {AArch64::FeatureBRBE} }, // 370
5787 { 4377 /* "BRBSRC21_EL1" */, 0x8C2D, true, false, {AArch64::FeatureBRBE} }, // 371
5788 { 4390 /* "BRBTGT21_EL1" */, 0x8C2E, true, false, {AArch64::FeatureBRBE} }, // 372
5789 { 4403 /* "BRBINF6_EL1" */, 0x8C30, true, false, {AArch64::FeatureBRBE} }, // 373
5790 { 4415 /* "BRBSRC6_EL1" */, 0x8C31, true, false, {AArch64::FeatureBRBE} }, // 374
5791 { 4427 /* "BRBTGT6_EL1" */, 0x8C32, true, false, {AArch64::FeatureBRBE} }, // 375
5792 { 4439 /* "BRBINF22_EL1" */, 0x8C34, true, false, {AArch64::FeatureBRBE} }, // 376
5793 { 4452 /* "BRBSRC22_EL1" */, 0x8C35, true, false, {AArch64::FeatureBRBE} }, // 377
5794 { 4465 /* "BRBTGT22_EL1" */, 0x8C36, true, false, {AArch64::FeatureBRBE} }, // 378
5795 { 4478 /* "BRBINF7_EL1" */, 0x8C38, true, false, {AArch64::FeatureBRBE} }, // 379
5796 { 4490 /* "BRBSRC7_EL1" */, 0x8C39, true, false, {AArch64::FeatureBRBE} }, // 380
5797 { 4502 /* "BRBTGT7_EL1" */, 0x8C3A, true, false, {AArch64::FeatureBRBE} }, // 381
5798 { 4514 /* "BRBINF23_EL1" */, 0x8C3C, true, false, {AArch64::FeatureBRBE} }, // 382
5799 { 4527 /* "BRBSRC23_EL1" */, 0x8C3D, true, false, {AArch64::FeatureBRBE} }, // 383
5800 { 4540 /* "BRBTGT23_EL1" */, 0x8C3E, true, false, {AArch64::FeatureBRBE} }, // 384
5801 { 4553 /* "BRBINF8_EL1" */, 0x8C40, true, false, {AArch64::FeatureBRBE} }, // 385
5802 { 4565 /* "BRBSRC8_EL1" */, 0x8C41, true, false, {AArch64::FeatureBRBE} }, // 386
5803 { 4577 /* "BRBTGT8_EL1" */, 0x8C42, true, false, {AArch64::FeatureBRBE} }, // 387
5804 { 4589 /* "BRBINF24_EL1" */, 0x8C44, true, false, {AArch64::FeatureBRBE} }, // 388
5805 { 4602 /* "BRBSRC24_EL1" */, 0x8C45, true, false, {AArch64::FeatureBRBE} }, // 389
5806 { 4615 /* "BRBTGT24_EL1" */, 0x8C46, true, false, {AArch64::FeatureBRBE} }, // 390
5807 { 4628 /* "BRBINF9_EL1" */, 0x8C48, true, false, {AArch64::FeatureBRBE} }, // 391
5808 { 4640 /* "BRBSRC9_EL1" */, 0x8C49, true, false, {AArch64::FeatureBRBE} }, // 392
5809 { 4652 /* "BRBTGT9_EL1" */, 0x8C4A, true, false, {AArch64::FeatureBRBE} }, // 393
5810 { 4664 /* "BRBINF25_EL1" */, 0x8C4C, true, false, {AArch64::FeatureBRBE} }, // 394
5811 { 4677 /* "BRBSRC25_EL1" */, 0x8C4D, true, false, {AArch64::FeatureBRBE} }, // 395
5812 { 4690 /* "BRBTGT25_EL1" */, 0x8C4E, true, false, {AArch64::FeatureBRBE} }, // 396
5813 { 4703 /* "BRBINF10_EL1" */, 0x8C50, true, false, {AArch64::FeatureBRBE} }, // 397
5814 { 4716 /* "BRBSRC10_EL1" */, 0x8C51, true, false, {AArch64::FeatureBRBE} }, // 398
5815 { 4729 /* "BRBTGT10_EL1" */, 0x8C52, true, false, {AArch64::FeatureBRBE} }, // 399
5816 { 4742 /* "BRBINF26_EL1" */, 0x8C54, true, false, {AArch64::FeatureBRBE} }, // 400
5817 { 4755 /* "BRBSRC26_EL1" */, 0x8C55, true, false, {AArch64::FeatureBRBE} }, // 401
5818 { 4768 /* "BRBTGT26_EL1" */, 0x8C56, true, false, {AArch64::FeatureBRBE} }, // 402
5819 { 4781 /* "BRBINF11_EL1" */, 0x8C58, true, false, {AArch64::FeatureBRBE} }, // 403
5820 { 4794 /* "BRBSRC11_EL1" */, 0x8C59, true, false, {AArch64::FeatureBRBE} }, // 404
5821 { 4807 /* "BRBTGT11_EL1" */, 0x8C5A, true, false, {AArch64::FeatureBRBE} }, // 405
5822 { 4820 /* "BRBINF27_EL1" */, 0x8C5C, true, false, {AArch64::FeatureBRBE} }, // 406
5823 { 4833 /* "BRBSRC27_EL1" */, 0x8C5D, true, false, {AArch64::FeatureBRBE} }, // 407
5824 { 4846 /* "BRBTGT27_EL1" */, 0x8C5E, true, false, {AArch64::FeatureBRBE} }, // 408
5825 { 4859 /* "BRBINF12_EL1" */, 0x8C60, true, false, {AArch64::FeatureBRBE} }, // 409
5826 { 4872 /* "BRBSRC12_EL1" */, 0x8C61, true, false, {AArch64::FeatureBRBE} }, // 410
5827 { 4885 /* "BRBTGT12_EL1" */, 0x8C62, true, false, {AArch64::FeatureBRBE} }, // 411
5828 { 4898 /* "BRBINF28_EL1" */, 0x8C64, true, false, {AArch64::FeatureBRBE} }, // 412
5829 { 4911 /* "BRBSRC28_EL1" */, 0x8C65, true, false, {AArch64::FeatureBRBE} }, // 413
5830 { 4924 /* "BRBTGT28_EL1" */, 0x8C66, true, false, {AArch64::FeatureBRBE} }, // 414
5831 { 4937 /* "BRBINF13_EL1" */, 0x8C68, true, false, {AArch64::FeatureBRBE} }, // 415
5832 { 4950 /* "BRBSRC13_EL1" */, 0x8C69, true, false, {AArch64::FeatureBRBE} }, // 416
5833 { 4963 /* "BRBTGT13_EL1" */, 0x8C6A, true, false, {AArch64::FeatureBRBE} }, // 417
5834 { 4976 /* "BRBINF29_EL1" */, 0x8C6C, true, false, {AArch64::FeatureBRBE} }, // 418
5835 { 4989 /* "BRBSRC29_EL1" */, 0x8C6D, true, false, {AArch64::FeatureBRBE} }, // 419
5836 { 5002 /* "BRBTGT29_EL1" */, 0x8C6E, true, false, {AArch64::FeatureBRBE} }, // 420
5837 { 5015 /* "BRBINF14_EL1" */, 0x8C70, true, false, {AArch64::FeatureBRBE} }, // 421
5838 { 5028 /* "BRBSRC14_EL1" */, 0x8C71, true, false, {AArch64::FeatureBRBE} }, // 422
5839 { 5041 /* "BRBTGT14_EL1" */, 0x8C72, true, false, {AArch64::FeatureBRBE} }, // 423
5840 { 5054 /* "BRBINF30_EL1" */, 0x8C74, true, false, {AArch64::FeatureBRBE} }, // 424
5841 { 5067 /* "BRBSRC30_EL1" */, 0x8C75, true, false, {AArch64::FeatureBRBE} }, // 425
5842 { 5080 /* "BRBTGT30_EL1" */, 0x8C76, true, false, {AArch64::FeatureBRBE} }, // 426
5843 { 5093 /* "BRBINF15_EL1" */, 0x8C78, true, false, {AArch64::FeatureBRBE} }, // 427
5844 { 5106 /* "BRBSRC15_EL1" */, 0x8C79, true, false, {AArch64::FeatureBRBE} }, // 428
5845 { 5119 /* "BRBTGT15_EL1" */, 0x8C7A, true, false, {AArch64::FeatureBRBE} }, // 429
5846 { 5132 /* "BRBINF31_EL1" */, 0x8C7C, true, false, {AArch64::FeatureBRBE} }, // 430
5847 { 5145 /* "BRBSRC31_EL1" */, 0x8C7D, true, false, {AArch64::FeatureBRBE} }, // 431
5848 { 5158 /* "BRBTGT31_EL1" */, 0x8C7E, true, false, {AArch64::FeatureBRBE} }, // 432
5849 { 5171 /* "BRBCR_EL1" */, 0x8C80, true, true, {AArch64::FeatureBRBE} }, // 433
5850 { 5181 /* "BRBFCR_EL1" */, 0x8C81, true, true, {AArch64::FeatureBRBE} }, // 434
5851 { 5192 /* "BRBTS_EL1" */, 0x8C82, true, true, {AArch64::FeatureBRBE} }, // 435
5852 { 5202 /* "BRBINFINJ_EL1" */, 0x8C88, true, true, {AArch64::FeatureBRBE} }, // 436
5853 { 5216 /* "BRBSRCINJ_EL1" */, 0x8C89, true, true, {AArch64::FeatureBRBE} }, // 437
5854 { 5230 /* "BRBTGTINJ_EL1" */, 0x8C8A, true, true, {AArch64::FeatureBRBE} }, // 438
5855 { 5244 /* "BRBIDR0_EL1" */, 0x8C90, true, false, {AArch64::FeatureBRBE} }, // 439
5856 { 5256 /* "TEECR32_EL1" */, 0x9000, true, true, {} }, // 440
5857 { 5268 /* "TEEHBR32_EL1" */, 0x9080, true, true, {} }, // 441
5858 { 5281 /* "MDCCSR_EL0" */, 0x9808, true, false, {} }, // 442
5859 { 5292 /* "DBGDTR_EL0" */, 0x9820, true, true, {} }, // 443
5860 { 5303 /* "DBGDTRRX_EL0" */, 0x9828, true, false, {} }, // 444
5861 { 5316 /* "DBGDTRTX_EL0" */, 0x9828, false, true, {} }, // 445
5862 { 5329 /* "SPMCR_EL0" */, 0x9CE0, true, true, {} }, // 446
5863 { 5339 /* "SPMCNTENSET_EL0" */, 0x9CE1, true, true, {} }, // 447
5864 { 5355 /* "SPMCNTENCLR_EL0" */, 0x9CE2, true, true, {} }, // 448
5865 { 5371 /* "SPMOVSCLR_EL0" */, 0x9CE3, true, true, {} }, // 449
5866 { 5385 /* "SPMZR_EL0" */, 0x9CE4, false, true, {} }, // 450
5867 { 5395 /* "SPMSELR_EL0" */, 0x9CE5, true, true, {} }, // 451
5868 { 5407 /* "SPMOVSSET_EL0" */, 0x9CF3, true, true, {} }, // 452
5869 { 5421 /* "SPMEVCNTR0_EL0" */, 0x9F00, true, true, {} }, // 453
5870 { 5436 /* "SPMEVCNTR1_EL0" */, 0x9F01, true, true, {} }, // 454
5871 { 5451 /* "SPMEVCNTR2_EL0" */, 0x9F02, true, true, {} }, // 455
5872 { 5466 /* "SPMEVCNTR3_EL0" */, 0x9F03, true, true, {} }, // 456
5873 { 5481 /* "SPMEVCNTR4_EL0" */, 0x9F04, true, true, {} }, // 457
5874 { 5496 /* "SPMEVCNTR5_EL0" */, 0x9F05, true, true, {} }, // 458
5875 { 5511 /* "SPMEVCNTR6_EL0" */, 0x9F06, true, true, {} }, // 459
5876 { 5526 /* "SPMEVCNTR7_EL0" */, 0x9F07, true, true, {} }, // 460
5877 { 5541 /* "SPMEVCNTR8_EL0" */, 0x9F08, true, true, {} }, // 461
5878 { 5556 /* "SPMEVCNTR9_EL0" */, 0x9F09, true, true, {} }, // 462
5879 { 5571 /* "SPMEVCNTR10_EL0" */, 0x9F0A, true, true, {} }, // 463
5880 { 5587 /* "SPMEVCNTR11_EL0" */, 0x9F0B, true, true, {} }, // 464
5881 { 5603 /* "SPMEVCNTR12_EL0" */, 0x9F0C, true, true, {} }, // 465
5882 { 5619 /* "SPMEVCNTR13_EL0" */, 0x9F0D, true, true, {} }, // 466
5883 { 5635 /* "SPMEVCNTR14_EL0" */, 0x9F0E, true, true, {} }, // 467
5884 { 5651 /* "SPMEVCNTR15_EL0" */, 0x9F0F, true, true, {} }, // 468
5885 { 5667 /* "SPMEVTYPER0_EL0" */, 0x9F10, true, true, {} }, // 469
5886 { 5683 /* "SPMEVTYPER1_EL0" */, 0x9F11, true, true, {} }, // 470
5887 { 5699 /* "SPMEVTYPER2_EL0" */, 0x9F12, true, true, {} }, // 471
5888 { 5715 /* "SPMEVTYPER3_EL0" */, 0x9F13, true, true, {} }, // 472
5889 { 5731 /* "SPMEVTYPER4_EL0" */, 0x9F14, true, true, {} }, // 473
5890 { 5747 /* "SPMEVTYPER5_EL0" */, 0x9F15, true, true, {} }, // 474
5891 { 5763 /* "SPMEVTYPER6_EL0" */, 0x9F16, true, true, {} }, // 475
5892 { 5779 /* "SPMEVTYPER7_EL0" */, 0x9F17, true, true, {} }, // 476
5893 { 5795 /* "SPMEVTYPER8_EL0" */, 0x9F18, true, true, {} }, // 477
5894 { 5811 /* "SPMEVTYPER9_EL0" */, 0x9F19, true, true, {} }, // 478
5895 { 5827 /* "SPMEVTYPER10_EL0" */, 0x9F1A, true, true, {} }, // 479
5896 { 5844 /* "SPMEVTYPER11_EL0" */, 0x9F1B, true, true, {} }, // 480
5897 { 5861 /* "SPMEVTYPER12_EL0" */, 0x9F1C, true, true, {} }, // 481
5898 { 5878 /* "SPMEVTYPER13_EL0" */, 0x9F1D, true, true, {} }, // 482
5899 { 5895 /* "SPMEVTYPER14_EL0" */, 0x9F1E, true, true, {} }, // 483
5900 { 5912 /* "SPMEVTYPER15_EL0" */, 0x9F1F, true, true, {} }, // 484
5901 { 5929 /* "SPMEVFILTR0_EL0" */, 0x9F20, true, true, {} }, // 485
5902 { 5945 /* "SPMEVFILTR1_EL0" */, 0x9F21, true, true, {} }, // 486
5903 { 5961 /* "SPMEVFILTR2_EL0" */, 0x9F22, true, true, {} }, // 487
5904 { 5977 /* "SPMEVFILTR3_EL0" */, 0x9F23, true, true, {} }, // 488
5905 { 5993 /* "SPMEVFILTR4_EL0" */, 0x9F24, true, true, {} }, // 489
5906 { 6009 /* "SPMEVFILTR5_EL0" */, 0x9F25, true, true, {} }, // 490
5907 { 6025 /* "SPMEVFILTR6_EL0" */, 0x9F26, true, true, {} }, // 491
5908 { 6041 /* "SPMEVFILTR7_EL0" */, 0x9F27, true, true, {} }, // 492
5909 { 6057 /* "SPMEVFILTR8_EL0" */, 0x9F28, true, true, {} }, // 493
5910 { 6073 /* "SPMEVFILTR9_EL0" */, 0x9F29, true, true, {} }, // 494
5911 { 6089 /* "SPMEVFILTR10_EL0" */, 0x9F2A, true, true, {} }, // 495
5912 { 6106 /* "SPMEVFILTR11_EL0" */, 0x9F2B, true, true, {} }, // 496
5913 { 6123 /* "SPMEVFILTR12_EL0" */, 0x9F2C, true, true, {} }, // 497
5914 { 6140 /* "SPMEVFILTR13_EL0" */, 0x9F2D, true, true, {} }, // 498
5915 { 6157 /* "SPMEVFILTR14_EL0" */, 0x9F2E, true, true, {} }, // 499
5916 { 6174 /* "SPMEVFILTR15_EL0" */, 0x9F2F, true, true, {} }, // 500
5917 { 6191 /* "SPMEVFILT2R0_EL0" */, 0x9F30, true, true, {} }, // 501
5918 { 6208 /* "SPMEVFILT2R1_EL0" */, 0x9F31, true, true, {} }, // 502
5919 { 6225 /* "SPMEVFILT2R2_EL0" */, 0x9F32, true, true, {} }, // 503
5920 { 6242 /* "SPMEVFILT2R3_EL0" */, 0x9F33, true, true, {} }, // 504
5921 { 6259 /* "SPMEVFILT2R4_EL0" */, 0x9F34, true, true, {} }, // 505
5922 { 6276 /* "SPMEVFILT2R5_EL0" */, 0x9F35, true, true, {} }, // 506
5923 { 6293 /* "SPMEVFILT2R6_EL0" */, 0x9F36, true, true, {} }, // 507
5924 { 6310 /* "SPMEVFILT2R7_EL0" */, 0x9F37, true, true, {} }, // 508
5925 { 6327 /* "SPMEVFILT2R8_EL0" */, 0x9F38, true, true, {} }, // 509
5926 { 6344 /* "SPMEVFILT2R9_EL0" */, 0x9F39, true, true, {} }, // 510
5927 { 6361 /* "SPMEVFILT2R10_EL0" */, 0x9F3A, true, true, {} }, // 511
5928 { 6379 /* "SPMEVFILT2R11_EL0" */, 0x9F3B, true, true, {} }, // 512
5929 { 6397 /* "SPMEVFILT2R12_EL0" */, 0x9F3C, true, true, {} }, // 513
5930 { 6415 /* "SPMEVFILT2R13_EL0" */, 0x9F3D, true, true, {} }, // 514
5931 { 6433 /* "SPMEVFILT2R14_EL0" */, 0x9F3E, true, true, {} }, // 515
5932 { 6451 /* "SPMEVFILT2R15_EL0" */, 0x9F3F, true, true, {} }, // 516
5933 { 6469 /* "DBGVCR32_EL2" */, 0xA038, true, true, {} }, // 517
5934 { 6482 /* "BRBCR_EL2" */, 0xA480, true, true, {AArch64::FeatureBRBE} }, // 518
5935 { 6492 /* "SPMACCESSR_EL2" */, 0xA4EB, true, true, {} }, // 519
5936 { 6507 /* "BRBCR_EL12" */, 0xAC80, true, true, {AArch64::FeatureBRBE} }, // 520
5937 { 6518 /* "SPMACCESSR_EL12" */, 0xACEB, true, true, {} }, // 521
5938 { 6534 /* "SPMACCESSR_EL3" */, 0xB4EB, true, true, {} }, // 522
5939 { 6549 /* "SPMROOTCR_EL3" */, 0xB4F7, true, true, {} }, // 523
5940 { 6563 /* "SPMSCR_EL1" */, 0xBCF7, true, true, {} }, // 524
5941 { 6574 /* "MIDR_EL1" */, 0xC000, true, false, {} }, // 525
5942 { 6583 /* "MPUIR_EL1" */, 0xC004, true, true, {AArch64::HasV8_0rOps} }, // 526
5943 { 6593 /* "MPIDR_EL1" */, 0xC005, true, false, {} }, // 527
5944 { 6603 /* "REVIDR_EL1" */, 0xC006, true, false, {} }, // 528
5945 { 6614 /* "ID_PFR0_EL1" */, 0xC008, true, false, {} }, // 529
5946 { 6626 /* "ID_PFR1_EL1" */, 0xC009, true, false, {} }, // 530
5947 { 6638 /* "ID_DFR0_EL1" */, 0xC00A, true, false, {} }, // 531
5948 { 6650 /* "ID_AFR0_EL1" */, 0xC00B, true, false, {} }, // 532
5949 { 6662 /* "ID_MMFR0_EL1" */, 0xC00C, true, false, {} }, // 533
5950 { 6675 /* "ID_MMFR1_EL1" */, 0xC00D, true, false, {} }, // 534
5951 { 6688 /* "ID_MMFR2_EL1" */, 0xC00E, true, false, {} }, // 535
5952 { 6701 /* "ID_MMFR3_EL1" */, 0xC00F, true, false, {} }, // 536
5953 { 6714 /* "ID_ISAR0_EL1" */, 0xC010, true, false, {} }, // 537
5954 { 6727 /* "ID_ISAR1_EL1" */, 0xC011, true, false, {} }, // 538
5955 { 6740 /* "ID_ISAR2_EL1" */, 0xC012, true, false, {} }, // 539
5956 { 6753 /* "ID_ISAR3_EL1" */, 0xC013, true, false, {} }, // 540
5957 { 6766 /* "ID_ISAR4_EL1" */, 0xC014, true, false, {} }, // 541
5958 { 6779 /* "ID_ISAR5_EL1" */, 0xC015, true, false, {} }, // 542
5959 { 6792 /* "ID_MMFR4_EL1" */, 0xC016, true, false, {} }, // 543
5960 { 6805 /* "ID_ISAR6_EL1" */, 0xC017, true, false, {AArch64::HasV8_2aOps} }, // 544
5961 { 6818 /* "MVFR0_EL1" */, 0xC018, true, false, {} }, // 545
5962 { 6828 /* "MVFR1_EL1" */, 0xC019, true, false, {} }, // 546
5963 { 6838 /* "MVFR2_EL1" */, 0xC01A, true, false, {} }, // 547
5964 { 6848 /* "ID_PFR2_EL1" */, 0xC01C, true, false, {AArch64::FeatureSpecRestrict} }, // 548
5965 { 6860 /* "ID_DFR1_EL1" */, 0xC01D, true, false, {} }, // 549
5966 { 6872 /* "ID_MMFR5_EL1" */, 0xC01E, true, false, {} }, // 550
5967 { 6885 /* "ID_AA64PFR0_EL1" */, 0xC020, true, false, {} }, // 551
5968 { 6901 /* "ID_AA64PFR1_EL1" */, 0xC021, true, false, {} }, // 552
5969 { 6917 /* "ID_AA64PFR2_EL1" */, 0xC022, true, false, {} }, // 553
5970 { 6933 /* "ID_AA64ZFR0_EL1" */, 0xC024, true, false, {AArch64::FeatureSVE} }, // 554
5971 { 6949 /* "ID_AA64SMFR0_EL1" */, 0xC025, true, false, {AArch64::FeatureSME} }, // 555
5972 { 6966 /* "ID_AA64FPFR0_EL1" */, 0xC027, true, false, {} }, // 556
5973 { 6983 /* "ID_AA64DFR0_EL1" */, 0xC028, true, false, {} }, // 557
5974 { 6999 /* "ID_AA64DFR1_EL1" */, 0xC029, true, false, {} }, // 558
5975 { 7015 /* "ID_AA64DFR2_EL1" */, 0xC02A, true, false, {} }, // 559
5976 { 7031 /* "ID_AA64AFR0_EL1" */, 0xC02C, true, false, {} }, // 560
5977 { 7047 /* "ID_AA64AFR1_EL1" */, 0xC02D, true, false, {} }, // 561
5978 { 7063 /* "ID_AA64ISAR0_EL1" */, 0xC030, true, false, {} }, // 562
5979 { 7080 /* "ID_AA64ISAR1_EL1" */, 0xC031, true, false, {} }, // 563
5980 { 7097 /* "ID_AA64ISAR2_EL1" */, 0xC032, true, false, {} }, // 564
5981 { 7114 /* "ID_AA64ISAR3_EL1" */, 0xC033, true, false, {} }, // 565
5982 { 7131 /* "ID_AA64MMFR0_EL1" */, 0xC038, true, false, {} }, // 566
5983 { 7148 /* "ID_AA64MMFR1_EL1" */, 0xC039, true, false, {} }, // 567
5984 { 7165 /* "ID_AA64MMFR2_EL1" */, 0xC03A, true, false, {} }, // 568
5985 { 7182 /* "ID_AA64MMFR3_EL1" */, 0xC03B, true, false, {} }, // 569
5986 { 7199 /* "ID_AA64MMFR4_EL1" */, 0xC03C, true, false, {} }, // 570
5987 { 7216 /* "SCTLR_EL1" */, 0xC080, true, true, {} }, // 571
5988 { 7226 /* "ACTLR_EL1" */, 0xC081, true, true, {} }, // 572
5989 { 7236 /* "CPACR_EL1" */, 0xC082, true, true, {} }, // 573
5990 { 7246 /* "SCTLR2_EL1" */, 0xC083, true, true, {} }, // 574
5991 { 7257 /* "RGSR_EL1" */, 0xC085, true, true, {AArch64::FeatureMTE} }, // 575
5992 { 7266 /* "GCR_EL1" */, 0xC086, true, true, {AArch64::FeatureMTE} }, // 576
5993 { 7274 /* "ZCR_EL1" */, 0xC090, true, true, {AArch64::FeatureSVE} }, // 577
5994 { 7282 /* "TRFCR_EL1" */, 0xC091, true, true, {AArch64::FeatureTRACEV8_4} }, // 578
5995 { 7292 /* "TRCITECR_EL1" */, 0xC093, true, true, {AArch64::FeatureITE} }, // 579
5996 { 7305 /* "SMPRI_EL1" */, 0xC094, true, true, {AArch64::FeatureSME} }, // 580
5997 { 7315 /* "SMCR_EL1" */, 0xC096, true, true, {AArch64::FeatureSME} }, // 581
5998 { 7324 /* "SCTLRMASK_EL1" */, 0xC0A0, true, true, {} }, // 582
5999 { 7338 /* "ACTLRMASK_EL1" */, 0xC0A1, true, true, {} }, // 583
6000 { 7352 /* "CPACRMASK_EL1" */, 0xC0A2, true, true, {} }, // 584
6001 { 7366 /* "SCTLR2MASK_EL1" */, 0xC0A3, true, true, {} }, // 585
6002 { 7381 /* "CPACRALIAS_EL1" */, 0xC0A4, true, true, {} }, // 586
6003 { 7396 /* "ACTLRALIAS_EL1" */, 0xC0A5, true, true, {} }, // 587
6004 { 7411 /* "SCTLRALIAS_EL1" */, 0xC0A6, true, true, {} }, // 588
6005 { 7426 /* "SCTLR2ALIAS_EL1" */, 0xC0A7, true, true, {} }, // 589
6006 { 7442 /* "TTBR0_EL1" */, 0xC100, true, true, {} }, // 590
6007 { 7452 /* "TTBR1_EL1" */, 0xC101, true, true, {} }, // 591
6008 { 7462 /* "TCR_EL1" */, 0xC102, true, true, {} }, // 592
6009 { 7470 /* "TCR2_EL1" */, 0xC103, true, true, {} }, // 593
6010 { 7479 /* "IRTBRU_EL1" */, 0xC104, true, true, {} }, // 594
6011 { 7490 /* "IRTBRP_EL1" */, 0xC105, true, true, {} }, // 595
6012 { 7501 /* "DPOTBR0_EL1" */, 0xC106, true, true, {} }, // 596
6013 { 7513 /* "DPOTBR1_EL1" */, 0xC107, true, true, {} }, // 597
6014 { 7525 /* "APIAKeyLo_EL1" */, 0xC108, true, true, {AArch64::FeaturePAuth} }, // 598
6015 { 7539 /* "APIAKeyHi_EL1" */, 0xC109, true, true, {AArch64::FeaturePAuth} }, // 599
6016 { 7553 /* "APIBKeyLo_EL1" */, 0xC10A, true, true, {AArch64::FeaturePAuth} }, // 600
6017 { 7567 /* "APIBKeyHi_EL1" */, 0xC10B, true, true, {AArch64::FeaturePAuth} }, // 601
6018 { 7581 /* "LDSTT_EL1" */, 0xC10F, true, true, {} }, // 602
6019 { 7591 /* "APDAKeyLo_EL1" */, 0xC110, true, true, {AArch64::FeaturePAuth} }, // 603
6020 { 7605 /* "APDAKeyHi_EL1" */, 0xC111, true, true, {AArch64::FeaturePAuth} }, // 604
6021 { 7619 /* "APDBKeyLo_EL1" */, 0xC112, true, true, {AArch64::FeaturePAuth} }, // 605
6022 { 7633 /* "APDBKeyHi_EL1" */, 0xC113, true, true, {AArch64::FeaturePAuth} }, // 606
6023 { 7647 /* "TPCR0_EL1" */, 0xC114, true, true, {} }, // 607
6024 { 7657 /* "TPCR1_EL1" */, 0xC115, true, true, {} }, // 608
6025 { 7667 /* "APGAKeyLo_EL1" */, 0xC118, true, true, {AArch64::FeaturePAuth} }, // 609
6026 { 7681 /* "APGAKeyHi_EL1" */, 0xC119, true, true, {AArch64::FeaturePAuth} }, // 610
6027 { 7695 /* "GCSCR_EL1" */, 0xC128, true, true, {} }, // 611
6028 { 7705 /* "GCSPR_EL1" */, 0xC129, true, true, {} }, // 612
6029 { 7715 /* "GCSCRE0_EL1" */, 0xC12A, true, true, {} }, // 613
6030 { 7727 /* "TCRMASK_EL1" */, 0xC13A, true, true, {} }, // 614
6031 { 7739 /* "TCR2MASK_EL1" */, 0xC13B, true, true, {} }, // 615
6032 { 7752 /* "TCRALIAS_EL1" */, 0xC13E, true, true, {} }, // 616
6033 { 7765 /* "TCR2ALIAS_EL1" */, 0xC13F, true, true, {} }, // 617
6034 { 7779 /* "FGDTP0_EL1" */, 0xC190, true, true, {} }, // 618
6035 { 7790 /* "FGDTP1_EL1" */, 0xC191, true, true, {} }, // 619
6036 { 7801 /* "FGDTP2_EL1" */, 0xC192, true, true, {} }, // 620
6037 { 7812 /* "FGDTP3_EL1" */, 0xC193, true, true, {} }, // 621
6038 { 7823 /* "FGDTP4_EL1" */, 0xC194, true, true, {} }, // 622
6039 { 7834 /* "FGDTP5_EL1" */, 0xC195, true, true, {} }, // 623
6040 { 7845 /* "FGDTP6_EL1" */, 0xC196, true, true, {} }, // 624
6041 { 7856 /* "FGDTP7_EL1" */, 0xC197, true, true, {} }, // 625
6042 { 7867 /* "FGDTP8_EL1" */, 0xC198, true, true, {} }, // 626
6043 { 7878 /* "FGDTP9_EL1" */, 0xC199, true, true, {} }, // 627
6044 { 7889 /* "FGDTP10_EL1" */, 0xC19A, true, true, {} }, // 628
6045 { 7901 /* "FGDTP11_EL1" */, 0xC19B, true, true, {} }, // 629
6046 { 7913 /* "FGDTP12_EL1" */, 0xC19C, true, true, {} }, // 630
6047 { 7925 /* "FGDTP13_EL1" */, 0xC19D, true, true, {} }, // 631
6048 { 7937 /* "FGDTP14_EL1" */, 0xC19E, true, true, {} }, // 632
6049 { 7949 /* "FGDTP15_EL1" */, 0xC19F, true, true, {} }, // 633
6050 { 7961 /* "FGDTU0_EL1" */, 0xC1A0, true, true, {} }, // 634
6051 { 7972 /* "FGDTU1_EL1" */, 0xC1A1, true, true, {} }, // 635
6052 { 7983 /* "FGDTU2_EL1" */, 0xC1A2, true, true, {} }, // 636
6053 { 7994 /* "FGDTU3_EL1" */, 0xC1A3, true, true, {} }, // 637
6054 { 8005 /* "FGDTU4_EL1" */, 0xC1A4, true, true, {} }, // 638
6055 { 8016 /* "FGDTU5_EL1" */, 0xC1A5, true, true, {} }, // 639
6056 { 8027 /* "FGDTU6_EL1" */, 0xC1A6, true, true, {} }, // 640
6057 { 8038 /* "FGDTU7_EL1" */, 0xC1A7, true, true, {} }, // 641
6058 { 8049 /* "FGDTU8_EL1" */, 0xC1A8, true, true, {} }, // 642
6059 { 8060 /* "FGDTU9_EL1" */, 0xC1A9, true, true, {} }, // 643
6060 { 8071 /* "FGDTU10_EL1" */, 0xC1AA, true, true, {} }, // 644
6061 { 8083 /* "FGDTU11_EL1" */, 0xC1AB, true, true, {} }, // 645
6062 { 8095 /* "FGDTU12_EL1" */, 0xC1AC, true, true, {} }, // 646
6063 { 8107 /* "FGDTU13_EL1" */, 0xC1AD, true, true, {} }, // 647
6064 { 8119 /* "FGDTU14_EL1" */, 0xC1AE, true, true, {} }, // 648
6065 { 8131 /* "FGDTU15_EL1" */, 0xC1AF, true, true, {} }, // 649
6066 { 8143 /* "AFGDTP0_EL1" */, 0xC1B0, true, true, {} }, // 650
6067 { 8155 /* "AFGDTP1_EL1" */, 0xC1B1, true, true, {} }, // 651
6068 { 8167 /* "AFGDTP2_EL1" */, 0xC1B2, true, true, {} }, // 652
6069 { 8179 /* "AFGDTP3_EL1" */, 0xC1B3, true, true, {} }, // 653
6070 { 8191 /* "AFGDTP4_EL1" */, 0xC1B4, true, true, {} }, // 654
6071 { 8203 /* "AFGDTP5_EL1" */, 0xC1B5, true, true, {} }, // 655
6072 { 8215 /* "AFGDTP6_EL1" */, 0xC1B6, true, true, {} }, // 656
6073 { 8227 /* "AFGDTP7_EL1" */, 0xC1B7, true, true, {} }, // 657
6074 { 8239 /* "AFGDTP8_EL1" */, 0xC1B8, true, true, {} }, // 658
6075 { 8251 /* "AFGDTP9_EL1" */, 0xC1B9, true, true, {} }, // 659
6076 { 8263 /* "AFGDTP10_EL1" */, 0xC1BA, true, true, {} }, // 660
6077 { 8276 /* "AFGDTP11_EL1" */, 0xC1BB, true, true, {} }, // 661
6078 { 8289 /* "AFGDTP12_EL1" */, 0xC1BC, true, true, {} }, // 662
6079 { 8302 /* "AFGDTP13_EL1" */, 0xC1BD, true, true, {} }, // 663
6080 { 8315 /* "AFGDTP14_EL1" */, 0xC1BE, true, true, {} }, // 664
6081 { 8328 /* "AFGDTP15_EL1" */, 0xC1BF, true, true, {} }, // 665
6082 { 8341 /* "AFGDTU0_EL1" */, 0xC1C0, true, true, {} }, // 666
6083 { 8353 /* "AFGDTU1_EL1" */, 0xC1C1, true, true, {} }, // 667
6084 { 8365 /* "AFGDTU2_EL1" */, 0xC1C2, true, true, {} }, // 668
6085 { 8377 /* "AFGDTU3_EL1" */, 0xC1C3, true, true, {} }, // 669
6086 { 8389 /* "AFGDTU4_EL1" */, 0xC1C4, true, true, {} }, // 670
6087 { 8401 /* "AFGDTU5_EL1" */, 0xC1C5, true, true, {} }, // 671
6088 { 8413 /* "AFGDTU6_EL1" */, 0xC1C6, true, true, {} }, // 672
6089 { 8425 /* "AFGDTU7_EL1" */, 0xC1C7, true, true, {} }, // 673
6090 { 8437 /* "AFGDTU8_EL1" */, 0xC1C8, true, true, {} }, // 674
6091 { 8449 /* "AFGDTU9_EL1" */, 0xC1C9, true, true, {} }, // 675
6092 { 8461 /* "AFGDTU10_EL1" */, 0xC1CA, true, true, {} }, // 676
6093 { 8474 /* "AFGDTU11_EL1" */, 0xC1CB, true, true, {} }, // 677
6094 { 8487 /* "AFGDTU12_EL1" */, 0xC1CC, true, true, {} }, // 678
6095 { 8500 /* "AFGDTU13_EL1" */, 0xC1CD, true, true, {} }, // 679
6096 { 8513 /* "AFGDTU14_EL1" */, 0xC1CE, true, true, {} }, // 680
6097 { 8526 /* "AFGDTU15_EL1" */, 0xC1CF, true, true, {} }, // 681
6098 { 8539 /* "SPSR_EL1" */, 0xC200, true, true, {} }, // 682
6099 { 8548 /* "ELR_EL1" */, 0xC201, true, true, {} }, // 683
6100 { 8556 /* "STINDEX_EL1" */, 0xC202, true, true, {} }, // 684
6101 { 8568 /* "TINDEX_EL1" */, 0xC203, true, true, {} }, // 685
6102 { 8579 /* "SP_EL0" */, 0xC208, true, true, {} }, // 686
6103 { 8586 /* "SPSel" */, 0xC210, true, true, {} }, // 687
6104 { 8592 /* "CurrentEL" */, 0xC212, true, false, {} }, // 688
6105 { 8602 /* "PAN" */, 0xC213, true, true, {AArch64::FeaturePAN} }, // 689
6106 { 8606 /* "UAO" */, 0xC214, true, true, {AArch64::FeaturePsUAO} }, // 690
6107 { 8610 /* "ALLINT" */, 0xC218, true, true, {AArch64::FeatureNMI} }, // 691
6108 { 8617 /* "PM" */, 0xC219, true, true, {} }, // 692
6109 { 8620 /* "ICC_PMR_EL1" */, 0xC230, true, true, {} }, // 693
6110 { 8632 /* "AFSR0_EL1" */, 0xC288, true, true, {} }, // 694
6111 { 8642 /* "AFSR1_EL1" */, 0xC289, true, true, {} }, // 695
6112 { 8652 /* "ESR_EL1" */, 0xC290, true, true, {} }, // 696
6113 { 8660 /* "ERRIDR_EL1" */, 0xC298, true, false, {AArch64::FeatureRAS} }, // 697
6114 { 8671 /* "ERRSELR_EL1" */, 0xC299, true, true, {AArch64::FeatureRAS} }, // 698
6115 { 8683 /* "ERXGSR_EL1" */, 0xC29A, true, false, {AArch64::FeatureRASv2} }, // 699
6116 { 8694 /* "ERXFR_EL1" */, 0xC2A0, true, false, {AArch64::FeatureRAS} }, // 700
6117 { 8704 /* "ERXCTLR_EL1" */, 0xC2A1, true, true, {AArch64::FeatureRAS} }, // 701
6118 { 8716 /* "ERXSTATUS_EL1" */, 0xC2A2, true, true, {AArch64::FeatureRAS} }, // 702
6119 { 8730 /* "ERXADDR_EL1" */, 0xC2A3, true, true, {AArch64::FeatureRAS} }, // 703
6120 { 8742 /* "ERXPFGF_EL1" */, 0xC2A4, true, false, {} }, // 704
6121 { 8754 /* "ERXPFGCTL_EL1" */, 0xC2A5, true, true, {} }, // 705
6122 { 8768 /* "ERXPFGCDN_EL1" */, 0xC2A6, true, true, {} }, // 706
6123 { 8782 /* "ERXMISC0_EL1" */, 0xC2A8, true, true, {AArch64::FeatureRAS} }, // 707
6124 { 8795 /* "ERXMISC1_EL1" */, 0xC2A9, true, true, {AArch64::FeatureRAS} }, // 708
6125 { 8808 /* "ERXMISC2_EL1" */, 0xC2AA, true, true, {} }, // 709
6126 { 8821 /* "ERXMISC3_EL1" */, 0xC2AB, true, true, {} }, // 710
6127 { 8834 /* "TFSR_EL1" */, 0xC2B0, true, true, {AArch64::FeatureMTE} }, // 711
6128 { 8843 /* "TFSRE0_EL1" */, 0xC2B1, true, true, {AArch64::FeatureMTE} }, // 712
6129 { 8854 /* "FAR_EL1" */, 0xC300, true, true, {} }, // 713
6130 { 8862 /* "PFAR_EL1" */, 0xC305, true, true, {} }, // 714
6131 { 8871 /* "PRENR_EL1" */, 0xC309, true, true, {AArch64::HasV8_0rOps} }, // 715
6132 { 8881 /* "PRSELR_EL1" */, 0xC311, true, true, {AArch64::HasV8_0rOps} }, // 716
6133 { 8892 /* "PRBAR_EL1" */, 0xC340, true, true, {AArch64::HasV8_0rOps} }, // 717
6134 { 8902 /* "PRLAR_EL1" */, 0xC341, true, true, {AArch64::HasV8_0rOps} }, // 718
6135 { 8912 /* "PRBAR1_EL1" */, 0xC344, true, true, {AArch64::HasV8_0rOps} }, // 719
6136 { 8923 /* "PRLAR1_EL1" */, 0xC345, true, true, {AArch64::HasV8_0rOps} }, // 720
6137 { 8934 /* "PRBAR2_EL1" */, 0xC348, true, true, {AArch64::HasV8_0rOps} }, // 721
6138 { 8945 /* "PRLAR2_EL1" */, 0xC349, true, true, {AArch64::HasV8_0rOps} }, // 722
6139 { 8956 /* "PRBAR3_EL1" */, 0xC34C, true, true, {AArch64::HasV8_0rOps} }, // 723
6140 { 8967 /* "PRLAR3_EL1" */, 0xC34D, true, true, {AArch64::HasV8_0rOps} }, // 724
6141 { 8978 /* "PRBAR4_EL1" */, 0xC350, true, true, {AArch64::HasV8_0rOps} }, // 725
6142 { 8989 /* "PRLAR4_EL1" */, 0xC351, true, true, {AArch64::HasV8_0rOps} }, // 726
6143 { 9000 /* "PRBAR5_EL1" */, 0xC354, true, true, {AArch64::HasV8_0rOps} }, // 727
6144 { 9011 /* "PRLAR5_EL1" */, 0xC355, true, true, {AArch64::HasV8_0rOps} }, // 728
6145 { 9022 /* "PRBAR6_EL1" */, 0xC358, true, true, {AArch64::HasV8_0rOps} }, // 729
6146 { 9033 /* "PRLAR6_EL1" */, 0xC359, true, true, {AArch64::HasV8_0rOps} }, // 730
6147 { 9044 /* "PRBAR7_EL1" */, 0xC35C, true, true, {AArch64::HasV8_0rOps} }, // 731
6148 { 9055 /* "PRLAR7_EL1" */, 0xC35D, true, true, {AArch64::HasV8_0rOps} }, // 732
6149 { 9066 /* "PRBAR8_EL1" */, 0xC360, true, true, {AArch64::HasV8_0rOps} }, // 733
6150 { 9077 /* "PRLAR8_EL1" */, 0xC361, true, true, {AArch64::HasV8_0rOps} }, // 734
6151 { 9088 /* "PRBAR9_EL1" */, 0xC364, true, true, {AArch64::HasV8_0rOps} }, // 735
6152 { 9099 /* "PRLAR9_EL1" */, 0xC365, true, true, {AArch64::HasV8_0rOps} }, // 736
6153 { 9110 /* "PRBAR10_EL1" */, 0xC368, true, true, {AArch64::HasV8_0rOps} }, // 737
6154 { 9122 /* "PRLAR10_EL1" */, 0xC369, true, true, {AArch64::HasV8_0rOps} }, // 738
6155 { 9134 /* "PRBAR11_EL1" */, 0xC36C, true, true, {AArch64::HasV8_0rOps} }, // 739
6156 { 9146 /* "PRLAR11_EL1" */, 0xC36D, true, true, {AArch64::HasV8_0rOps} }, // 740
6157 { 9158 /* "PRBAR12_EL1" */, 0xC370, true, true, {AArch64::HasV8_0rOps} }, // 741
6158 { 9170 /* "PRLAR12_EL1" */, 0xC371, true, true, {AArch64::HasV8_0rOps} }, // 742
6159 { 9182 /* "PRBAR13_EL1" */, 0xC374, true, true, {AArch64::HasV8_0rOps} }, // 743
6160 { 9194 /* "PRLAR13_EL1" */, 0xC375, true, true, {AArch64::HasV8_0rOps} }, // 744
6161 { 9206 /* "PRBAR14_EL1" */, 0xC378, true, true, {AArch64::HasV8_0rOps} }, // 745
6162 { 9218 /* "PRLAR14_EL1" */, 0xC379, true, true, {AArch64::HasV8_0rOps} }, // 746
6163 { 9230 /* "PRBAR15_EL1" */, 0xC37C, true, true, {AArch64::HasV8_0rOps} }, // 747
6164 { 9242 /* "PRLAR15_EL1" */, 0xC37D, true, true, {AArch64::HasV8_0rOps} }, // 748
6165 { 9254 /* "PAR_EL1" */, 0xC3A0, true, true, {} }, // 749
6166 { 9262 /* "PMSCR_EL1" */, 0xC4C8, true, true, {AArch64::FeatureSPE} }, // 750
6167 { 9272 /* "PMSNEVFR_EL1" */, 0xC4C9, true, true, {AArch64::FeatureSPE_EEF} }, // 751
6168 { 9285 /* "PMSICR_EL1" */, 0xC4CA, true, true, {AArch64::FeatureSPE} }, // 752
6169 { 9296 /* "PMSIRR_EL1" */, 0xC4CB, true, true, {AArch64::FeatureSPE} }, // 753
6170 { 9307 /* "PMSFCR_EL1" */, 0xC4CC, true, true, {AArch64::FeatureSPE} }, // 754
6171 { 9318 /* "PMSEVFR_EL1" */, 0xC4CD, true, true, {AArch64::FeatureSPE} }, // 755
6172 { 9330 /* "PMSLATFR_EL1" */, 0xC4CE, true, true, {AArch64::FeatureSPE} }, // 756
6173 { 9343 /* "PMSIDR_EL1" */, 0xC4CF, true, false, {AArch64::FeatureSPE} }, // 757
6174 { 9354 /* "PMBLIMITR_EL1" */, 0xC4D0, true, true, {AArch64::FeatureSPE} }, // 758
6175 { 9368 /* "PMBPTR_EL1" */, 0xC4D1, true, true, {AArch64::FeatureSPE} }, // 759
6176 { 9379 /* "PMBSR_EL1" */, 0xC4D3, true, true, {AArch64::FeatureSPE} }, // 760
6177 { 9389 /* "PMSDSFR_EL1" */, 0xC4D4, true, true, {} }, // 761
6178 { 9401 /* "PMBMAR_EL1" */, 0xC4D5, true, true, {} }, // 762
6179 { 9412 /* "PMBIDR_EL1" */, 0xC4D7, true, false, {AArch64::FeatureSPE} }, // 763
6180 { 9423 /* "TRBLIMITR_EL1" */, 0xC4D8, true, true, {AArch64::FeatureTRBE} }, // 764
6181 { 9437 /* "TRBPTR_EL1" */, 0xC4D9, true, true, {AArch64::FeatureTRBE} }, // 765
6182 { 9448 /* "TRBBASER_EL1" */, 0xC4DA, true, true, {AArch64::FeatureTRBE} }, // 766
6183 { 9461 /* "TRBSR_EL1" */, 0xC4DB, true, true, {AArch64::FeatureTRBE} }, // 767
6184 { 9471 /* "TRBMAR_EL1" */, 0xC4DC, true, true, {AArch64::FeatureTRBE} }, // 768
6185 { 9482 /* "TRBMPAM_EL1" */, 0xC4DD, true, true, {AArch64::FeatureTRBE} }, // 769
6186 { 9494 /* "TRBTRG_EL1" */, 0xC4DE, true, true, {AArch64::FeatureTRBE} }, // 770
6187 { 9505 /* "TRBIDR_EL1" */, 0xC4DF, true, false, {AArch64::FeatureTRBE} }, // 771
6188 { 9516 /* "PMSSCR_EL1" */, 0xC4EB, true, true, {} }, // 772
6189 { 9527 /* "PMINTENSET_EL1" */, 0xC4F1, true, true, {} }, // 773
6190 { 9542 /* "PMINTENCLR_EL1" */, 0xC4F2, true, true, {} }, // 774
6191 { 9557 /* "PMUACR_EL1" */, 0xC4F4, true, true, {} }, // 775
6192 { 9568 /* "PMECR_EL1" */, 0xC4F5, true, true, {} }, // 776
6193 { 9578 /* "PMMIR_EL1" */, 0xC4F6, true, false, {} }, // 777
6194 { 9588 /* "PMIAR_EL1" */, 0xC4F7, true, true, {} }, // 778
6195 { 9598 /* "MAIR_EL1" */, 0xC510, true, true, {} }, // 779
6196 { 9607 /* "MAIR2_EL1" */, 0xC511, true, true, {} }, // 780
6197 { 9617 /* "PIRE0_EL1" */, 0xC512, true, true, {} }, // 781
6198 { 9627 /* "PIR_EL1" */, 0xC513, true, true, {} }, // 782
6199 { 9635 /* "POR_EL1" */, 0xC514, true, true, {} }, // 783
6200 { 9643 /* "S2POR_EL1" */, 0xC515, true, true, {} }, // 784
6201 { 9653 /* "TTTBRU_EL1" */, 0xC516, true, true, {} }, // 785
6202 { 9664 /* "TTTBRP_EL1" */, 0xC517, true, true, {} }, // 786
6203 { 9675 /* "AMAIR_EL1" */, 0xC518, true, true, {} }, // 787
6204 { 9685 /* "AMAIR2_EL1" */, 0xC519, true, true, {} }, // 788
6205 { 9696 /* "LORSA_EL1" */, 0xC520, true, true, {AArch64::FeatureLOR} }, // 789
6206 { 9706 /* "LOREA_EL1" */, 0xC521, true, true, {AArch64::FeatureLOR} }, // 790
6207 { 9716 /* "LORN_EL1" */, 0xC522, true, true, {AArch64::FeatureLOR} }, // 791
6208 { 9725 /* "LORC_EL1" */, 0xC523, true, true, {AArch64::FeatureLOR} }, // 792
6209 { 9734 /* "MPAMIDR_EL1" */, 0xC524, true, false, {} }, // 793
6210 { 9746 /* "MPAMBWIDR_EL1" */, 0xC525, true, false, {} }, // 794
6211 { 9760 /* "TLBIDIDR_EL1" */, 0xC526, true, false, {} }, // 795
6212 { 9773 /* "LORID_EL1" */, 0xC527, true, false, {AArch64::FeatureLOR} }, // 796
6213 { 9783 /* "MPAM1_EL1" */, 0xC528, true, true, {} }, // 797
6214 { 9793 /* "MPAM0_EL1" */, 0xC529, true, true, {} }, // 798
6215 { 9803 /* "MPAMCTL_EL1" */, 0xC52A, true, true, {} }, // 799
6216 { 9815 /* "MPAMSM_EL1" */, 0xC52B, true, true, {AArch64::FeatureMPAM, AArch64::FeatureSME} }, // 800
6217 { 9826 /* "MPAMBW1_EL1" */, 0xC52C, true, true, {} }, // 801
6218 { 9838 /* "MPAMBW0_EL1" */, 0xC52D, true, true, {} }, // 802
6219 { 9850 /* "MPAMBWSM_EL1" */, 0xC52F, true, true, {} }, // 803
6220 { 9863 /* "VBAR_EL1" */, 0xC600, true, true, {} }, // 804
6221 { 9872 /* "RVBAR_EL1" */, 0xC601, true, false, {} }, // 805
6222 { 9882 /* "RMR_EL1" */, 0xC602, true, true, {} }, // 806
6223 { 9890 /* "ISR_EL1" */, 0xC608, true, false, {} }, // 807
6224 { 9898 /* "DISR_EL1" */, 0xC609, true, true, {AArch64::FeatureRAS} }, // 808
6225 { 9907 /* "ICC_IAR0_EL1" */, 0xC640, true, false, {} }, // 809
6226 { 9920 /* "ICC_EOIR0_EL1" */, 0xC641, false, true, {} }, // 810
6227 { 9934 /* "ICC_HPPIR0_EL1" */, 0xC642, true, false, {} }, // 811
6228 { 9949 /* "ICC_BPR0_EL1" */, 0xC643, true, true, {} }, // 812
6229 { 9962 /* "ICC_AP0R0_EL1" */, 0xC644, true, true, {} }, // 813
6230 { 9976 /* "ICC_AP0R1_EL1" */, 0xC645, true, true, {} }, // 814
6231 { 9990 /* "ICC_AP0R2_EL1" */, 0xC646, true, true, {} }, // 815
6232 { 10004 /* "ICC_AP0R3_EL1" */, 0xC647, true, true, {} }, // 816
6233 { 10018 /* "ICC_AP1R0_EL1" */, 0xC648, true, true, {} }, // 817
6234 { 10032 /* "ICC_AP1R1_EL1" */, 0xC649, true, true, {} }, // 818
6235 { 10046 /* "ICC_AP1R2_EL1" */, 0xC64A, true, true, {} }, // 819
6236 { 10060 /* "ICC_AP1R3_EL1" */, 0xC64B, true, true, {} }, // 820
6237 { 10074 /* "ICC_NMIAR1_EL1" */, 0xC64D, true, false, {AArch64::FeatureNMI} }, // 821
6238 { 10089 /* "ICC_PPI_HMR0_EL1" */, 0xC650, true, true, {} }, // 822
6239 { 10106 /* "ICV_PPI_HMR0_EL1" */, 0xC650, true, true, {} }, // 823
6240 { 10123 /* "ICC_PPI_HMR1_EL1" */, 0xC651, true, true, {} }, // 824
6241 { 10140 /* "ICV_PPI_HMR1_EL1" */, 0xC651, true, true, {} }, // 825
6242 { 10157 /* "ICC_IDR0_EL1" */, 0xC652, true, false, {} }, // 826
6243 { 10170 /* "ICC_HPPIR_EL1" */, 0xC653, true, false, {} }, // 827
6244 { 10184 /* "ICV_HPPIR_EL1" */, 0xC653, true, true, {} }, // 828
6245 { 10198 /* "ICC_ICSR_EL1" */, 0xC654, true, true, {} }, // 829
6246 { 10211 /* "ICC_IAFFIDR_EL1" */, 0xC655, true, false, {} }, // 830
6247 { 10227 /* "ICC_PPI_ENABLER0_EL1" */, 0xC656, true, true, {} }, // 831
6248 { 10248 /* "ICV_PPI_ENABLER0_EL1" */, 0xC656, true, true, {} }, // 832
6249 { 10269 /* "ICC_PPI_ENABLER1_EL1" */, 0xC657, true, true, {} }, // 833
6250 { 10290 /* "ICV_PPI_ENABLER1_EL1" */, 0xC657, true, true, {} }, // 834
6251 { 10311 /* "ICC_DIR_EL1" */, 0xC659, false, true, {} }, // 835
6252 { 10323 /* "ICC_RPR_EL1" */, 0xC65B, true, false, {} }, // 836
6253 { 10335 /* "ICC_SGI1R_EL1" */, 0xC65D, false, true, {} }, // 837
6254 { 10349 /* "ICC_ASGI1R_EL1" */, 0xC65E, false, true, {} }, // 838
6255 { 10364 /* "ICC_SGI0R_EL1" */, 0xC65F, false, true, {} }, // 839
6256 { 10378 /* "ICC_IAR1_EL1" */, 0xC660, true, false, {} }, // 840
6257 { 10391 /* "ICC_EOIR1_EL1" */, 0xC661, false, true, {} }, // 841
6258 { 10405 /* "ICC_HPPIR1_EL1" */, 0xC662, true, false, {} }, // 842
6259 { 10420 /* "ICC_BPR1_EL1" */, 0xC663, true, true, {} }, // 843
6260 { 10433 /* "ICC_CTLR_EL1" */, 0xC664, true, true, {} }, // 844
6261 { 10446 /* "ICC_SRE_EL1" */, 0xC665, true, true, {} }, // 845
6262 { 10458 /* "ICC_IGRPEN0_EL1" */, 0xC666, true, true, {} }, // 846
6263 { 10474 /* "ICC_IGRPEN1_EL1" */, 0xC667, true, true, {} }, // 847
6264 { 10490 /* "ICC_PPI_CACTIVER0_EL1" */, 0xC668, true, true, {} }, // 848
6265 { 10512 /* "ICV_PPI_CACTIVER0_EL1" */, 0xC668, true, true, {} }, // 849
6266 { 10534 /* "ICC_PPI_CACTIVER1_EL1" */, 0xC669, true, true, {} }, // 850
6267 { 10556 /* "ICV_PPI_CACTIVER1_EL1" */, 0xC669, true, true, {} }, // 851
6268 { 10578 /* "ICC_PPI_SACTIVER0_EL1" */, 0xC66A, true, true, {} }, // 852
6269 { 10600 /* "ICV_PPI_SACTIVER0_EL1" */, 0xC66A, true, true, {} }, // 853
6270 { 10622 /* "ICC_PPI_SACTIVER1_EL1" */, 0xC66B, true, true, {} }, // 854
6271 { 10644 /* "ICV_PPI_SACTIVER1_EL1" */, 0xC66B, true, true, {} }, // 855
6272 { 10666 /* "ICC_PPI_CPENDR0_EL1" */, 0xC66C, true, true, {} }, // 856
6273 { 10686 /* "ICV_PPI_CPENDR0_EL1" */, 0xC66C, true, true, {} }, // 857
6274 { 10706 /* "ICC_PPI_CPENDR1_EL1" */, 0xC66D, true, true, {} }, // 858
6275 { 10726 /* "ICV_PPI_CPENDR1_EL1" */, 0xC66D, true, true, {} }, // 859
6276 { 10746 /* "ICC_PPI_SPENDR0_EL1" */, 0xC66E, true, true, {} }, // 860
6277 { 10766 /* "ICV_PPI_SPENDR0_EL1" */, 0xC66E, true, true, {} }, // 861
6278 { 10786 /* "ICC_PPI_SPENDR1_EL1" */, 0xC66F, true, true, {} }, // 862
6279 { 10806 /* "ICV_PPI_SPENDR1_EL1" */, 0xC66F, true, true, {} }, // 863
6280 { 10826 /* "ICC_PPI_PRIORITYR0_EL1" */, 0xC670, true, true, {} }, // 864
6281 { 10849 /* "ICV_PPI_PRIORITYR0_EL1" */, 0xC670, true, true, {} }, // 865
6282 { 10872 /* "ICC_PPI_PRIORITYR1_EL1" */, 0xC671, true, true, {} }, // 866
6283 { 10895 /* "ICV_PPI_PRIORITYR1_EL1" */, 0xC671, true, true, {} }, // 867
6284 { 10918 /* "ICC_PPI_PRIORITYR2_EL1" */, 0xC672, true, true, {} }, // 868
6285 { 10941 /* "ICV_PPI_PRIORITYR2_EL1" */, 0xC672, true, true, {} }, // 869
6286 { 10964 /* "ICC_PPI_PRIORITYR3_EL1" */, 0xC673, true, true, {} }, // 870
6287 { 10987 /* "ICV_PPI_PRIORITYR3_EL1" */, 0xC673, true, true, {} }, // 871
6288 { 11010 /* "ICC_PPI_PRIORITYR4_EL1" */, 0xC674, true, true, {} }, // 872
6289 { 11033 /* "ICV_PPI_PRIORITYR4_EL1" */, 0xC674, true, true, {} }, // 873
6290 { 11056 /* "ICC_PPI_PRIORITYR5_EL1" */, 0xC675, true, true, {} }, // 874
6291 { 11079 /* "ICV_PPI_PRIORITYR5_EL1" */, 0xC675, true, true, {} }, // 875
6292 { 11102 /* "ICC_PPI_PRIORITYR6_EL1" */, 0xC676, true, true, {} }, // 876
6293 { 11125 /* "ICV_PPI_PRIORITYR6_EL1" */, 0xC676, true, true, {} }, // 877
6294 { 11148 /* "ICC_PPI_PRIORITYR7_EL1" */, 0xC677, true, true, {} }, // 878
6295 { 11171 /* "ICV_PPI_PRIORITYR7_EL1" */, 0xC677, true, true, {} }, // 879
6296 { 11194 /* "ICC_PPI_PRIORITYR8_EL1" */, 0xC678, true, true, {} }, // 880
6297 { 11217 /* "ICV_PPI_PRIORITYR8_EL1" */, 0xC678, true, true, {} }, // 881
6298 { 11240 /* "ICC_PPI_PRIORITYR9_EL1" */, 0xC679, true, true, {} }, // 882
6299 { 11263 /* "ICV_PPI_PRIORITYR9_EL1" */, 0xC679, true, true, {} }, // 883
6300 { 11286 /* "ICC_PPI_PRIORITYR10_EL1" */, 0xC67A, true, true, {} }, // 884
6301 { 11310 /* "ICV_PPI_PRIORITYR10_EL1" */, 0xC67A, true, true, {} }, // 885
6302 { 11334 /* "ICC_PPI_PRIORITYR11_EL1" */, 0xC67B, true, true, {} }, // 886
6303 { 11358 /* "ICV_PPI_PRIORITYR11_EL1" */, 0xC67B, true, true, {} }, // 887
6304 { 11382 /* "ICC_PPI_PRIORITYR12_EL1" */, 0xC67C, true, true, {} }, // 888
6305 { 11406 /* "ICV_PPI_PRIORITYR12_EL1" */, 0xC67C, true, true, {} }, // 889
6306 { 11430 /* "ICC_PPI_PRIORITYR13_EL1" */, 0xC67D, true, true, {} }, // 890
6307 { 11454 /* "ICV_PPI_PRIORITYR13_EL1" */, 0xC67D, true, true, {} }, // 891
6308 { 11478 /* "ICC_PPI_PRIORITYR14_EL1" */, 0xC67E, true, true, {} }, // 892
6309 { 11502 /* "ICV_PPI_PRIORITYR14_EL1" */, 0xC67E, true, true, {} }, // 893
6310 { 11526 /* "ICC_PPI_PRIORITYR15_EL1" */, 0xC67F, true, true, {} }, // 894
6311 { 11550 /* "ICV_PPI_PRIORITYR15_EL1" */, 0xC67F, true, true, {} }, // 895
6312 { 11574 /* "TPIDR3_EL1" */, 0xC680, true, true, {} }, // 896
6313 { 11585 /* "CONTEXTIDR_EL1" */, 0xC681, true, true, {} }, // 897
6314 { 11600 /* "RCWSMASK_EL1" */, 0xC683, true, true, {AArch64::FeatureTHE} }, // 898
6315 { 11613 /* "TPIDR_EL1" */, 0xC684, true, true, {} }, // 899
6316 { 11623 /* "ACCDATA_EL1" */, 0xC685, true, true, {AArch64::FeatureLS64} }, // 900
6317 { 11635 /* "RCWMASK_EL1" */, 0xC686, true, true, {AArch64::FeatureTHE} }, // 901
6318 { 11647 /* "SCXTNUM_EL1" */, 0xC687, true, true, {AArch64::FeatureSpecRestrict} }, // 902
6319 { 11659 /* "CNTKCTL_EL1" */, 0xC708, true, true, {} }, // 903
6320 { 11671 /* "CCSIDR_EL1" */, 0xC800, true, false, {} }, // 904
6321 { 11682 /* "CLIDR_EL1" */, 0xC801, true, false, {} }, // 905
6322 { 11692 /* "CCSIDR2_EL1" */, 0xC802, true, false, {AArch64::FeatureCCIDX} }, // 906
6323 { 11704 /* "GMID_EL1" */, 0xC804, true, false, {AArch64::FeatureMTE} }, // 907
6324 { 11713 /* "SMIDR_EL1" */, 0xC806, true, false, {AArch64::FeatureSME} }, // 908
6325 { 11723 /* "AIDR_EL1" */, 0xC807, true, false, {} }, // 909
6326 { 11732 /* "ICC_APR_EL1" */, 0xCE00, true, true, {} }, // 910
6327 { 11744 /* "ICV_APR_EL1" */, 0xCE00, true, true, {} }, // 911
6328 { 11756 /* "ICC_CR0_EL1" */, 0xCE01, true, true, {} }, // 912
6329 { 11768 /* "ICV_CR0_EL1" */, 0xCE01, true, true, {} }, // 913
6330 { 11780 /* "ICC_PCR_EL1" */, 0xCE02, true, true, {} }, // 914
6331 { 11792 /* "ICV_PCR_EL1" */, 0xCE02, true, true, {} }, // 915
6332 { 11804 /* "ICC_HAPR_EL1" */, 0xCE03, true, false, {} }, // 916
6333 { 11817 /* "ICV_HAPR_EL1" */, 0xCE03, true, true, {} }, // 917
6334 { 11830 /* "CSSELR_EL1" */, 0xD000, true, true, {} }, // 918
6335 { 11841 /* "CTR_EL0" */, 0xD801, true, false, {} }, // 919
6336 { 11849 /* "DCZID_EL0" */, 0xD807, true, false, {} }, // 920
6337 { 11859 /* "TPCR0_EL0" */, 0xD914, true, true, {} }, // 921
6338 { 11869 /* "TPCR1_EL0" */, 0xD915, true, true, {} }, // 922
6339 { 11879 /* "RNDR" */, 0xD920, true, false, {AArch64::FeatureRandGen} }, // 923
6340 { 11884 /* "RNDRRS" */, 0xD921, true, false, {AArch64::FeatureRandGen} }, // 924
6341 { 11891 /* "GCSPR_EL0" */, 0xD929, true, true, {} }, // 925
6342 { 11901 /* "TINDEX_EL0" */, 0xDA03, true, true, {} }, // 926
6343 { 11912 /* "NZCV" */, 0xDA10, true, true, {} }, // 927
6344 { 11917 /* "DAIF" */, 0xDA11, true, true, {} }, // 928
6345 { 11922 /* "SVCR" */, 0xDA12, true, true, {AArch64::FeatureSME} }, // 929
6346 { 11927 /* "DIT" */, 0xDA15, true, true, {AArch64::FeatureDIT} }, // 930
6347 { 11931 /* "SSBS" */, 0xDA16, true, true, {AArch64::FeatureSSBS} }, // 931
6348 { 11936 /* "TCO" */, 0xDA17, true, true, {AArch64::FeatureMTE} }, // 932
6349 { 11940 /* "FPCR" */, 0xDA20, true, true, {AArch64::FeatureFPARMv8} }, // 933
6350 { 11945 /* "FPSR" */, 0xDA21, true, true, {AArch64::FeatureFPARMv8} }, // 934
6351 { 11950 /* "FPMR" */, 0xDA22, true, true, {} }, // 935
6352 { 11955 /* "DSPSR_EL0" */, 0xDA28, true, true, {} }, // 936
6353 { 11965 /* "DLR_EL0" */, 0xDA29, true, true, {} }, // 937
6354 { 11973 /* "DPOCR_EL0" */, 0xDA2A, true, true, {} }, // 938
6355 { 11983 /* "PMICNTR_EL0" */, 0xDCA0, true, true, {} }, // 939
6356 { 11995 /* "PMICFILTR_EL0" */, 0xDCB0, true, true, {} }, // 940
6357 { 12009 /* "PMCR_EL0" */, 0xDCE0, true, true, {} }, // 941
6358 { 12018 /* "PMCNTENSET_EL0" */, 0xDCE1, true, true, {} }, // 942
6359 { 12033 /* "PMCNTENCLR_EL0" */, 0xDCE2, true, true, {} }, // 943
6360 { 12048 /* "PMOVSCLR_EL0" */, 0xDCE3, true, true, {} }, // 944
6361 { 12061 /* "PMSWINC_EL0" */, 0xDCE4, false, true, {} }, // 945
6362 { 12073 /* "PMSELR_EL0" */, 0xDCE5, true, true, {} }, // 946
6363 { 12084 /* "PMCEID0_EL0" */, 0xDCE6, true, false, {} }, // 947
6364 { 12096 /* "PMCEID1_EL0" */, 0xDCE7, true, false, {} }, // 948
6365 { 12108 /* "PMCCNTR_EL0" */, 0xDCE8, true, true, {} }, // 949
6366 { 12120 /* "PMXEVTYPER_EL0" */, 0xDCE9, true, true, {} }, // 950
6367 { 12135 /* "PMXEVCNTR_EL0" */, 0xDCEA, true, true, {} }, // 951
6368 { 12149 /* "PMZR_EL0" */, 0xDCEC, false, true, {} }, // 952
6369 { 12158 /* "PMUSERENR_EL0" */, 0xDCF0, true, true, {} }, // 953
6370 { 12172 /* "PMOVSSET_EL0" */, 0xDCF3, true, true, {} }, // 954
6371 { 12185 /* "POR_EL0" */, 0xDD14, true, true, {} }, // 955
6372 { 12193 /* "TPIDR3_EL0" */, 0xDE80, true, true, {} }, // 956
6373 { 12204 /* "TPIDR_EL0" */, 0xDE82, true, true, {} }, // 957
6374 { 12214 /* "TPIDRRO_EL0" */, 0xDE83, true, true, {} }, // 958
6375 { 12226 /* "TPIDR2_EL0" */, 0xDE85, true, true, {AArch64::FeatureSME} }, // 959
6376 { 12237 /* "SCXTNUM_EL0" */, 0xDE87, true, true, {AArch64::FeatureSpecRestrict} }, // 960
6377 { 12249 /* "AMCR_EL0" */, 0xDE90, true, true, {AArch64::FeatureAM} }, // 961
6378 { 12258 /* "AMCFGR_EL0" */, 0xDE91, true, false, {AArch64::FeatureAM} }, // 962
6379 { 12269 /* "AMCGCR_EL0" */, 0xDE92, true, false, {AArch64::FeatureAM} }, // 963
6380 { 12280 /* "AMUSERENR_EL0" */, 0xDE93, true, true, {AArch64::FeatureAM} }, // 964
6381 { 12294 /* "AMCNTENCLR0_EL0" */, 0xDE94, true, true, {AArch64::FeatureAM} }, // 965
6382 { 12310 /* "AMCNTENSET0_EL0" */, 0xDE95, true, true, {AArch64::FeatureAM} }, // 966
6383 { 12326 /* "AMCG1IDR_EL0" */, 0xDE96, true, false, {AArch64::FeatureAMVS} }, // 967
6384 { 12339 /* "AMCNTENCLR1_EL0" */, 0xDE98, true, true, {AArch64::FeatureAM} }, // 968
6385 { 12355 /* "AMCNTENSET1_EL0" */, 0xDE99, true, true, {AArch64::FeatureAM} }, // 969
6386 { 12371 /* "AMEVCNTR00_EL0" */, 0xDEA0, true, true, {AArch64::FeatureAM} }, // 970
6387 { 12386 /* "AMEVCNTR01_EL0" */, 0xDEA1, true, true, {AArch64::FeatureAM} }, // 971
6388 { 12401 /* "AMEVCNTR02_EL0" */, 0xDEA2, true, true, {AArch64::FeatureAM} }, // 972
6389 { 12416 /* "AMEVCNTR03_EL0" */, 0xDEA3, true, true, {AArch64::FeatureAM} }, // 973
6390 { 12431 /* "AMEVTYPER00_EL0" */, 0xDEB0, true, false, {AArch64::FeatureAM} }, // 974
6391 { 12447 /* "AMEVTYPER01_EL0" */, 0xDEB1, true, false, {AArch64::FeatureAM} }, // 975
6392 { 12463 /* "AMEVTYPER02_EL0" */, 0xDEB2, true, false, {AArch64::FeatureAM} }, // 976
6393 { 12479 /* "AMEVTYPER03_EL0" */, 0xDEB3, true, false, {AArch64::FeatureAM} }, // 977
6394 { 12495 /* "AMEVCNTR10_EL0" */, 0xDEE0, true, true, {AArch64::FeatureAM} }, // 978
6395 { 12510 /* "AMEVCNTR11_EL0" */, 0xDEE1, true, true, {AArch64::FeatureAM} }, // 979
6396 { 12525 /* "AMEVCNTR12_EL0" */, 0xDEE2, true, true, {AArch64::FeatureAM} }, // 980
6397 { 12540 /* "AMEVCNTR13_EL0" */, 0xDEE3, true, true, {AArch64::FeatureAM} }, // 981
6398 { 12555 /* "AMEVCNTR14_EL0" */, 0xDEE4, true, true, {AArch64::FeatureAM} }, // 982
6399 { 12570 /* "AMEVCNTR15_EL0" */, 0xDEE5, true, true, {AArch64::FeatureAM} }, // 983
6400 { 12585 /* "AMEVCNTR16_EL0" */, 0xDEE6, true, true, {AArch64::FeatureAM} }, // 984
6401 { 12600 /* "AMEVCNTR17_EL0" */, 0xDEE7, true, true, {AArch64::FeatureAM} }, // 985
6402 { 12615 /* "AMEVCNTR18_EL0" */, 0xDEE8, true, true, {AArch64::FeatureAM} }, // 986
6403 { 12630 /* "AMEVCNTR19_EL0" */, 0xDEE9, true, true, {AArch64::FeatureAM} }, // 987
6404 { 12645 /* "AMEVCNTR110_EL0" */, 0xDEEA, true, true, {AArch64::FeatureAM} }, // 988
6405 { 12661 /* "AMEVCNTR111_EL0" */, 0xDEEB, true, true, {AArch64::FeatureAM} }, // 989
6406 { 12677 /* "AMEVCNTR112_EL0" */, 0xDEEC, true, true, {AArch64::FeatureAM} }, // 990
6407 { 12693 /* "AMEVCNTR113_EL0" */, 0xDEED, true, true, {AArch64::FeatureAM} }, // 991
6408 { 12709 /* "AMEVCNTR114_EL0" */, 0xDEEE, true, true, {AArch64::FeatureAM} }, // 992
6409 { 12725 /* "AMEVCNTR115_EL0" */, 0xDEEF, true, true, {AArch64::FeatureAM} }, // 993
6410 { 12741 /* "AMEVTYPER10_EL0" */, 0xDEF0, true, true, {AArch64::FeatureAM} }, // 994
6411 { 12757 /* "AMEVTYPER11_EL0" */, 0xDEF1, true, true, {AArch64::FeatureAM} }, // 995
6412 { 12773 /* "AMEVTYPER12_EL0" */, 0xDEF2, true, true, {AArch64::FeatureAM} }, // 996
6413 { 12789 /* "AMEVTYPER13_EL0" */, 0xDEF3, true, true, {AArch64::FeatureAM} }, // 997
6414 { 12805 /* "AMEVTYPER14_EL0" */, 0xDEF4, true, true, {AArch64::FeatureAM} }, // 998
6415 { 12821 /* "AMEVTYPER15_EL0" */, 0xDEF5, true, true, {AArch64::FeatureAM} }, // 999
6416 { 12837 /* "AMEVTYPER16_EL0" */, 0xDEF6, true, true, {AArch64::FeatureAM} }, // 1000
6417 { 12853 /* "AMEVTYPER17_EL0" */, 0xDEF7, true, true, {AArch64::FeatureAM} }, // 1001
6418 { 12869 /* "AMEVTYPER18_EL0" */, 0xDEF8, true, true, {AArch64::FeatureAM} }, // 1002
6419 { 12885 /* "AMEVTYPER19_EL0" */, 0xDEF9, true, true, {AArch64::FeatureAM} }, // 1003
6420 { 12901 /* "AMEVTYPER110_EL0" */, 0xDEFA, true, true, {AArch64::FeatureAM} }, // 1004
6421 { 12918 /* "AMEVTYPER111_EL0" */, 0xDEFB, true, true, {AArch64::FeatureAM} }, // 1005
6422 { 12935 /* "AMEVTYPER112_EL0" */, 0xDEFC, true, true, {AArch64::FeatureAM} }, // 1006
6423 { 12952 /* "AMEVTYPER113_EL0" */, 0xDEFD, true, true, {AArch64::FeatureAM} }, // 1007
6424 { 12969 /* "AMEVTYPER114_EL0" */, 0xDEFE, true, true, {AArch64::FeatureAM} }, // 1008
6425 { 12986 /* "AMEVTYPER115_EL0" */, 0xDEFF, true, true, {AArch64::FeatureAM} }, // 1009
6426 { 13003 /* "CNTFRQ_EL0" */, 0xDF00, true, true, {} }, // 1010
6427 { 13014 /* "CNTPCT_EL0" */, 0xDF01, true, false, {} }, // 1011
6428 { 13025 /* "CNTVCT_EL0" */, 0xDF02, true, false, {} }, // 1012
6429 { 13036 /* "CNTPCTSS_EL0" */, 0xDF05, true, false, {AArch64::FeatureEnhancedCounterVirtualization} }, // 1013
6430 { 13049 /* "CNTVCTSS_EL0" */, 0xDF06, true, false, {AArch64::FeatureEnhancedCounterVirtualization} }, // 1014
6431 { 13062 /* "CNTP_TVAL_EL0" */, 0xDF10, true, true, {} }, // 1015
6432 { 13076 /* "CNTP_CTL_EL0" */, 0xDF11, true, true, {} }, // 1016
6433 { 13089 /* "CNTP_CVAL_EL0" */, 0xDF12, true, true, {} }, // 1017
6434 { 13103 /* "CNTV_TVAL_EL0" */, 0xDF18, true, true, {} }, // 1018
6435 { 13117 /* "CNTV_CTL_EL0" */, 0xDF19, true, true, {} }, // 1019
6436 { 13130 /* "CNTV_CVAL_EL0" */, 0xDF1A, true, true, {} }, // 1020
6437 { 13144 /* "PMEVCNTR0_EL0" */, 0xDF40, true, true, {} }, // 1021
6438 { 13158 /* "PMEVCNTR1_EL0" */, 0xDF41, true, true, {} }, // 1022
6439 { 13172 /* "PMEVCNTR2_EL0" */, 0xDF42, true, true, {} }, // 1023
6440 { 13186 /* "PMEVCNTR3_EL0" */, 0xDF43, true, true, {} }, // 1024
6441 { 13200 /* "PMEVCNTR4_EL0" */, 0xDF44, true, true, {} }, // 1025
6442 { 13214 /* "PMEVCNTR5_EL0" */, 0xDF45, true, true, {} }, // 1026
6443 { 13228 /* "PMEVCNTR6_EL0" */, 0xDF46, true, true, {} }, // 1027
6444 { 13242 /* "PMEVCNTR7_EL0" */, 0xDF47, true, true, {} }, // 1028
6445 { 13256 /* "PMEVCNTR8_EL0" */, 0xDF48, true, true, {} }, // 1029
6446 { 13270 /* "PMEVCNTR9_EL0" */, 0xDF49, true, true, {} }, // 1030
6447 { 13284 /* "PMEVCNTR10_EL0" */, 0xDF4A, true, true, {} }, // 1031
6448 { 13299 /* "PMEVCNTR11_EL0" */, 0xDF4B, true, true, {} }, // 1032
6449 { 13314 /* "PMEVCNTR12_EL0" */, 0xDF4C, true, true, {} }, // 1033
6450 { 13329 /* "PMEVCNTR13_EL0" */, 0xDF4D, true, true, {} }, // 1034
6451 { 13344 /* "PMEVCNTR14_EL0" */, 0xDF4E, true, true, {} }, // 1035
6452 { 13359 /* "PMEVCNTR15_EL0" */, 0xDF4F, true, true, {} }, // 1036
6453 { 13374 /* "PMEVCNTR16_EL0" */, 0xDF50, true, true, {} }, // 1037
6454 { 13389 /* "PMEVCNTR17_EL0" */, 0xDF51, true, true, {} }, // 1038
6455 { 13404 /* "PMEVCNTR18_EL0" */, 0xDF52, true, true, {} }, // 1039
6456 { 13419 /* "PMEVCNTR19_EL0" */, 0xDF53, true, true, {} }, // 1040
6457 { 13434 /* "PMEVCNTR20_EL0" */, 0xDF54, true, true, {} }, // 1041
6458 { 13449 /* "PMEVCNTR21_EL0" */, 0xDF55, true, true, {} }, // 1042
6459 { 13464 /* "PMEVCNTR22_EL0" */, 0xDF56, true, true, {} }, // 1043
6460 { 13479 /* "PMEVCNTR23_EL0" */, 0xDF57, true, true, {} }, // 1044
6461 { 13494 /* "PMEVCNTR24_EL0" */, 0xDF58, true, true, {} }, // 1045
6462 { 13509 /* "PMEVCNTR25_EL0" */, 0xDF59, true, true, {} }, // 1046
6463 { 13524 /* "PMEVCNTR26_EL0" */, 0xDF5A, true, true, {} }, // 1047
6464 { 13539 /* "PMEVCNTR27_EL0" */, 0xDF5B, true, true, {} }, // 1048
6465 { 13554 /* "PMEVCNTR28_EL0" */, 0xDF5C, true, true, {} }, // 1049
6466 { 13569 /* "PMEVCNTR29_EL0" */, 0xDF5D, true, true, {} }, // 1050
6467 { 13584 /* "PMEVCNTR30_EL0" */, 0xDF5E, true, true, {} }, // 1051
6468 { 13599 /* "PMEVTYPER0_EL0" */, 0xDF60, true, true, {} }, // 1052
6469 { 13614 /* "PMEVTYPER1_EL0" */, 0xDF61, true, true, {} }, // 1053
6470 { 13629 /* "PMEVTYPER2_EL0" */, 0xDF62, true, true, {} }, // 1054
6471 { 13644 /* "PMEVTYPER3_EL0" */, 0xDF63, true, true, {} }, // 1055
6472 { 13659 /* "PMEVTYPER4_EL0" */, 0xDF64, true, true, {} }, // 1056
6473 { 13674 /* "PMEVTYPER5_EL0" */, 0xDF65, true, true, {} }, // 1057
6474 { 13689 /* "PMEVTYPER6_EL0" */, 0xDF66, true, true, {} }, // 1058
6475 { 13704 /* "PMEVTYPER7_EL0" */, 0xDF67, true, true, {} }, // 1059
6476 { 13719 /* "PMEVTYPER8_EL0" */, 0xDF68, true, true, {} }, // 1060
6477 { 13734 /* "PMEVTYPER9_EL0" */, 0xDF69, true, true, {} }, // 1061
6478 { 13749 /* "PMEVTYPER10_EL0" */, 0xDF6A, true, true, {} }, // 1062
6479 { 13765 /* "PMEVTYPER11_EL0" */, 0xDF6B, true, true, {} }, // 1063
6480 { 13781 /* "PMEVTYPER12_EL0" */, 0xDF6C, true, true, {} }, // 1064
6481 { 13797 /* "PMEVTYPER13_EL0" */, 0xDF6D, true, true, {} }, // 1065
6482 { 13813 /* "PMEVTYPER14_EL0" */, 0xDF6E, true, true, {} }, // 1066
6483 { 13829 /* "PMEVTYPER15_EL0" */, 0xDF6F, true, true, {} }, // 1067
6484 { 13845 /* "PMEVTYPER16_EL0" */, 0xDF70, true, true, {} }, // 1068
6485 { 13861 /* "PMEVTYPER17_EL0" */, 0xDF71, true, true, {} }, // 1069
6486 { 13877 /* "PMEVTYPER18_EL0" */, 0xDF72, true, true, {} }, // 1070
6487 { 13893 /* "PMEVTYPER19_EL0" */, 0xDF73, true, true, {} }, // 1071
6488 { 13909 /* "PMEVTYPER20_EL0" */, 0xDF74, true, true, {} }, // 1072
6489 { 13925 /* "PMEVTYPER21_EL0" */, 0xDF75, true, true, {} }, // 1073
6490 { 13941 /* "PMEVTYPER22_EL0" */, 0xDF76, true, true, {} }, // 1074
6491 { 13957 /* "PMEVTYPER23_EL0" */, 0xDF77, true, true, {} }, // 1075
6492 { 13973 /* "PMEVTYPER24_EL0" */, 0xDF78, true, true, {} }, // 1076
6493 { 13989 /* "PMEVTYPER25_EL0" */, 0xDF79, true, true, {} }, // 1077
6494 { 14005 /* "PMEVTYPER26_EL0" */, 0xDF7A, true, true, {} }, // 1078
6495 { 14021 /* "PMEVTYPER27_EL0" */, 0xDF7B, true, true, {} }, // 1079
6496 { 14037 /* "PMEVTYPER28_EL0" */, 0xDF7C, true, true, {} }, // 1080
6497 { 14053 /* "PMEVTYPER29_EL0" */, 0xDF7D, true, true, {} }, // 1081
6498 { 14069 /* "PMEVTYPER30_EL0" */, 0xDF7E, true, true, {} }, // 1082
6499 { 14085 /* "PMCCFILTR_EL0" */, 0xDF7F, true, true, {} }, // 1083
6500 { 14099 /* "VPIDR_EL2" */, 0xE000, true, true, {} }, // 1084
6501 { 14109 /* "MPUIR_EL2" */, 0xE004, true, true, {AArch64::HasV8_0rOps} }, // 1085
6502 { 14119 /* "VMPIDR_EL2" */, 0xE005, true, true, {} }, // 1086
6503 { 14130 /* "SCTLR_EL2" */, 0xE080, true, true, {} }, // 1087
6504 { 14140 /* "ACTLR_EL2" */, 0xE081, true, true, {} }, // 1088
6505 { 14150 /* "SCTLR2_EL2" */, 0xE083, true, true, {} }, // 1089
6506 { 14161 /* "HCR_EL2" */, 0xE088, true, true, {} }, // 1090
6507 { 14169 /* "MDCR_EL2" */, 0xE089, true, true, {} }, // 1091
6508 { 14178 /* "CPTR_EL2" */, 0xE08A, true, true, {} }, // 1092
6509 { 14187 /* "HSTR_EL2" */, 0xE08B, true, true, {} }, // 1093
6510 { 14196 /* "HFGRTR_EL2" */, 0xE08C, true, true, {AArch64::FeatureFineGrainedTraps} }, // 1094
6511 { 14207 /* "HFGWTR_EL2" */, 0xE08D, true, true, {AArch64::FeatureFineGrainedTraps} }, // 1095
6512 { 14218 /* "HFGITR_EL2" */, 0xE08E, true, true, {AArch64::FeatureFineGrainedTraps} }, // 1096
6513 { 14229 /* "HACR_EL2" */, 0xE08F, true, true, {} }, // 1097
6514 { 14238 /* "ZCR_EL2" */, 0xE090, true, true, {AArch64::FeatureSVE} }, // 1098
6515 { 14246 /* "TRFCR_EL2" */, 0xE091, true, true, {AArch64::FeatureTRACEV8_4} }, // 1099
6516 { 14256 /* "HCRX_EL2" */, 0xE092, true, true, {} }, // 1100
6517 { 14265 /* "TRCITECR_EL2" */, 0xE093, true, true, {AArch64::FeatureITE} }, // 1101
6518 { 14278 /* "SMPRIMAP_EL2" */, 0xE095, true, true, {AArch64::FeatureSME} }, // 1102
6519 { 14291 /* "SMCR_EL2" */, 0xE096, true, true, {AArch64::FeatureSME} }, // 1103
6520 { 14300 /* "SDER32_EL2" */, 0xE099, true, true, {AArch64::FeatureSEL2} }, // 1104
6521 { 14311 /* "SCTLRMASK_EL2" */, 0xE0A0, true, true, {} }, // 1105
6522 { 14325 /* "ACTLRMASK_EL2" */, 0xE0A1, true, true, {} }, // 1106
6523 { 14339 /* "CPTRMASK_EL2" */, 0xE0A2, true, true, {} }, // 1107
6524 { 14352 /* "SCTLR2MASK_EL2" */, 0xE0A3, true, true, {} }, // 1108
6525 { 14367 /* "NVHCR_EL2" */, 0xE0A8, true, true, {} }, // 1109
6526 { 14377 /* "NVHCRX_EL2" */, 0xE0A9, true, true, {} }, // 1110
6527 { 14388 /* "NVHCRMASK_EL2" */, 0xE0AC, true, true, {} }, // 1111
6528 { 14402 /* "NVHCRXMASK_EL2" */, 0xE0AD, true, true, {} }, // 1112
6529 { 14417 /* "HCRMASK_EL2" */, 0xE0AE, true, true, {} }, // 1113
6530 { 14429 /* "HCRXMASK_EL2" */, 0xE0AF, true, true, {} }, // 1114
6531 { 14442 /* "TTBR0_EL2" */, 0xE100, true, true, {AArch64::FeatureEL2VMSA} }, // 1115
6532 { 14452 /* "VSCTLR_EL2" */, 0xE100, true, true, {AArch64::HasV8_0rOps} }, // 1116
6533 { 14463 /* "TTBR1_EL2" */, 0xE101, true, true, {AArch64::FeatureVH} }, // 1117
6534 { 14473 /* "TCR_EL2" */, 0xE102, true, true, {} }, // 1118
6535 { 14481 /* "TCR2_EL2" */, 0xE103, true, true, {} }, // 1119
6536 { 14490 /* "IRTBRU_EL2" */, 0xE104, true, true, {} }, // 1120
6537 { 14501 /* "IRTBRP_EL2" */, 0xE105, true, true, {} }, // 1121
6538 { 14512 /* "DPOTBR0_EL2" */, 0xE106, true, true, {} }, // 1122
6539 { 14524 /* "DPOTBR1_EL2" */, 0xE107, true, true, {} }, // 1123
6540 { 14536 /* "VTTBR_EL2" */, 0xE108, true, true, {AArch64::FeatureEL2VMSA} }, // 1124
6541 { 14546 /* "VTCR_EL2" */, 0xE10A, true, true, {} }, // 1125
6542 { 14555 /* "LDSTT_EL2" */, 0xE10F, true, true, {} }, // 1126
6543 { 14565 /* "VNCR_EL2" */, 0xE110, true, true, {AArch64::FeatureNV} }, // 1127
6544 { 14574 /* "VNCCR_EL2" */, 0xE111, true, true, {} }, // 1128
6545 { 14584 /* "TPCR0_EL2" */, 0xE114, true, true, {} }, // 1129
6546 { 14594 /* "TPCR1_EL2" */, 0xE115, true, true, {} }, // 1130
6547 { 14604 /* "HDBSSBR_EL2" */, 0xE11A, true, true, {} }, // 1131
6548 { 14616 /* "HDBSSPROD_EL2" */, 0xE11B, true, true, {} }, // 1132
6549 { 14630 /* "HACDBSBR_EL2" */, 0xE11C, true, true, {} }, // 1133
6550 { 14643 /* "HACDBSCONS_EL2" */, 0xE11D, true, true, {} }, // 1134
6551 { 14658 /* "GCSCR_EL2" */, 0xE128, true, true, {} }, // 1135
6552 { 14668 /* "GCSPR_EL2" */, 0xE129, true, true, {} }, // 1136
6553 { 14678 /* "VSTTBR_EL2" */, 0xE130, true, true, {AArch64::HasV8_0aOps} }, // 1137
6554 { 14689 /* "VSTCR_EL2" */, 0xE132, true, true, {AArch64::FeatureSEL2} }, // 1138
6555 { 14699 /* "TCRMASK_EL2" */, 0xE13A, true, true, {} }, // 1139
6556 { 14711 /* "TCR2MASK_EL2" */, 0xE13B, true, true, {} }, // 1140
6557 { 14724 /* "VTLBID0_EL2" */, 0xE140, true, true, {} }, // 1141
6558 { 14736 /* "VTLBID1_EL2" */, 0xE141, true, true, {} }, // 1142
6559 { 14748 /* "VTLBID2_EL2" */, 0xE142, true, true, {} }, // 1143
6560 { 14760 /* "VTLBID3_EL2" */, 0xE143, true, true, {} }, // 1144
6561 { 14772 /* "VTLBIDOS0_EL2" */, 0xE148, true, true, {} }, // 1145
6562 { 14786 /* "VTLBIDOS1_EL2" */, 0xE149, true, true, {} }, // 1146
6563 { 14800 /* "VTLBIDOS2_EL2" */, 0xE14A, true, true, {} }, // 1147
6564 { 14814 /* "VTLBIDOS3_EL2" */, 0xE14B, true, true, {} }, // 1148
6565 { 14828 /* "DACR32_EL2" */, 0xE180, true, true, {} }, // 1149
6566 { 14839 /* "HDFGRTR2_EL2" */, 0xE188, true, true, {AArch64::FeatureFineGrainedTraps} }, // 1150
6567 { 14852 /* "HDFGWTR2_EL2" */, 0xE189, true, true, {AArch64::FeatureFineGrainedTraps} }, // 1151
6568 { 14865 /* "HFGRTR2_EL2" */, 0xE18A, true, true, {AArch64::FeatureFineGrainedTraps} }, // 1152
6569 { 14877 /* "HFGWTR2_EL2" */, 0xE18B, true, true, {AArch64::FeatureFineGrainedTraps} }, // 1153
6570 { 14889 /* "HDFGRTR_EL2" */, 0xE18C, true, true, {AArch64::FeatureFineGrainedTraps} }, // 1154
6571 { 14901 /* "HDFGWTR_EL2" */, 0xE18D, true, true, {AArch64::FeatureFineGrainedTraps} }, // 1155
6572 { 14913 /* "HAFGRTR_EL2" */, 0xE18E, true, true, {AArch64::FeatureFineGrainedTraps} }, // 1156
6573 { 14925 /* "HFGITR2_EL2" */, 0xE18F, true, true, {AArch64::FeatureFineGrainedTraps} }, // 1157
6574 { 14937 /* "FGDTP0_EL2" */, 0xE190, true, true, {} }, // 1158
6575 { 14948 /* "FGDTP1_EL2" */, 0xE191, true, true, {} }, // 1159
6576 { 14959 /* "FGDTP2_EL2" */, 0xE192, true, true, {} }, // 1160
6577 { 14970 /* "FGDTP3_EL2" */, 0xE193, true, true, {} }, // 1161
6578 { 14981 /* "FGDTP4_EL2" */, 0xE194, true, true, {} }, // 1162
6579 { 14992 /* "FGDTP5_EL2" */, 0xE195, true, true, {} }, // 1163
6580 { 15003 /* "FGDTP6_EL2" */, 0xE196, true, true, {} }, // 1164
6581 { 15014 /* "FGDTP7_EL2" */, 0xE197, true, true, {} }, // 1165
6582 { 15025 /* "FGDTP8_EL2" */, 0xE198, true, true, {} }, // 1166
6583 { 15036 /* "FGDTP9_EL2" */, 0xE199, true, true, {} }, // 1167
6584 { 15047 /* "FGDTP10_EL2" */, 0xE19A, true, true, {} }, // 1168
6585 { 15059 /* "FGDTP11_EL2" */, 0xE19B, true, true, {} }, // 1169
6586 { 15071 /* "FGDTP12_EL2" */, 0xE19C, true, true, {} }, // 1170
6587 { 15083 /* "FGDTP13_EL2" */, 0xE19D, true, true, {} }, // 1171
6588 { 15095 /* "FGDTP14_EL2" */, 0xE19E, true, true, {} }, // 1172
6589 { 15107 /* "FGDTP15_EL2" */, 0xE19F, true, true, {} }, // 1173
6590 { 15119 /* "FGDTU0_EL2" */, 0xE1A0, true, true, {} }, // 1174
6591 { 15130 /* "FGDTU1_EL2" */, 0xE1A1, true, true, {} }, // 1175
6592 { 15141 /* "FGDTU2_EL2" */, 0xE1A2, true, true, {} }, // 1176
6593 { 15152 /* "FGDTU3_EL2" */, 0xE1A3, true, true, {} }, // 1177
6594 { 15163 /* "FGDTU4_EL2" */, 0xE1A4, true, true, {} }, // 1178
6595 { 15174 /* "FGDTU5_EL2" */, 0xE1A5, true, true, {} }, // 1179
6596 { 15185 /* "FGDTU6_EL2" */, 0xE1A6, true, true, {} }, // 1180
6597 { 15196 /* "FGDTU7_EL2" */, 0xE1A7, true, true, {} }, // 1181
6598 { 15207 /* "FGDTU8_EL2" */, 0xE1A8, true, true, {} }, // 1182
6599 { 15218 /* "FGDTU9_EL2" */, 0xE1A9, true, true, {} }, // 1183
6600 { 15229 /* "FGDTU10_EL2" */, 0xE1AA, true, true, {} }, // 1184
6601 { 15241 /* "FGDTU11_EL2" */, 0xE1AB, true, true, {} }, // 1185
6602 { 15253 /* "FGDTU12_EL2" */, 0xE1AC, true, true, {} }, // 1186
6603 { 15265 /* "FGDTU13_EL2" */, 0xE1AD, true, true, {} }, // 1187
6604 { 15277 /* "FGDTU14_EL2" */, 0xE1AE, true, true, {} }, // 1188
6605 { 15289 /* "FGDTU15_EL2" */, 0xE1AF, true, true, {} }, // 1189
6606 { 15301 /* "AFGDTP0_EL2" */, 0xE1B0, true, true, {} }, // 1190
6607 { 15313 /* "AFGDTP1_EL2" */, 0xE1B1, true, true, {} }, // 1191
6608 { 15325 /* "AFGDTP2_EL2" */, 0xE1B2, true, true, {} }, // 1192
6609 { 15337 /* "AFGDTP3_EL2" */, 0xE1B3, true, true, {} }, // 1193
6610 { 15349 /* "AFGDTP4_EL2" */, 0xE1B4, true, true, {} }, // 1194
6611 { 15361 /* "AFGDTP5_EL2" */, 0xE1B5, true, true, {} }, // 1195
6612 { 15373 /* "AFGDTP6_EL2" */, 0xE1B6, true, true, {} }, // 1196
6613 { 15385 /* "AFGDTP7_EL2" */, 0xE1B7, true, true, {} }, // 1197
6614 { 15397 /* "AFGDTP8_EL2" */, 0xE1B8, true, true, {} }, // 1198
6615 { 15409 /* "AFGDTP9_EL2" */, 0xE1B9, true, true, {} }, // 1199
6616 { 15421 /* "AFGDTP10_EL2" */, 0xE1BA, true, true, {} }, // 1200
6617 { 15434 /* "AFGDTP11_EL2" */, 0xE1BB, true, true, {} }, // 1201
6618 { 15447 /* "AFGDTP12_EL2" */, 0xE1BC, true, true, {} }, // 1202
6619 { 15460 /* "AFGDTP13_EL2" */, 0xE1BD, true, true, {} }, // 1203
6620 { 15473 /* "AFGDTP14_EL2" */, 0xE1BE, true, true, {} }, // 1204
6621 { 15486 /* "AFGDTP15_EL2" */, 0xE1BF, true, true, {} }, // 1205
6622 { 15499 /* "AFGDTU0_EL2" */, 0xE1C0, true, true, {} }, // 1206
6623 { 15511 /* "AFGDTU1_EL2" */, 0xE1C1, true, true, {} }, // 1207
6624 { 15523 /* "AFGDTU2_EL2" */, 0xE1C2, true, true, {} }, // 1208
6625 { 15535 /* "AFGDTU3_EL2" */, 0xE1C3, true, true, {} }, // 1209
6626 { 15547 /* "AFGDTU4_EL2" */, 0xE1C4, true, true, {} }, // 1210
6627 { 15559 /* "AFGDTU5_EL2" */, 0xE1C5, true, true, {} }, // 1211
6628 { 15571 /* "AFGDTU6_EL2" */, 0xE1C6, true, true, {} }, // 1212
6629 { 15583 /* "AFGDTU7_EL2" */, 0xE1C7, true, true, {} }, // 1213
6630 { 15595 /* "AFGDTU8_EL2" */, 0xE1C8, true, true, {} }, // 1214
6631 { 15607 /* "AFGDTU9_EL2" */, 0xE1C9, true, true, {} }, // 1215
6632 { 15619 /* "AFGDTU10_EL2" */, 0xE1CA, true, true, {} }, // 1216
6633 { 15632 /* "AFGDTU11_EL2" */, 0xE1CB, true, true, {} }, // 1217
6634 { 15645 /* "AFGDTU12_EL2" */, 0xE1CC, true, true, {} }, // 1218
6635 { 15658 /* "AFGDTU13_EL2" */, 0xE1CD, true, true, {} }, // 1219
6636 { 15671 /* "AFGDTU14_EL2" */, 0xE1CE, true, true, {} }, // 1220
6637 { 15684 /* "AFGDTU15_EL2" */, 0xE1CF, true, true, {} }, // 1221
6638 { 15697 /* "SPSR_EL2" */, 0xE200, true, true, {} }, // 1222
6639 { 15706 /* "ELR_EL2" */, 0xE201, true, true, {} }, // 1223
6640 { 15714 /* "STINDEX_EL2" */, 0xE202, true, true, {} }, // 1224
6641 { 15726 /* "TINDEX_EL2" */, 0xE203, true, true, {} }, // 1225
6642 { 15737 /* "SP_EL1" */, 0xE208, true, true, {} }, // 1226
6643 { 15744 /* "SPSR_irq" */, 0xE218, true, true, {} }, // 1227
6644 { 15753 /* "SPSR_abt" */, 0xE219, true, true, {} }, // 1228
6645 { 15762 /* "SPSR_und" */, 0xE21A, true, true, {} }, // 1229
6646 { 15771 /* "SPSR_fiq" */, 0xE21B, true, true, {} }, // 1230
6647 { 15780 /* "IFSR32_EL2" */, 0xE281, true, true, {} }, // 1231
6648 { 15791 /* "AFSR0_EL2" */, 0xE288, true, true, {} }, // 1232
6649 { 15801 /* "AFSR1_EL2" */, 0xE289, true, true, {} }, // 1233
6650 { 15811 /* "ESR_EL2" */, 0xE290, true, true, {} }, // 1234
6651 { 15819 /* "VSESR_EL2" */, 0xE293, true, true, {AArch64::FeatureRAS} }, // 1235
6652 { 15829 /* "FPEXC32_EL2" */, 0xE298, true, true, {} }, // 1236
6653 { 15841 /* "TFSR_EL2" */, 0xE2B0, true, true, {AArch64::FeatureMTE} }, // 1237
6654 { 15850 /* "FAR_EL2" */, 0xE300, true, true, {} }, // 1238
6655 { 15858 /* "HPFAR_EL2" */, 0xE304, true, true, {} }, // 1239
6656 { 15868 /* "PFAR_EL2" */, 0xE305, true, true, {} }, // 1240
6657 { 15877 /* "PRENR_EL2" */, 0xE309, true, true, {AArch64::HasV8_0rOps} }, // 1241
6658 { 15887 /* "PRSELR_EL2" */, 0xE311, true, true, {AArch64::HasV8_0rOps} }, // 1242
6659 { 15898 /* "PRBAR_EL2" */, 0xE340, true, true, {AArch64::HasV8_0rOps} }, // 1243
6660 { 15908 /* "PRLAR_EL2" */, 0xE341, true, true, {AArch64::HasV8_0rOps} }, // 1244
6661 { 15918 /* "PRBAR1_EL2" */, 0xE344, true, true, {AArch64::HasV8_0rOps} }, // 1245
6662 { 15929 /* "PRLAR1_EL2" */, 0xE345, true, true, {AArch64::HasV8_0rOps} }, // 1246
6663 { 15940 /* "PRBAR2_EL2" */, 0xE348, true, true, {AArch64::HasV8_0rOps} }, // 1247
6664 { 15951 /* "PRLAR2_EL2" */, 0xE349, true, true, {AArch64::HasV8_0rOps} }, // 1248
6665 { 15962 /* "PRBAR3_EL2" */, 0xE34C, true, true, {AArch64::HasV8_0rOps} }, // 1249
6666 { 15973 /* "PRLAR3_EL2" */, 0xE34D, true, true, {AArch64::HasV8_0rOps} }, // 1250
6667 { 15984 /* "PRBAR4_EL2" */, 0xE350, true, true, {AArch64::HasV8_0rOps} }, // 1251
6668 { 15995 /* "PRLAR4_EL2" */, 0xE351, true, true, {AArch64::HasV8_0rOps} }, // 1252
6669 { 16006 /* "PRBAR5_EL2" */, 0xE354, true, true, {AArch64::HasV8_0rOps} }, // 1253
6670 { 16017 /* "PRLAR5_EL2" */, 0xE355, true, true, {AArch64::HasV8_0rOps} }, // 1254
6671 { 16028 /* "PRBAR6_EL2" */, 0xE358, true, true, {AArch64::HasV8_0rOps} }, // 1255
6672 { 16039 /* "PRLAR6_EL2" */, 0xE359, true, true, {AArch64::HasV8_0rOps} }, // 1256
6673 { 16050 /* "PRBAR7_EL2" */, 0xE35C, true, true, {AArch64::HasV8_0rOps} }, // 1257
6674 { 16061 /* "PRLAR7_EL2" */, 0xE35D, true, true, {AArch64::HasV8_0rOps} }, // 1258
6675 { 16072 /* "PRBAR8_EL2" */, 0xE360, true, true, {AArch64::HasV8_0rOps} }, // 1259
6676 { 16083 /* "PRLAR8_EL2" */, 0xE361, true, true, {AArch64::HasV8_0rOps} }, // 1260
6677 { 16094 /* "PRBAR9_EL2" */, 0xE364, true, true, {AArch64::HasV8_0rOps} }, // 1261
6678 { 16105 /* "PRLAR9_EL2" */, 0xE365, true, true, {AArch64::HasV8_0rOps} }, // 1262
6679 { 16116 /* "PRBAR10_EL2" */, 0xE368, true, true, {AArch64::HasV8_0rOps} }, // 1263
6680 { 16128 /* "PRLAR10_EL2" */, 0xE369, true, true, {AArch64::HasV8_0rOps} }, // 1264
6681 { 16140 /* "PRBAR11_EL2" */, 0xE36C, true, true, {AArch64::HasV8_0rOps} }, // 1265
6682 { 16152 /* "PRLAR11_EL2" */, 0xE36D, true, true, {AArch64::HasV8_0rOps} }, // 1266
6683 { 16164 /* "PRBAR12_EL2" */, 0xE370, true, true, {AArch64::HasV8_0rOps} }, // 1267
6684 { 16176 /* "PRLAR12_EL2" */, 0xE371, true, true, {AArch64::HasV8_0rOps} }, // 1268
6685 { 16188 /* "PRBAR13_EL2" */, 0xE374, true, true, {AArch64::HasV8_0rOps} }, // 1269
6686 { 16200 /* "PRLAR13_EL2" */, 0xE375, true, true, {AArch64::HasV8_0rOps} }, // 1270
6687 { 16212 /* "PRBAR14_EL2" */, 0xE378, true, true, {AArch64::HasV8_0rOps} }, // 1271
6688 { 16224 /* "PRLAR14_EL2" */, 0xE379, true, true, {AArch64::HasV8_0rOps} }, // 1272
6689 { 16236 /* "PRBAR15_EL2" */, 0xE37C, true, true, {AArch64::HasV8_0rOps} }, // 1273
6690 { 16248 /* "PRLAR15_EL2" */, 0xE37D, true, true, {AArch64::HasV8_0rOps} }, // 1274
6691 { 16260 /* "PMSCR_EL2" */, 0xE4C8, true, true, {AArch64::FeatureSPE} }, // 1275
6692 { 16270 /* "PMBSR_EL2" */, 0xE4D3, true, true, {} }, // 1276
6693 { 16280 /* "TRBSR_EL2" */, 0xE4DB, true, true, {} }, // 1277
6694 { 16290 /* "MAIR2_EL2" */, 0xE509, true, true, {} }, // 1278
6695 { 16300 /* "MAIR_EL2" */, 0xE510, true, true, {} }, // 1279
6696 { 16309 /* "PIRE0_EL2" */, 0xE512, true, true, {} }, // 1280
6697 { 16319 /* "PIR_EL2" */, 0xE513, true, true, {} }, // 1281
6698 { 16327 /* "POR_EL2" */, 0xE514, true, true, {} }, // 1282
6699 { 16335 /* "S2PIR_EL2" */, 0xE515, true, true, {} }, // 1283
6700 { 16345 /* "TTTBRU_EL2" */, 0xE516, true, true, {} }, // 1284
6701 { 16356 /* "TTTBRP_EL2" */, 0xE517, true, true, {} }, // 1285
6702 { 16367 /* "AMAIR_EL2" */, 0xE518, true, true, {} }, // 1286
6703 { 16377 /* "AMAIR2_EL2" */, 0xE519, true, true, {} }, // 1287
6704 { 16388 /* "MPAMHCR_EL2" */, 0xE520, true, true, {} }, // 1288
6705 { 16400 /* "MPAMVPMV_EL2" */, 0xE521, true, true, {} }, // 1289
6706 { 16413 /* "MPAM2_EL2" */, 0xE528, true, true, {} }, // 1290
6707 { 16423 /* "MPAMCTL_EL2" */, 0xE52A, true, true, {} }, // 1291
6708 { 16435 /* "MPAMBW2_EL2" */, 0xE52C, true, true, {} }, // 1292
6709 { 16447 /* "MPAMBWCAP_EL2" */, 0xE52E, true, true, {} }, // 1293
6710 { 16461 /* "MPAMVPM0_EL2" */, 0xE530, true, true, {} }, // 1294
6711 { 16474 /* "MPAMVPM1_EL2" */, 0xE531, true, true, {} }, // 1295
6712 { 16487 /* "MPAMVPM2_EL2" */, 0xE532, true, true, {} }, // 1296
6713 { 16500 /* "MPAMVPM3_EL2" */, 0xE533, true, true, {} }, // 1297
6714 { 16513 /* "MPAMVPM4_EL2" */, 0xE534, true, true, {} }, // 1298
6715 { 16526 /* "MPAMVPM5_EL2" */, 0xE535, true, true, {} }, // 1299
6716 { 16539 /* "MPAMVPM6_EL2" */, 0xE536, true, true, {} }, // 1300
6717 { 16552 /* "MPAMVPM7_EL2" */, 0xE537, true, true, {} }, // 1301
6718 { 16565 /* "MECID_P0_EL2" */, 0xE540, true, true, {AArch64::FeatureMEC} }, // 1302
6719 { 16578 /* "MECID_A0_EL2" */, 0xE541, true, true, {AArch64::FeatureMEC} }, // 1303
6720 { 16591 /* "MECID_P1_EL2" */, 0xE542, true, true, {AArch64::FeatureMEC} }, // 1304
6721 { 16604 /* "MECID_A1_EL2" */, 0xE543, true, true, {AArch64::FeatureMEC} }, // 1305
6722 { 16617 /* "MECIDR_EL2" */, 0xE547, true, false, {AArch64::FeatureMEC} }, // 1306
6723 { 16628 /* "VMECID_P_EL2" */, 0xE548, true, true, {AArch64::FeatureMEC} }, // 1307
6724 { 16641 /* "VMECID_A_EL2" */, 0xE549, true, true, {AArch64::FeatureMEC} }, // 1308
6725 { 16654 /* "VBAR_EL2" */, 0xE600, true, true, {} }, // 1309
6726 { 16663 /* "RVBAR_EL2" */, 0xE601, true, false, {} }, // 1310
6727 { 16673 /* "RMR_EL2" */, 0xE602, true, true, {} }, // 1311
6728 { 16681 /* "VDISR_EL2" */, 0xE609, true, true, {AArch64::FeatureRAS} }, // 1312
6729 { 16691 /* "ICH_PPI_HVIR0_EL2" */, 0xE638, true, true, {} }, // 1313
6730 { 16709 /* "ICH_PPI_HVIR1_EL2" */, 0xE639, true, true, {} }, // 1314
6731 { 16727 /* "ICH_AP0R0_EL2" */, 0xE640, true, true, {} }, // 1315
6732 { 16741 /* "ICH_AP0R1_EL2" */, 0xE641, true, true, {} }, // 1316
6733 { 16755 /* "ICH_AP0R2_EL2" */, 0xE642, true, true, {} }, // 1317
6734 { 16769 /* "ICH_AP0R3_EL2" */, 0xE643, true, true, {} }, // 1318
6735 { 16783 /* "ICH_APR_EL2" */, 0xE644, true, true, {} }, // 1319
6736 { 16795 /* "ICH_HPPIR_EL2" */, 0xE645, true, false, {} }, // 1320
6737 { 16809 /* "ICH_AP1R0_EL2" */, 0xE648, true, true, {} }, // 1321
6738 { 16823 /* "ICH_AP1R1_EL2" */, 0xE649, true, true, {} }, // 1322
6739 { 16837 /* "ICH_AP1R2_EL2" */, 0xE64A, true, true, {} }, // 1323
6740 { 16851 /* "ICH_AP1R3_EL2" */, 0xE64B, true, true, {} }, // 1324
6741 { 16865 /* "ICH_HFGRTR_EL2" */, 0xE64C, true, true, {} }, // 1325
6742 { 16880 /* "ICC_SRE_EL2" */, 0xE64D, true, true, {} }, // 1326
6743 { 16892 /* "ICH_HFGWTR_EL2" */, 0xE64E, true, true, {} }, // 1327
6744 { 16907 /* "ICH_HFGITR_EL2" */, 0xE64F, true, true, {} }, // 1328
6745 { 16922 /* "ICH_PPI_DVIR0_EL2" */, 0xE650, true, true, {} }, // 1329
6746 { 16940 /* "ICH_PPI_DVIR1_EL2" */, 0xE651, true, true, {} }, // 1330
6747 { 16958 /* "ICH_PPI_ENABLER0_EL2" */, 0xE652, true, true, {} }, // 1331
6748 { 16979 /* "ICH_PPI_ENABLER1_EL2" */, 0xE653, true, true, {} }, // 1332
6749 { 17000 /* "ICH_PPI_PENDR0_EL2" */, 0xE654, true, true, {} }, // 1333
6750 { 17019 /* "ICH_PPI_PENDR1_EL2" */, 0xE655, true, true, {} }, // 1334
6751 { 17038 /* "ICH_PPI_ACTIVER0_EL2" */, 0xE656, true, true, {} }, // 1335
6752 { 17059 /* "ICH_PPI_ACTIVER1_EL2" */, 0xE657, true, true, {} }, // 1336
6753 { 17080 /* "ICH_HCR_EL2" */, 0xE658, true, true, {} }, // 1337
6754 { 17092 /* "ICH_VTR_EL2" */, 0xE659, true, false, {} }, // 1338
6755 { 17104 /* "ICH_MISR_EL2" */, 0xE65A, true, false, {} }, // 1339
6756 { 17117 /* "ICH_EISR_EL2" */, 0xE65B, true, false, {} }, // 1340
6757 { 17130 /* "ICH_VCTLR_EL2" */, 0xE65C, true, true, {} }, // 1341
6758 { 17144 /* "ICH_ELRSR_EL2" */, 0xE65D, true, false, {} }, // 1342
6759 { 17158 /* "ICH_CONTEXTR_EL2" */, 0xE65E, true, true, {} }, // 1343
6760 { 17175 /* "ICH_VMCR_EL2" */, 0xE65F, true, true, {} }, // 1344
6761 { 17188 /* "ICH_LR0_EL2" */, 0xE660, true, true, {} }, // 1345
6762 { 17200 /* "ICH_LR1_EL2" */, 0xE661, true, true, {} }, // 1346
6763 { 17212 /* "ICH_LR2_EL2" */, 0xE662, true, true, {} }, // 1347
6764 { 17224 /* "ICH_LR3_EL2" */, 0xE663, true, true, {} }, // 1348
6765 { 17236 /* "ICH_LR4_EL2" */, 0xE664, true, true, {} }, // 1349
6766 { 17248 /* "ICH_LR5_EL2" */, 0xE665, true, true, {} }, // 1350
6767 { 17260 /* "ICH_LR6_EL2" */, 0xE666, true, true, {} }, // 1351
6768 { 17272 /* "ICH_LR7_EL2" */, 0xE667, true, true, {} }, // 1352
6769 { 17284 /* "ICH_LR8_EL2" */, 0xE668, true, true, {} }, // 1353
6770 { 17296 /* "ICH_LR9_EL2" */, 0xE669, true, true, {} }, // 1354
6771 { 17308 /* "ICH_LR10_EL2" */, 0xE66A, true, true, {} }, // 1355
6772 { 17321 /* "ICH_LR11_EL2" */, 0xE66B, true, true, {} }, // 1356
6773 { 17334 /* "ICH_LR12_EL2" */, 0xE66C, true, true, {} }, // 1357
6774 { 17347 /* "ICH_LR13_EL2" */, 0xE66D, true, true, {} }, // 1358
6775 { 17360 /* "ICH_LR14_EL2" */, 0xE66E, true, true, {} }, // 1359
6776 { 17373 /* "ICH_LR15_EL2" */, 0xE66F, true, true, {} }, // 1360
6777 { 17386 /* "ICH_PPI_PRIORITYR0_EL2" */, 0xE670, true, true, {} }, // 1361
6778 { 17409 /* "ICH_PPI_PRIORITYR1_EL2" */, 0xE671, true, true, {} }, // 1362
6779 { 17432 /* "ICH_PPI_PRIORITYR2_EL2" */, 0xE672, true, true, {} }, // 1363
6780 { 17455 /* "ICH_PPI_PRIORITYR3_EL2" */, 0xE673, true, true, {} }, // 1364
6781 { 17478 /* "ICH_PPI_PRIORITYR4_EL2" */, 0xE674, true, true, {} }, // 1365
6782 { 17501 /* "ICH_PPI_PRIORITYR5_EL2" */, 0xE675, true, true, {} }, // 1366
6783 { 17524 /* "ICH_PPI_PRIORITYR6_EL2" */, 0xE676, true, true, {} }, // 1367
6784 { 17547 /* "ICH_PPI_PRIORITYR7_EL2" */, 0xE677, true, true, {} }, // 1368
6785 { 17570 /* "ICH_PPI_PRIORITYR8_EL2" */, 0xE678, true, true, {} }, // 1369
6786 { 17593 /* "ICH_PPI_PRIORITYR9_EL2" */, 0xE679, true, true, {} }, // 1370
6787 { 17616 /* "ICH_PPI_PRIORITYR10_EL2" */, 0xE67A, true, true, {} }, // 1371
6788 { 17640 /* "ICH_PPI_PRIORITYR11_EL2" */, 0xE67B, true, true, {} }, // 1372
6789 { 17664 /* "ICH_PPI_PRIORITYR12_EL2" */, 0xE67C, true, true, {} }, // 1373
6790 { 17688 /* "ICH_PPI_PRIORITYR13_EL2" */, 0xE67D, true, true, {} }, // 1374
6791 { 17712 /* "ICH_PPI_PRIORITYR14_EL2" */, 0xE67E, true, true, {} }, // 1375
6792 { 17736 /* "ICH_PPI_PRIORITYR15_EL2" */, 0xE67F, true, true, {} }, // 1376
6793 { 17760 /* "TPIDR3_EL2" */, 0xE680, true, true, {} }, // 1377
6794 { 17771 /* "CONTEXTIDR_EL2" */, 0xE681, true, true, {AArch64::FeatureCONTEXTIDREL2} }, // 1378
6795 { 17786 /* "TPIDR_EL2" */, 0xE682, true, true, {} }, // 1379
6796 { 17796 /* "SCXTNUM_EL2" */, 0xE687, true, true, {AArch64::FeatureSpecRestrict} }, // 1380
6797 { 17808 /* "AMEVCNTVOFF00_EL2" */, 0xE6C0, true, true, {AArch64::FeatureAMVS} }, // 1381
6798 { 17826 /* "AMEVCNTVOFF01_EL2" */, 0xE6C1, true, true, {AArch64::FeatureAMVS} }, // 1382
6799 { 17844 /* "AMEVCNTVOFF02_EL2" */, 0xE6C2, true, true, {AArch64::FeatureAMVS} }, // 1383
6800 { 17862 /* "AMEVCNTVOFF03_EL2" */, 0xE6C3, true, true, {AArch64::FeatureAMVS} }, // 1384
6801 { 17880 /* "AMEVCNTVOFF04_EL2" */, 0xE6C4, true, true, {AArch64::FeatureAMVS} }, // 1385
6802 { 17898 /* "AMEVCNTVOFF05_EL2" */, 0xE6C5, true, true, {AArch64::FeatureAMVS} }, // 1386
6803 { 17916 /* "AMEVCNTVOFF06_EL2" */, 0xE6C6, true, true, {AArch64::FeatureAMVS} }, // 1387
6804 { 17934 /* "AMEVCNTVOFF07_EL2" */, 0xE6C7, true, true, {AArch64::FeatureAMVS} }, // 1388
6805 { 17952 /* "AMEVCNTVOFF08_EL2" */, 0xE6C8, true, true, {AArch64::FeatureAMVS} }, // 1389
6806 { 17970 /* "AMEVCNTVOFF09_EL2" */, 0xE6C9, true, true, {AArch64::FeatureAMVS} }, // 1390
6807 { 17988 /* "AMEVCNTVOFF010_EL2" */, 0xE6CA, true, true, {AArch64::FeatureAMVS} }, // 1391
6808 { 18007 /* "AMEVCNTVOFF011_EL2" */, 0xE6CB, true, true, {AArch64::FeatureAMVS} }, // 1392
6809 { 18026 /* "AMEVCNTVOFF012_EL2" */, 0xE6CC, true, true, {AArch64::FeatureAMVS} }, // 1393
6810 { 18045 /* "AMEVCNTVOFF013_EL2" */, 0xE6CD, true, true, {AArch64::FeatureAMVS} }, // 1394
6811 { 18064 /* "AMEVCNTVOFF014_EL2" */, 0xE6CE, true, true, {AArch64::FeatureAMVS} }, // 1395
6812 { 18083 /* "AMEVCNTVOFF015_EL2" */, 0xE6CF, true, true, {AArch64::FeatureAMVS} }, // 1396
6813 { 18102 /* "AMEVCNTVOFF10_EL2" */, 0xE6D0, true, true, {AArch64::FeatureAMVS} }, // 1397
6814 { 18120 /* "AMEVCNTVOFF11_EL2" */, 0xE6D1, true, true, {AArch64::FeatureAMVS} }, // 1398
6815 { 18138 /* "AMEVCNTVOFF12_EL2" */, 0xE6D2, true, true, {AArch64::FeatureAMVS} }, // 1399
6816 { 18156 /* "AMEVCNTVOFF13_EL2" */, 0xE6D3, true, true, {AArch64::FeatureAMVS} }, // 1400
6817 { 18174 /* "AMEVCNTVOFF14_EL2" */, 0xE6D4, true, true, {AArch64::FeatureAMVS} }, // 1401
6818 { 18192 /* "AMEVCNTVOFF15_EL2" */, 0xE6D5, true, true, {AArch64::FeatureAMVS} }, // 1402
6819 { 18210 /* "AMEVCNTVOFF16_EL2" */, 0xE6D6, true, true, {AArch64::FeatureAMVS} }, // 1403
6820 { 18228 /* "AMEVCNTVOFF17_EL2" */, 0xE6D7, true, true, {AArch64::FeatureAMVS} }, // 1404
6821 { 18246 /* "AMEVCNTVOFF18_EL2" */, 0xE6D8, true, true, {AArch64::FeatureAMVS} }, // 1405
6822 { 18264 /* "AMEVCNTVOFF19_EL2" */, 0xE6D9, true, true, {AArch64::FeatureAMVS} }, // 1406
6823 { 18282 /* "AMEVCNTVOFF110_EL2" */, 0xE6DA, true, true, {AArch64::FeatureAMVS} }, // 1407
6824 { 18301 /* "AMEVCNTVOFF111_EL2" */, 0xE6DB, true, true, {AArch64::FeatureAMVS} }, // 1408
6825 { 18320 /* "AMEVCNTVOFF112_EL2" */, 0xE6DC, true, true, {AArch64::FeatureAMVS} }, // 1409
6826 { 18339 /* "AMEVCNTVOFF113_EL2" */, 0xE6DD, true, true, {AArch64::FeatureAMVS} }, // 1410
6827 { 18358 /* "AMEVCNTVOFF114_EL2" */, 0xE6DE, true, true, {AArch64::FeatureAMVS} }, // 1411
6828 { 18377 /* "AMEVCNTVOFF115_EL2" */, 0xE6DF, true, true, {AArch64::FeatureAMVS} }, // 1412
6829 { 18396 /* "CNTVOFF_EL2" */, 0xE703, true, true, {} }, // 1413
6830 { 18408 /* "CNTSCALE_EL2" */, 0xE704, true, true, {AArch64::FeatureEnhancedCounterVirtualization} }, // 1414
6831 { 18421 /* "CNTISCALE_EL2" */, 0xE705, true, true, {AArch64::FeatureEnhancedCounterVirtualization} }, // 1415
6832 { 18435 /* "CNTPOFF_EL2" */, 0xE706, true, true, {AArch64::FeatureEnhancedCounterVirtualization} }, // 1416
6833 { 18447 /* "CNTVFRQ_EL2" */, 0xE707, true, true, {AArch64::FeatureEnhancedCounterVirtualization} }, // 1417
6834 { 18459 /* "CNTHCTL_EL2" */, 0xE708, true, true, {} }, // 1418
6835 { 18471 /* "CNTHP_TVAL_EL2" */, 0xE710, true, true, {} }, // 1419
6836 { 18486 /* "CNTHP_CTL_EL2" */, 0xE711, true, true, {} }, // 1420
6837 { 18500 /* "CNTHP_CVAL_EL2" */, 0xE712, true, true, {} }, // 1421
6838 { 18515 /* "CNTHV_TVAL_EL2" */, 0xE718, true, true, {AArch64::FeatureVH} }, // 1422
6839 { 18530 /* "CNTHV_CTL_EL2" */, 0xE719, true, true, {AArch64::FeatureVH} }, // 1423
6840 { 18544 /* "CNTHV_CVAL_EL2" */, 0xE71A, true, true, {AArch64::FeatureVH} }, // 1424
6841 { 18559 /* "CNTHVS_TVAL_EL2" */, 0xE720, true, true, {AArch64::FeatureSEL2} }, // 1425
6842 { 18575 /* "CNTHVS_CTL_EL2" */, 0xE721, true, true, {AArch64::FeatureSEL2} }, // 1426
6843 { 18590 /* "CNTHVS_CVAL_EL2" */, 0xE722, true, true, {AArch64::FeatureSEL2} }, // 1427
6844 { 18606 /* "CNTHPS_TVAL_EL2" */, 0xE728, true, true, {AArch64::FeatureSEL2} }, // 1428
6845 { 18622 /* "CNTHPS_CTL_EL2" */, 0xE729, true, true, {AArch64::FeatureSEL2} }, // 1429
6846 { 18637 /* "CNTHPS_CVAL_EL2" */, 0xE72A, true, true, {AArch64::FeatureSEL2} }, // 1430
6847 { 18653 /* "SCTLR_EL12" */, 0xE880, true, true, {AArch64::FeatureVH} }, // 1431
6848 { 18664 /* "ACTLR_EL12" */, 0xE881, true, true, {} }, // 1432
6849 { 18675 /* "CPACR_EL12" */, 0xE882, true, true, {AArch64::FeatureVH} }, // 1433
6850 { 18686 /* "SCTLR2_EL12" */, 0xE883, true, true, {} }, // 1434
6851 { 18698 /* "ZCR_EL12" */, 0xE890, true, true, {AArch64::FeatureSVE} }, // 1435
6852 { 18707 /* "TRFCR_EL12" */, 0xE891, true, true, {AArch64::FeatureTRACEV8_4} }, // 1436
6853 { 18718 /* "TRCITECR_EL12" */, 0xE893, true, true, {AArch64::FeatureITE} }, // 1437
6854 { 18732 /* "SMCR_EL12" */, 0xE896, true, true, {AArch64::FeatureSME} }, // 1438
6855 { 18742 /* "SCTLRMASK_EL12" */, 0xE8A0, true, true, {} }, // 1439
6856 { 18757 /* "ACTLRMASK_EL12" */, 0xE8A1, true, true, {} }, // 1440
6857 { 18772 /* "CPACRMASK_EL12" */, 0xE8A2, true, true, {} }, // 1441
6858 { 18787 /* "SCTLR2MASK_EL12" */, 0xE8A3, true, true, {} }, // 1442
6859 { 18803 /* "TTBR0_EL12" */, 0xE900, true, true, {AArch64::FeatureVH} }, // 1443
6860 { 18814 /* "TTBR1_EL12" */, 0xE901, true, true, {AArch64::FeatureVH} }, // 1444
6861 { 18825 /* "TCR_EL12" */, 0xE902, true, true, {AArch64::FeatureVH} }, // 1445
6862 { 18834 /* "TCR2_EL12" */, 0xE903, true, true, {} }, // 1446
6863 { 18844 /* "IRTBRU_EL12" */, 0xE904, true, true, {} }, // 1447
6864 { 18856 /* "IRTBRP_EL12" */, 0xE905, true, true, {} }, // 1448
6865 { 18868 /* "DPOTBR0_EL12" */, 0xE906, true, true, {} }, // 1449
6866 { 18881 /* "DPOTBR1_EL12" */, 0xE907, true, true, {} }, // 1450
6867 { 18894 /* "LDSTT_EL12" */, 0xE90F, true, true, {} }, // 1451
6868 { 18905 /* "TPCR0_EL12" */, 0xE914, true, true, {} }, // 1452
6869 { 18916 /* "TPCR1_EL12" */, 0xE915, true, true, {} }, // 1453
6870 { 18927 /* "GCSCR_EL12" */, 0xE928, true, true, {} }, // 1454
6871 { 18938 /* "GCSPR_EL12" */, 0xE929, true, true, {} }, // 1455
6872 { 18949 /* "TCRMASK_EL12" */, 0xE93A, true, true, {} }, // 1456
6873 { 18962 /* "TCR2MASK_EL12" */, 0xE93B, true, true, {} }, // 1457
6874 { 18976 /* "FGDTP0_EL12" */, 0xE990, true, true, {} }, // 1458
6875 { 18988 /* "FGDTP1_EL12" */, 0xE991, true, true, {} }, // 1459
6876 { 19000 /* "FGDTP2_EL12" */, 0xE992, true, true, {} }, // 1460
6877 { 19012 /* "FGDTP3_EL12" */, 0xE993, true, true, {} }, // 1461
6878 { 19024 /* "FGDTP4_EL12" */, 0xE994, true, true, {} }, // 1462
6879 { 19036 /* "FGDTP5_EL12" */, 0xE995, true, true, {} }, // 1463
6880 { 19048 /* "FGDTP6_EL12" */, 0xE996, true, true, {} }, // 1464
6881 { 19060 /* "FGDTP7_EL12" */, 0xE997, true, true, {} }, // 1465
6882 { 19072 /* "FGDTP8_EL12" */, 0xE998, true, true, {} }, // 1466
6883 { 19084 /* "FGDTP9_EL12" */, 0xE999, true, true, {} }, // 1467
6884 { 19096 /* "FGDTP10_EL12" */, 0xE99A, true, true, {} }, // 1468
6885 { 19109 /* "FGDTP11_EL12" */, 0xE99B, true, true, {} }, // 1469
6886 { 19122 /* "FGDTP12_EL12" */, 0xE99C, true, true, {} }, // 1470
6887 { 19135 /* "FGDTP13_EL12" */, 0xE99D, true, true, {} }, // 1471
6888 { 19148 /* "FGDTP14_EL12" */, 0xE99E, true, true, {} }, // 1472
6889 { 19161 /* "FGDTP15_EL12" */, 0xE99F, true, true, {} }, // 1473
6890 { 19174 /* "FGDTU0_EL12" */, 0xE9A0, true, true, {} }, // 1474
6891 { 19186 /* "FGDTU1_EL12" */, 0xE9A1, true, true, {} }, // 1475
6892 { 19198 /* "FGDTU2_EL12" */, 0xE9A2, true, true, {} }, // 1476
6893 { 19210 /* "FGDTU3_EL12" */, 0xE9A3, true, true, {} }, // 1477
6894 { 19222 /* "FGDTU4_EL12" */, 0xE9A4, true, true, {} }, // 1478
6895 { 19234 /* "FGDTU5_EL12" */, 0xE9A5, true, true, {} }, // 1479
6896 { 19246 /* "FGDTU6_EL12" */, 0xE9A6, true, true, {} }, // 1480
6897 { 19258 /* "FGDTU7_EL12" */, 0xE9A7, true, true, {} }, // 1481
6898 { 19270 /* "FGDTU8_EL12" */, 0xE9A8, true, true, {} }, // 1482
6899 { 19282 /* "FGDTU9_EL12" */, 0xE9A9, true, true, {} }, // 1483
6900 { 19294 /* "FGDTU10_EL12" */, 0xE9AA, true, true, {} }, // 1484
6901 { 19307 /* "FGDTU11_EL12" */, 0xE9AB, true, true, {} }, // 1485
6902 { 19320 /* "FGDTU12_EL12" */, 0xE9AC, true, true, {} }, // 1486
6903 { 19333 /* "FGDTU13_EL12" */, 0xE9AD, true, true, {} }, // 1487
6904 { 19346 /* "FGDTU14_EL12" */, 0xE9AE, true, true, {} }, // 1488
6905 { 19359 /* "FGDTU15_EL12" */, 0xE9AF, true, true, {} }, // 1489
6906 { 19372 /* "AFGDTP0_EL12" */, 0xE9B0, true, true, {} }, // 1490
6907 { 19385 /* "AFGDTP1_EL12" */, 0xE9B1, true, true, {} }, // 1491
6908 { 19398 /* "AFGDTP2_EL12" */, 0xE9B2, true, true, {} }, // 1492
6909 { 19411 /* "AFGDTP3_EL12" */, 0xE9B3, true, true, {} }, // 1493
6910 { 19424 /* "AFGDTP4_EL12" */, 0xE9B4, true, true, {} }, // 1494
6911 { 19437 /* "AFGDTP5_EL12" */, 0xE9B5, true, true, {} }, // 1495
6912 { 19450 /* "AFGDTP6_EL12" */, 0xE9B6, true, true, {} }, // 1496
6913 { 19463 /* "AFGDTP7_EL12" */, 0xE9B7, true, true, {} }, // 1497
6914 { 19476 /* "AFGDTP8_EL12" */, 0xE9B8, true, true, {} }, // 1498
6915 { 19489 /* "AFGDTP9_EL12" */, 0xE9B9, true, true, {} }, // 1499
6916 { 19502 /* "AFGDTP10_EL12" */, 0xE9BA, true, true, {} }, // 1500
6917 { 19516 /* "AFGDTP11_EL12" */, 0xE9BB, true, true, {} }, // 1501
6918 { 19530 /* "AFGDTP12_EL12" */, 0xE9BC, true, true, {} }, // 1502
6919 { 19544 /* "AFGDTP13_EL12" */, 0xE9BD, true, true, {} }, // 1503
6920 { 19558 /* "AFGDTP14_EL12" */, 0xE9BE, true, true, {} }, // 1504
6921 { 19572 /* "AFGDTP15_EL12" */, 0xE9BF, true, true, {} }, // 1505
6922 { 19586 /* "AFGDTU0_EL12" */, 0xE9C0, true, true, {} }, // 1506
6923 { 19599 /* "AFGDTU1_EL12" */, 0xE9C1, true, true, {} }, // 1507
6924 { 19612 /* "AFGDTU2_EL12" */, 0xE9C2, true, true, {} }, // 1508
6925 { 19625 /* "AFGDTU3_EL12" */, 0xE9C3, true, true, {} }, // 1509
6926 { 19638 /* "AFGDTU4_EL12" */, 0xE9C4, true, true, {} }, // 1510
6927 { 19651 /* "AFGDTU5_EL12" */, 0xE9C5, true, true, {} }, // 1511
6928 { 19664 /* "AFGDTU6_EL12" */, 0xE9C6, true, true, {} }, // 1512
6929 { 19677 /* "AFGDTU7_EL12" */, 0xE9C7, true, true, {} }, // 1513
6930 { 19690 /* "AFGDTU8_EL12" */, 0xE9C8, true, true, {} }, // 1514
6931 { 19703 /* "AFGDTU9_EL12" */, 0xE9C9, true, true, {} }, // 1515
6932 { 19716 /* "AFGDTU10_EL12" */, 0xE9CA, true, true, {} }, // 1516
6933 { 19730 /* "AFGDTU11_EL12" */, 0xE9CB, true, true, {} }, // 1517
6934 { 19744 /* "AFGDTU12_EL12" */, 0xE9CC, true, true, {} }, // 1518
6935 { 19758 /* "AFGDTU13_EL12" */, 0xE9CD, true, true, {} }, // 1519
6936 { 19772 /* "AFGDTU14_EL12" */, 0xE9CE, true, true, {} }, // 1520
6937 { 19786 /* "AFGDTU15_EL12" */, 0xE9CF, true, true, {} }, // 1521
6938 { 19800 /* "SPSR_EL12" */, 0xEA00, true, true, {AArch64::FeatureVH} }, // 1522
6939 { 19810 /* "ELR_EL12" */, 0xEA01, true, true, {AArch64::FeatureVH} }, // 1523
6940 { 19819 /* "STINDEX_EL12" */, 0xEA02, true, true, {} }, // 1524
6941 { 19832 /* "TINDEX_EL12" */, 0xEA03, true, true, {} }, // 1525
6942 { 19844 /* "AFSR0_EL12" */, 0xEA88, true, true, {AArch64::FeatureVH} }, // 1526
6943 { 19855 /* "AFSR1_EL12" */, 0xEA89, true, true, {AArch64::FeatureVH} }, // 1527
6944 { 19866 /* "ESR_EL12" */, 0xEA90, true, true, {AArch64::FeatureVH} }, // 1528
6945 { 19875 /* "TFSR_EL12" */, 0xEAB0, true, true, {AArch64::FeatureMTE} }, // 1529
6946 { 19885 /* "FAR_EL12" */, 0xEB00, true, true, {AArch64::FeatureVH} }, // 1530
6947 { 19894 /* "PFAR_EL12" */, 0xEB05, true, true, {} }, // 1531
6948 { 19904 /* "PMSCR_EL12" */, 0xECC8, true, true, {AArch64::FeatureSPE} }, // 1532
6949 { 19915 /* "PMBSR_EL12" */, 0xECD3, true, true, {} }, // 1533
6950 { 19926 /* "TRBSR_EL12" */, 0xECDB, true, true, {} }, // 1534
6951 { 19937 /* "MAIR_EL12" */, 0xED10, true, true, {AArch64::FeatureVH} }, // 1535
6952 { 19947 /* "MAIR2_EL12" */, 0xED11, true, true, {} }, // 1536
6953 { 19958 /* "PIRE0_EL12" */, 0xED12, true, true, {} }, // 1537
6954 { 19969 /* "PIR_EL12" */, 0xED13, true, true, {} }, // 1538
6955 { 19978 /* "POR_EL12" */, 0xED14, true, true, {} }, // 1539
6956 { 19987 /* "TTTBRU_EL12" */, 0xED16, true, true, {} }, // 1540
6957 { 19999 /* "TTTBRP_EL12" */, 0xED17, true, true, {} }, // 1541
6958 { 20011 /* "AMAIR_EL12" */, 0xED18, true, true, {AArch64::FeatureVH} }, // 1542
6959 { 20022 /* "AMAIR2_EL12" */, 0xED19, true, true, {} }, // 1543
6960 { 20034 /* "MPAM1_EL12" */, 0xED28, true, true, {} }, // 1544
6961 { 20045 /* "MPAMCTL_EL12" */, 0xED2A, true, true, {} }, // 1545
6962 { 20058 /* "MPAMBW1_EL12" */, 0xED2C, true, true, {} }, // 1546
6963 { 20071 /* "VBAR_EL12" */, 0xEE00, true, true, {AArch64::FeatureVH} }, // 1547
6964 { 20081 /* "TPIDR3_EL12" */, 0xEE80, true, true, {} }, // 1548
6965 { 20093 /* "CONTEXTIDR_EL12" */, 0xEE81, true, true, {AArch64::FeatureVH} }, // 1549
6966 { 20109 /* "SCXTNUM_EL12" */, 0xEE87, true, true, {AArch64::FeatureSpecRestrict} }, // 1550
6967 { 20122 /* "CNTKCTL_EL12" */, 0xEF08, true, true, {AArch64::FeatureVH} }, // 1551
6968 { 20135 /* "CNTP_TVAL_EL02" */, 0xEF10, true, true, {AArch64::FeatureVH} }, // 1552
6969 { 20150 /* "CNTP_CTL_EL02" */, 0xEF11, true, true, {AArch64::FeatureVH} }, // 1553
6970 { 20164 /* "CNTP_CVAL_EL02" */, 0xEF12, true, true, {AArch64::FeatureVH} }, // 1554
6971 { 20179 /* "CNTV_TVAL_EL02" */, 0xEF18, true, true, {AArch64::FeatureVH} }, // 1555
6972 { 20194 /* "CNTV_CTL_EL02" */, 0xEF19, true, true, {AArch64::FeatureVH} }, // 1556
6973 { 20208 /* "CNTV_CVAL_EL02" */, 0xEF1A, true, true, {AArch64::FeatureVH} }, // 1557
6974 { 20223 /* "SCTLR_EL3" */, 0xF080, true, true, {} }, // 1558
6975 { 20233 /* "ACTLR_EL3" */, 0xF081, true, true, {} }, // 1559
6976 { 20243 /* "SCTLR2_EL3" */, 0xF083, true, true, {} }, // 1560
6977 { 20254 /* "SCR_EL3" */, 0xF088, true, true, {} }, // 1561
6978 { 20262 /* "SDER32_EL3" */, 0xF089, true, true, {} }, // 1562
6979 { 20273 /* "CPTR_EL3" */, 0xF08A, true, true, {} }, // 1563
6980 { 20282 /* "FGWTE3_EL3" */, 0xF08D, true, true, {} }, // 1564
6981 { 20293 /* "ZCR_EL3" */, 0xF090, true, true, {AArch64::FeatureSVE} }, // 1565
6982 { 20301 /* "SCR2_EL3" */, 0xF092, true, true, {} }, // 1566
6983 { 20310 /* "SMCR_EL3" */, 0xF096, true, true, {AArch64::FeatureSME} }, // 1567
6984 { 20319 /* "MDCR_EL3" */, 0xF099, true, true, {} }, // 1568
6985 { 20328 /* "TTBR0_EL3" */, 0xF100, true, true, {} }, // 1569
6986 { 20338 /* "TCR_EL3" */, 0xF102, true, true, {} }, // 1570
6987 { 20346 /* "IRTBRP_EL3" */, 0xF105, true, true, {} }, // 1571
6988 { 20357 /* "DPOTBR0_EL3" */, 0xF106, true, true, {} }, // 1572
6989 { 20369 /* "GPTBR_EL3" */, 0xF10C, true, true, {AArch64::FeatureRME} }, // 1573
6990 { 20379 /* "GPCBW_EL3" */, 0xF10D, true, true, {} }, // 1574
6991 { 20389 /* "GPCCR_EL3" */, 0xF10E, true, true, {AArch64::FeatureRME} }, // 1575
6992 { 20399 /* "GCSCR_EL3" */, 0xF128, true, true, {} }, // 1576
6993 { 20409 /* "GCSPR_EL3" */, 0xF129, true, true, {} }, // 1577
6994 { 20419 /* "FGDTP0_EL3" */, 0xF190, true, true, {} }, // 1578
6995 { 20430 /* "FGDTP1_EL3" */, 0xF191, true, true, {} }, // 1579
6996 { 20441 /* "FGDTP2_EL3" */, 0xF192, true, true, {} }, // 1580
6997 { 20452 /* "FGDTP3_EL3" */, 0xF193, true, true, {} }, // 1581
6998 { 20463 /* "FGDTP4_EL3" */, 0xF194, true, true, {} }, // 1582
6999 { 20474 /* "FGDTP5_EL3" */, 0xF195, true, true, {} }, // 1583
7000 { 20485 /* "FGDTP6_EL3" */, 0xF196, true, true, {} }, // 1584
7001 { 20496 /* "FGDTP7_EL3" */, 0xF197, true, true, {} }, // 1585
7002 { 20507 /* "FGDTP8_EL3" */, 0xF198, true, true, {} }, // 1586
7003 { 20518 /* "FGDTP9_EL3" */, 0xF199, true, true, {} }, // 1587
7004 { 20529 /* "FGDTP10_EL3" */, 0xF19A, true, true, {} }, // 1588
7005 { 20541 /* "FGDTP11_EL3" */, 0xF19B, true, true, {} }, // 1589
7006 { 20553 /* "FGDTP12_EL3" */, 0xF19C, true, true, {} }, // 1590
7007 { 20565 /* "FGDTP13_EL3" */, 0xF19D, true, true, {} }, // 1591
7008 { 20577 /* "FGDTP14_EL3" */, 0xF19E, true, true, {} }, // 1592
7009 { 20589 /* "FGDTP15_EL3" */, 0xF19F, true, true, {} }, // 1593
7010 { 20601 /* "AFGDTP0_EL3" */, 0xF1B0, true, true, {} }, // 1594
7011 { 20613 /* "AFGDTP1_EL3" */, 0xF1B1, true, true, {} }, // 1595
7012 { 20625 /* "AFGDTP2_EL3" */, 0xF1B2, true, true, {} }, // 1596
7013 { 20637 /* "AFGDTP3_EL3" */, 0xF1B3, true, true, {} }, // 1597
7014 { 20649 /* "AFGDTP4_EL3" */, 0xF1B4, true, true, {} }, // 1598
7015 { 20661 /* "AFGDTP5_EL3" */, 0xF1B5, true, true, {} }, // 1599
7016 { 20673 /* "AFGDTP6_EL3" */, 0xF1B6, true, true, {} }, // 1600
7017 { 20685 /* "AFGDTP7_EL3" */, 0xF1B7, true, true, {} }, // 1601
7018 { 20697 /* "AFGDTP8_EL3" */, 0xF1B8, true, true, {} }, // 1602
7019 { 20709 /* "AFGDTP9_EL3" */, 0xF1B9, true, true, {} }, // 1603
7020 { 20721 /* "AFGDTP10_EL3" */, 0xF1BA, true, true, {} }, // 1604
7021 { 20734 /* "AFGDTP11_EL3" */, 0xF1BB, true, true, {} }, // 1605
7022 { 20747 /* "AFGDTP12_EL3" */, 0xF1BC, true, true, {} }, // 1606
7023 { 20760 /* "AFGDTP13_EL3" */, 0xF1BD, true, true, {} }, // 1607
7024 { 20773 /* "AFGDTP14_EL3" */, 0xF1BE, true, true, {} }, // 1608
7025 { 20786 /* "AFGDTP15_EL3" */, 0xF1BF, true, true, {} }, // 1609
7026 { 20799 /* "SPSR_EL3" */, 0xF200, true, true, {} }, // 1610
7027 { 20808 /* "ELR_EL3" */, 0xF201, true, true, {} }, // 1611
7028 { 20816 /* "STINDEX_EL3" */, 0xF202, true, true, {} }, // 1612
7029 { 20828 /* "TINDEX_EL3" */, 0xF203, true, true, {} }, // 1613
7030 { 20839 /* "SP_EL2" */, 0xF208, true, true, {} }, // 1614
7031 { 20846 /* "AFSR0_EL3" */, 0xF288, true, true, {} }, // 1615
7032 { 20856 /* "AFSR1_EL3" */, 0xF289, true, true, {} }, // 1616
7033 { 20866 /* "ESR_EL3" */, 0xF290, true, true, {} }, // 1617
7034 { 20874 /* "VSESR_EL3" */, 0xF293, true, true, {} }, // 1618
7035 { 20884 /* "TFSR_EL3" */, 0xF2B0, true, true, {AArch64::FeatureMTE} }, // 1619
7036 { 20893 /* "FAR_EL3" */, 0xF300, true, true, {} }, // 1620
7037 { 20901 /* "MFAR_EL3" */, 0xF305, true, true, {} }, // 1621
7038 { 20910 /* "PMBSR_EL3" */, 0xF4D3, true, true, {} }, // 1622
7039 { 20920 /* "TRBSR_EL3" */, 0xF4DB, true, true, {} }, // 1623
7040 { 20930 /* "MAIR2_EL3" */, 0xF509, true, true, {} }, // 1624
7041 { 20940 /* "MAIR_EL3" */, 0xF510, true, true, {} }, // 1625
7042 { 20949 /* "PIR_EL3" */, 0xF513, true, true, {} }, // 1626
7043 { 20957 /* "POR_EL3" */, 0xF514, true, true, {} }, // 1627
7044 { 20965 /* "TTTBRP_EL3" */, 0xF517, true, true, {} }, // 1628
7045 { 20976 /* "AMAIR_EL3" */, 0xF518, true, true, {} }, // 1629
7046 { 20986 /* "AMAIR2_EL3" */, 0xF519, true, true, {} }, // 1630
7047 { 20997 /* "MPAM3_EL3" */, 0xF528, true, true, {} }, // 1631
7048 { 21007 /* "MPAMCTL_EL3" */, 0xF52A, true, true, {} }, // 1632
7049 { 21019 /* "MPAMBW3_EL3" */, 0xF52C, true, true, {} }, // 1633
7050 { 21031 /* "MECID_RL_A_EL3" */, 0xF551, true, true, {AArch64::FeatureMEC} }, // 1634
7051 { 21046 /* "VBAR_EL3" */, 0xF600, true, true, {} }, // 1635
7052 { 21055 /* "RVBAR_EL3" */, 0xF601, true, false, {} }, // 1636
7053 { 21065 /* "RMR_EL3" */, 0xF602, true, true, {} }, // 1637
7054 { 21073 /* "VDISR_EL3" */, 0xF609, true, true, {} }, // 1638
7055 { 21083 /* "ICC_APR_EL3" */, 0xF640, true, true, {} }, // 1639
7056 { 21095 /* "ICC_PCR_EL3" */, 0xF641, true, true, {} }, // 1640
7057 { 21107 /* "ICC_DOMHPPIR_EL3" */, 0xF642, true, false, {} }, // 1641
7058 { 21124 /* "ICC_PPI_DOMAINR0_EL3" */, 0xF644, true, true, {} }, // 1642
7059 { 21145 /* "ICC_PPI_DOMAINR1_EL3" */, 0xF645, true, true, {} }, // 1643
7060 { 21166 /* "ICC_PPI_DOMAINR2_EL3" */, 0xF646, true, true, {} }, // 1644
7061 { 21187 /* "ICC_PPI_DOMAINR3_EL3" */, 0xF647, true, true, {} }, // 1645
7062 { 21208 /* "ICC_CR0_EL3" */, 0xF648, true, true, {} }, // 1646
7063 { 21220 /* "ICC_HPPIR_EL3" */, 0xF649, true, false, {} }, // 1647
7064 { 21234 /* "ICC_CTLR_EL3" */, 0xF664, true, true, {} }, // 1648
7065 { 21247 /* "ICC_SRE_EL3" */, 0xF665, true, true, {} }, // 1649
7066 { 21259 /* "ICC_IGRPEN1_EL3" */, 0xF667, true, true, {} }, // 1650
7067 { 21275 /* "TPIDR3_EL3" */, 0xF680, true, true, {} }, // 1651
7068 { 21286 /* "TPIDR_EL3" */, 0xF682, true, true, {} }, // 1652
7069 { 21296 /* "SCXTNUM_EL3" */, 0xF687, true, true, {AArch64::FeatureSpecRestrict} }, // 1653
7070 { 21308 /* "CNTPS_TVAL_EL1" */, 0xFF10, true, true, {} }, // 1654
7071 { 21323 /* "CNTPS_CTL_EL1" */, 0xFF11, true, true, {} }, // 1655
7072 { 21337 /* "CNTPS_CVAL_EL1" */, 0xFF12, true, true, {} }, // 1656
7073 };
7074
7075#ifdef __GNUC__
7076#pragma GCC diagnostic push
7077#pragma GCC diagnostic ignored "-Woverlength-strings"
7078#endif
7079static constexpr char SysRegsListStringsStorage[] =
7080 "\0"
7081 "OSDTRRX_EL1\0"
7082 "DBGBVR0_EL1\0"
7083 "DBGBCR0_EL1\0"
7084 "DBGWVR0_EL1\0"
7085 "DBGWCR0_EL1\0"
7086 "DBGBVR1_EL1\0"
7087 "DBGBCR1_EL1\0"
7088 "DBGWVR1_EL1\0"
7089 "DBGWCR1_EL1\0"
7090 "MDCCINT_EL1\0"
7091 "MDSCR_EL1\0"
7092 "DBGBVR2_EL1\0"
7093 "DBGBCR2_EL1\0"
7094 "DBGWVR2_EL1\0"
7095 "DBGWCR2_EL1\0"
7096 "OSDTRTX_EL1\0"
7097 "DBGBVR3_EL1\0"
7098 "DBGBCR3_EL1\0"
7099 "DBGWVR3_EL1\0"
7100 "DBGWCR3_EL1\0"
7101 "MDSELR_EL1\0"
7102 "DBGBVR4_EL1\0"
7103 "DBGBCR4_EL1\0"
7104 "DBGWVR4_EL1\0"
7105 "DBGWCR4_EL1\0"
7106 "MDSTEPOP_EL1\0"
7107 "DBGBVR5_EL1\0"
7108 "DBGBCR5_EL1\0"
7109 "DBGWVR5_EL1\0"
7110 "DBGWCR5_EL1\0"
7111 "OSECCR_EL1\0"
7112 "DBGBVR6_EL1\0"
7113 "DBGBCR6_EL1\0"
7114 "DBGWVR6_EL1\0"
7115 "DBGWCR6_EL1\0"
7116 "DBGBVR7_EL1\0"
7117 "DBGBCR7_EL1\0"
7118 "DBGWVR7_EL1\0"
7119 "DBGWCR7_EL1\0"
7120 "DBGBVR8_EL1\0"
7121 "DBGBCR8_EL1\0"
7122 "DBGWVR8_EL1\0"
7123 "DBGWCR8_EL1\0"
7124 "DBGBVR9_EL1\0"
7125 "DBGBCR9_EL1\0"
7126 "DBGWVR9_EL1\0"
7127 "DBGWCR9_EL1\0"
7128 "DBGBVR10_EL1\0"
7129 "DBGBCR10_EL1\0"
7130 "DBGWVR10_EL1\0"
7131 "DBGWCR10_EL1\0"
7132 "DBGBVR11_EL1\0"
7133 "DBGBCR11_EL1\0"
7134 "DBGWVR11_EL1\0"
7135 "DBGWCR11_EL1\0"
7136 "DBGBVR12_EL1\0"
7137 "DBGBCR12_EL1\0"
7138 "DBGWVR12_EL1\0"
7139 "DBGWCR12_EL1\0"
7140 "DBGBVR13_EL1\0"
7141 "DBGBCR13_EL1\0"
7142 "DBGWVR13_EL1\0"
7143 "DBGWCR13_EL1\0"
7144 "DBGBVR14_EL1\0"
7145 "DBGBCR14_EL1\0"
7146 "DBGWVR14_EL1\0"
7147 "DBGWCR14_EL1\0"
7148 "DBGBVR15_EL1\0"
7149 "DBGBCR15_EL1\0"
7150 "DBGWVR15_EL1\0"
7151 "DBGWCR15_EL1\0"
7152 "MDRAR_EL1\0"
7153 "OSLAR_EL1\0"
7154 "OSLSR_EL1\0"
7155 "OSDLR_EL1\0"
7156 "DBGPRCR_EL1\0"
7157 "DBGCLAIMSET_EL1\0"
7158 "DBGCLAIMCLR_EL1\0"
7159 "DBGAUTHSTATUS_EL1\0"
7160 "SPMCGCR0_EL1\0"
7161 "SPMCGCR1_EL1\0"
7162 "SPMACCESSR_EL1\0"
7163 "SPMIIDR_EL1\0"
7164 "SPMDEVARCH_EL1\0"
7165 "SPMDEVAFF_EL1\0"
7166 "SPMCFGR_EL1\0"
7167 "SPMINTENSET_EL1\0"
7168 "SPMINTENCLR_EL1\0"
7169 "PMEVCNTSVR0_EL1\0"
7170 "PMEVCNTSVR1_EL1\0"
7171 "PMEVCNTSVR2_EL1\0"
7172 "PMEVCNTSVR3_EL1\0"
7173 "PMEVCNTSVR4_EL1\0"
7174 "PMEVCNTSVR5_EL1\0"
7175 "PMEVCNTSVR6_EL1\0"
7176 "PMEVCNTSVR7_EL1\0"
7177 "PMEVCNTSVR8_EL1\0"
7178 "PMEVCNTSVR9_EL1\0"
7179 "PMEVCNTSVR10_EL1\0"
7180 "PMEVCNTSVR11_EL1\0"
7181 "PMEVCNTSVR12_EL1\0"
7182 "PMEVCNTSVR13_EL1\0"
7183 "PMEVCNTSVR14_EL1\0"
7184 "PMEVCNTSVR15_EL1\0"
7185 "PMEVCNTSVR16_EL1\0"
7186 "PMEVCNTSVR17_EL1\0"
7187 "PMEVCNTSVR18_EL1\0"
7188 "PMEVCNTSVR19_EL1\0"
7189 "PMEVCNTSVR20_EL1\0"
7190 "PMEVCNTSVR21_EL1\0"
7191 "PMEVCNTSVR22_EL1\0"
7192 "PMEVCNTSVR23_EL1\0"
7193 "PMEVCNTSVR24_EL1\0"
7194 "PMEVCNTSVR25_EL1\0"
7195 "PMEVCNTSVR26_EL1\0"
7196 "PMEVCNTSVR27_EL1\0"
7197 "PMEVCNTSVR28_EL1\0"
7198 "PMEVCNTSVR29_EL1\0"
7199 "PMEVCNTSVR30_EL1\0"
7200 "PMCCNTSVR_EL1\0"
7201 "PMICNTSVR_EL1\0"
7202 "TRCTRACEIDR\0"
7203 "TRCVICTLR\0"
7204 "TRCSEQEVR0\0"
7205 "TRCCNTRLDVR0\0"
7206 "TRCIDR8\0"
7207 "TRCIMSPEC0\0"
7208 "TRCPRGCTLR\0"
7209 "TRCQCTLR\0"
7210 "TRCVIIECTLR\0"
7211 "TRCSEQEVR1\0"
7212 "TRCCNTRLDVR1\0"
7213 "TRCIDR9\0"
7214 "TRCIMSPEC1\0"
7215 "TRCPROCSELR\0"
7216 "TRCITEEDCR\0"
7217 "TRCVISSCTLR\0"
7218 "TRCSEQEVR2\0"
7219 "TRCCNTRLDVR2\0"
7220 "TRCIDR10\0"
7221 "TRCIMSPEC2\0"
7222 "TRCSTATR\0"
7223 "TRCVIPCSSCTLR\0"
7224 "TRCCNTRLDVR3\0"
7225 "TRCIDR11\0"
7226 "TRCIMSPEC3\0"
7227 "TRCCONFIGR\0"
7228 "TRCCNTCTLR0\0"
7229 "TRCIDR12\0"
7230 "TRCIMSPEC4\0"
7231 "TRCCNTCTLR1\0"
7232 "TRCIDR13\0"
7233 "TRCIMSPEC5\0"
7234 "TRCAUXCTLR\0"
7235 "TRCSEQRSTEVR\0"
7236 "TRCCNTCTLR2\0"
7237 "TRCIMSPEC6\0"
7238 "TRCSEQSTR\0"
7239 "TRCCNTCTLR3\0"
7240 "TRCIMSPEC7\0"
7241 "TRCEVENTCTL0R\0"
7242 "TRCVDCTLR\0"
7243 "TRCEXTINSELR\0"
7244 "TRCEXTINSELR0\0"
7245 "TRCCNTVR0\0"
7246 "TRCIDR0\0"
7247 "TRCEVENTCTL1R\0"
7248 "TRCVDSACCTLR\0"
7249 "TRCEXTINSELR1\0"
7250 "TRCCNTVR1\0"
7251 "TRCIDR1\0"
7252 "TRCRSR\0"
7253 "TRCVDARCCTLR\0"
7254 "TRCEXTINSELR2\0"
7255 "TRCCNTVR2\0"
7256 "TRCIDR2\0"
7257 "TRCSTALLCTLR\0"
7258 "TRCEXTINSELR3\0"
7259 "TRCCNTVR3\0"
7260 "TRCIDR3\0"
7261 "TRCTSCTLR\0"
7262 "TRCIDR4\0"
7263 "TRCSYNCPR\0"
7264 "TRCIDR5\0"
7265 "TRCCCCTLR\0"
7266 "TRCIDR6\0"
7267 "TRCBBCTLR\0"
7268 "TRCIDR7\0"
7269 "TRCRSCTLR16\0"
7270 "TRCSSCCR0\0"
7271 "TRCSSPCICR0\0"
7272 "TRCOSLAR\0"
7273 "TRCRSCTLR17\0"
7274 "TRCSSCCR1\0"
7275 "TRCSSPCICR1\0"
7276 "TRCOSLSR\0"
7277 "TRCRSCTLR2\0"
7278 "TRCRSCTLR18\0"
7279 "TRCSSCCR2\0"
7280 "TRCSSPCICR2\0"
7281 "TRCRSCTLR3\0"
7282 "TRCRSCTLR19\0"
7283 "TRCSSCCR3\0"
7284 "TRCSSPCICR3\0"
7285 "TRCRSCTLR4\0"
7286 "TRCRSCTLR20\0"
7287 "TRCSSCCR4\0"
7288 "TRCSSPCICR4\0"
7289 "TRCPDCR\0"
7290 "TRCRSCTLR5\0"
7291 "TRCRSCTLR21\0"
7292 "TRCSSCCR5\0"
7293 "TRCSSPCICR5\0"
7294 "TRCPDSR\0"
7295 "TRCRSCTLR6\0"
7296 "TRCRSCTLR22\0"
7297 "TRCSSCCR6\0"
7298 "TRCSSPCICR6\0"
7299 "TRCRSCTLR7\0"
7300 "TRCRSCTLR23\0"
7301 "TRCSSCCR7\0"
7302 "TRCSSPCICR7\0"
7303 "TRCRSCTLR8\0"
7304 "TRCRSCTLR24\0"
7305 "TRCSSCSR0\0"
7306 "TRCRSCTLR9\0"
7307 "TRCRSCTLR25\0"
7308 "TRCSSCSR1\0"
7309 "TRCRSCTLR10\0"
7310 "TRCRSCTLR26\0"
7311 "TRCSSCSR2\0"
7312 "TRCRSCTLR11\0"
7313 "TRCRSCTLR27\0"
7314 "TRCSSCSR3\0"
7315 "TRCRSCTLR12\0"
7316 "TRCRSCTLR28\0"
7317 "TRCSSCSR4\0"
7318 "TRCRSCTLR13\0"
7319 "TRCRSCTLR29\0"
7320 "TRCSSCSR5\0"
7321 "TRCRSCTLR14\0"
7322 "TRCRSCTLR30\0"
7323 "TRCSSCSR6\0"
7324 "TRCRSCTLR15\0"
7325 "TRCRSCTLR31\0"
7326 "TRCSSCSR7\0"
7327 "TRCACVR0\0"
7328 "TRCACVR8\0"
7329 "TRCACATR0\0"
7330 "TRCACATR8\0"
7331 "TRCDVCVR0\0"
7332 "TRCDVCVR4\0"
7333 "TRCDVCMR0\0"
7334 "TRCDVCMR4\0"
7335 "TRCACVR1\0"
7336 "TRCACVR9\0"
7337 "TRCACATR1\0"
7338 "TRCACATR9\0"
7339 "TRCACVR2\0"
7340 "TRCACVR10\0"
7341 "TRCACATR2\0"
7342 "TRCACATR10\0"
7343 "TRCDVCVR1\0"
7344 "TRCDVCVR5\0"
7345 "TRCDVCMR1\0"
7346 "TRCDVCMR5\0"
7347 "TRCACVR3\0"
7348 "TRCACVR11\0"
7349 "TRCACATR3\0"
7350 "TRCACATR11\0"
7351 "TRCACVR4\0"
7352 "TRCACVR12\0"
7353 "TRCACATR4\0"
7354 "TRCACATR12\0"
7355 "TRCDVCVR2\0"
7356 "TRCDVCVR6\0"
7357 "TRCDVCMR2\0"
7358 "TRCDVCMR6\0"
7359 "TRCACVR5\0"
7360 "TRCACVR13\0"
7361 "TRCACATR5\0"
7362 "TRCACATR13\0"
7363 "TRCACVR6\0"
7364 "TRCACVR14\0"
7365 "TRCACATR6\0"
7366 "TRCACATR14\0"
7367 "TRCDVCVR3\0"
7368 "TRCDVCVR7\0"
7369 "TRCDVCMR3\0"
7370 "TRCDVCMR7\0"
7371 "TRCACVR7\0"
7372 "TRCACVR15\0"
7373 "TRCACATR7\0"
7374 "TRCACATR15\0"
7375 "TRCCIDCVR0\0"
7376 "TRCVMIDCVR0\0"
7377 "TRCCIDCCTLR0\0"
7378 "TRCCIDCCTLR1\0"
7379 "TRCCIDCVR1\0"
7380 "TRCVMIDCVR1\0"
7381 "TRCVMIDCCTLR0\0"
7382 "TRCVMIDCCTLR1\0"
7383 "TRCCIDCVR2\0"
7384 "TRCVMIDCVR2\0"
7385 "TRCCIDCVR3\0"
7386 "TRCVMIDCVR3\0"
7387 "TRCCIDCVR4\0"
7388 "TRCVMIDCVR4\0"
7389 "TRCCIDCVR5\0"
7390 "TRCVMIDCVR5\0"
7391 "TRCCIDCVR6\0"
7392 "TRCVMIDCVR6\0"
7393 "TRCCIDCVR7\0"
7394 "TRCVMIDCVR7\0"
7395 "TRCITCTRL\0"
7396 "TRCDEVID\0"
7397 "TRCDEVTYPE\0"
7398 "TRCPIDR4\0"
7399 "TRCPIDR5\0"
7400 "TRCPIDR6\0"
7401 "TRCPIDR7\0"
7402 "TRCCLAIMSET\0"
7403 "TRCPIDR0\0"
7404 "TRCCLAIMCLR\0"
7405 "TRCPIDR1\0"
7406 "TRCDEVAFF0\0"
7407 "TRCPIDR2\0"
7408 "TRCDEVAFF1\0"
7409 "TRCPIDR3\0"
7410 "TRCLAR\0"
7411 "TRCCIDR0\0"
7412 "TRCLSR\0"
7413 "TRCCIDR1\0"
7414 "TRCAUTHSTATUS\0"
7415 "TRCCIDR2\0"
7416 "TRCDEVARCH\0"
7417 "TRCCIDR3\0"
7418 "BRBINF0_EL1\0"
7419 "BRBSRC0_EL1\0"
7420 "BRBTGT0_EL1\0"
7421 "BRBINF16_EL1\0"
7422 "BRBSRC16_EL1\0"
7423 "BRBTGT16_EL1\0"
7424 "BRBINF1_EL1\0"
7425 "BRBSRC1_EL1\0"
7426 "BRBTGT1_EL1\0"
7427 "BRBINF17_EL1\0"
7428 "BRBSRC17_EL1\0"
7429 "BRBTGT17_EL1\0"
7430 "BRBINF2_EL1\0"
7431 "BRBSRC2_EL1\0"
7432 "BRBTGT2_EL1\0"
7433 "BRBINF18_EL1\0"
7434 "BRBSRC18_EL1\0"
7435 "BRBTGT18_EL1\0"
7436 "BRBINF3_EL1\0"
7437 "BRBSRC3_EL1\0"
7438 "BRBTGT3_EL1\0"
7439 "BRBINF19_EL1\0"
7440 "BRBSRC19_EL1\0"
7441 "BRBTGT19_EL1\0"
7442 "BRBINF4_EL1\0"
7443 "BRBSRC4_EL1\0"
7444 "BRBTGT4_EL1\0"
7445 "BRBINF20_EL1\0"
7446 "BRBSRC20_EL1\0"
7447 "BRBTGT20_EL1\0"
7448 "BRBINF5_EL1\0"
7449 "BRBSRC5_EL1\0"
7450 "BRBTGT5_EL1\0"
7451 "BRBINF21_EL1\0"
7452 "BRBSRC21_EL1\0"
7453 "BRBTGT21_EL1\0"
7454 "BRBINF6_EL1\0"
7455 "BRBSRC6_EL1\0"
7456 "BRBTGT6_EL1\0"
7457 "BRBINF22_EL1\0"
7458 "BRBSRC22_EL1\0"
7459 "BRBTGT22_EL1\0"
7460 "BRBINF7_EL1\0"
7461 "BRBSRC7_EL1\0"
7462 "BRBTGT7_EL1\0"
7463 "BRBINF23_EL1\0"
7464 "BRBSRC23_EL1\0"
7465 "BRBTGT23_EL1\0"
7466 "BRBINF8_EL1\0"
7467 "BRBSRC8_EL1\0"
7468 "BRBTGT8_EL1\0"
7469 "BRBINF24_EL1\0"
7470 "BRBSRC24_EL1\0"
7471 "BRBTGT24_EL1\0"
7472 "BRBINF9_EL1\0"
7473 "BRBSRC9_EL1\0"
7474 "BRBTGT9_EL1\0"
7475 "BRBINF25_EL1\0"
7476 "BRBSRC25_EL1\0"
7477 "BRBTGT25_EL1\0"
7478 "BRBINF10_EL1\0"
7479 "BRBSRC10_EL1\0"
7480 "BRBTGT10_EL1\0"
7481 "BRBINF26_EL1\0"
7482 "BRBSRC26_EL1\0"
7483 "BRBTGT26_EL1\0"
7484 "BRBINF11_EL1\0"
7485 "BRBSRC11_EL1\0"
7486 "BRBTGT11_EL1\0"
7487 "BRBINF27_EL1\0"
7488 "BRBSRC27_EL1\0"
7489 "BRBTGT27_EL1\0"
7490 "BRBINF12_EL1\0"
7491 "BRBSRC12_EL1\0"
7492 "BRBTGT12_EL1\0"
7493 "BRBINF28_EL1\0"
7494 "BRBSRC28_EL1\0"
7495 "BRBTGT28_EL1\0"
7496 "BRBINF13_EL1\0"
7497 "BRBSRC13_EL1\0"
7498 "BRBTGT13_EL1\0"
7499 "BRBINF29_EL1\0"
7500 "BRBSRC29_EL1\0"
7501 "BRBTGT29_EL1\0"
7502 "BRBINF14_EL1\0"
7503 "BRBSRC14_EL1\0"
7504 "BRBTGT14_EL1\0"
7505 "BRBINF30_EL1\0"
7506 "BRBSRC30_EL1\0"
7507 "BRBTGT30_EL1\0"
7508 "BRBINF15_EL1\0"
7509 "BRBSRC15_EL1\0"
7510 "BRBTGT15_EL1\0"
7511 "BRBINF31_EL1\0"
7512 "BRBSRC31_EL1\0"
7513 "BRBTGT31_EL1\0"
7514 "BRBCR_EL1\0"
7515 "BRBFCR_EL1\0"
7516 "BRBTS_EL1\0"
7517 "BRBINFINJ_EL1\0"
7518 "BRBSRCINJ_EL1\0"
7519 "BRBTGTINJ_EL1\0"
7520 "BRBIDR0_EL1\0"
7521 "TEECR32_EL1\0"
7522 "TEEHBR32_EL1\0"
7523 "MDCCSR_EL0\0"
7524 "DBGDTR_EL0\0"
7525 "DBGDTRRX_EL0\0"
7526 "DBGDTRTX_EL0\0"
7527 "SPMCR_EL0\0"
7528 "SPMCNTENSET_EL0\0"
7529 "SPMCNTENCLR_EL0\0"
7530 "SPMOVSCLR_EL0\0"
7531 "SPMZR_EL0\0"
7532 "SPMSELR_EL0\0"
7533 "SPMOVSSET_EL0\0"
7534 "SPMEVCNTR0_EL0\0"
7535 "SPMEVCNTR1_EL0\0"
7536 "SPMEVCNTR2_EL0\0"
7537 "SPMEVCNTR3_EL0\0"
7538 "SPMEVCNTR4_EL0\0"
7539 "SPMEVCNTR5_EL0\0"
7540 "SPMEVCNTR6_EL0\0"
7541 "SPMEVCNTR7_EL0\0"
7542 "SPMEVCNTR8_EL0\0"
7543 "SPMEVCNTR9_EL0\0"
7544 "SPMEVCNTR10_EL0\0"
7545 "SPMEVCNTR11_EL0\0"
7546 "SPMEVCNTR12_EL0\0"
7547 "SPMEVCNTR13_EL0\0"
7548 "SPMEVCNTR14_EL0\0"
7549 "SPMEVCNTR15_EL0\0"
7550 "SPMEVTYPER0_EL0\0"
7551 "SPMEVTYPER1_EL0\0"
7552 "SPMEVTYPER2_EL0\0"
7553 "SPMEVTYPER3_EL0\0"
7554 "SPMEVTYPER4_EL0\0"
7555 "SPMEVTYPER5_EL0\0"
7556 "SPMEVTYPER6_EL0\0"
7557 "SPMEVTYPER7_EL0\0"
7558 "SPMEVTYPER8_EL0\0"
7559 "SPMEVTYPER9_EL0\0"
7560 "SPMEVTYPER10_EL0\0"
7561 "SPMEVTYPER11_EL0\0"
7562 "SPMEVTYPER12_EL0\0"
7563 "SPMEVTYPER13_EL0\0"
7564 "SPMEVTYPER14_EL0\0"
7565 "SPMEVTYPER15_EL0\0"
7566 "SPMEVFILTR0_EL0\0"
7567 "SPMEVFILTR1_EL0\0"
7568 "SPMEVFILTR2_EL0\0"
7569 "SPMEVFILTR3_EL0\0"
7570 "SPMEVFILTR4_EL0\0"
7571 "SPMEVFILTR5_EL0\0"
7572 "SPMEVFILTR6_EL0\0"
7573 "SPMEVFILTR7_EL0\0"
7574 "SPMEVFILTR8_EL0\0"
7575 "SPMEVFILTR9_EL0\0"
7576 "SPMEVFILTR10_EL0\0"
7577 "SPMEVFILTR11_EL0\0"
7578 "SPMEVFILTR12_EL0\0"
7579 "SPMEVFILTR13_EL0\0"
7580 "SPMEVFILTR14_EL0\0"
7581 "SPMEVFILTR15_EL0\0"
7582 "SPMEVFILT2R0_EL0\0"
7583 "SPMEVFILT2R1_EL0\0"
7584 "SPMEVFILT2R2_EL0\0"
7585 "SPMEVFILT2R3_EL0\0"
7586 "SPMEVFILT2R4_EL0\0"
7587 "SPMEVFILT2R5_EL0\0"
7588 "SPMEVFILT2R6_EL0\0"
7589 "SPMEVFILT2R7_EL0\0"
7590 "SPMEVFILT2R8_EL0\0"
7591 "SPMEVFILT2R9_EL0\0"
7592 "SPMEVFILT2R10_EL0\0"
7593 "SPMEVFILT2R11_EL0\0"
7594 "SPMEVFILT2R12_EL0\0"
7595 "SPMEVFILT2R13_EL0\0"
7596 "SPMEVFILT2R14_EL0\0"
7597 "SPMEVFILT2R15_EL0\0"
7598 "DBGVCR32_EL2\0"
7599 "BRBCR_EL2\0"
7600 "SPMACCESSR_EL2\0"
7601 "BRBCR_EL12\0"
7602 "SPMACCESSR_EL12\0"
7603 "SPMACCESSR_EL3\0"
7604 "SPMROOTCR_EL3\0"
7605 "SPMSCR_EL1\0"
7606 "MIDR_EL1\0"
7607 "MPUIR_EL1\0"
7608 "MPIDR_EL1\0"
7609 "REVIDR_EL1\0"
7610 "ID_PFR0_EL1\0"
7611 "ID_PFR1_EL1\0"
7612 "ID_DFR0_EL1\0"
7613 "ID_AFR0_EL1\0"
7614 "ID_MMFR0_EL1\0"
7615 "ID_MMFR1_EL1\0"
7616 "ID_MMFR2_EL1\0"
7617 "ID_MMFR3_EL1\0"
7618 "ID_ISAR0_EL1\0"
7619 "ID_ISAR1_EL1\0"
7620 "ID_ISAR2_EL1\0"
7621 "ID_ISAR3_EL1\0"
7622 "ID_ISAR4_EL1\0"
7623 "ID_ISAR5_EL1\0"
7624 "ID_MMFR4_EL1\0"
7625 "ID_ISAR6_EL1\0"
7626 "MVFR0_EL1\0"
7627 "MVFR1_EL1\0"
7628 "MVFR2_EL1\0"
7629 "ID_PFR2_EL1\0"
7630 "ID_DFR1_EL1\0"
7631 "ID_MMFR5_EL1\0"
7632 "ID_AA64PFR0_EL1\0"
7633 "ID_AA64PFR1_EL1\0"
7634 "ID_AA64PFR2_EL1\0"
7635 "ID_AA64ZFR0_EL1\0"
7636 "ID_AA64SMFR0_EL1\0"
7637 "ID_AA64FPFR0_EL1\0"
7638 "ID_AA64DFR0_EL1\0"
7639 "ID_AA64DFR1_EL1\0"
7640 "ID_AA64DFR2_EL1\0"
7641 "ID_AA64AFR0_EL1\0"
7642 "ID_AA64AFR1_EL1\0"
7643 "ID_AA64ISAR0_EL1\0"
7644 "ID_AA64ISAR1_EL1\0"
7645 "ID_AA64ISAR2_EL1\0"
7646 "ID_AA64ISAR3_EL1\0"
7647 "ID_AA64MMFR0_EL1\0"
7648 "ID_AA64MMFR1_EL1\0"
7649 "ID_AA64MMFR2_EL1\0"
7650 "ID_AA64MMFR3_EL1\0"
7651 "ID_AA64MMFR4_EL1\0"
7652 "SCTLR_EL1\0"
7653 "ACTLR_EL1\0"
7654 "CPACR_EL1\0"
7655 "SCTLR2_EL1\0"
7656 "RGSR_EL1\0"
7657 "GCR_EL1\0"
7658 "ZCR_EL1\0"
7659 "TRFCR_EL1\0"
7660 "TRCITECR_EL1\0"
7661 "SMPRI_EL1\0"
7662 "SMCR_EL1\0"
7663 "SCTLRMASK_EL1\0"
7664 "ACTLRMASK_EL1\0"
7665 "CPACRMASK_EL1\0"
7666 "SCTLR2MASK_EL1\0"
7667 "CPACRALIAS_EL1\0"
7668 "ACTLRALIAS_EL1\0"
7669 "SCTLRALIAS_EL1\0"
7670 "SCTLR2ALIAS_EL1\0"
7671 "TTBR0_EL1\0"
7672 "TTBR1_EL1\0"
7673 "TCR_EL1\0"
7674 "TCR2_EL1\0"
7675 "IRTBRU_EL1\0"
7676 "IRTBRP_EL1\0"
7677 "DPOTBR0_EL1\0"
7678 "DPOTBR1_EL1\0"
7679 "APIAKeyLo_EL1\0"
7680 "APIAKeyHi_EL1\0"
7681 "APIBKeyLo_EL1\0"
7682 "APIBKeyHi_EL1\0"
7683 "LDSTT_EL1\0"
7684 "APDAKeyLo_EL1\0"
7685 "APDAKeyHi_EL1\0"
7686 "APDBKeyLo_EL1\0"
7687 "APDBKeyHi_EL1\0"
7688 "TPCR0_EL1\0"
7689 "TPCR1_EL1\0"
7690 "APGAKeyLo_EL1\0"
7691 "APGAKeyHi_EL1\0"
7692 "GCSCR_EL1\0"
7693 "GCSPR_EL1\0"
7694 "GCSCRE0_EL1\0"
7695 "TCRMASK_EL1\0"
7696 "TCR2MASK_EL1\0"
7697 "TCRALIAS_EL1\0"
7698 "TCR2ALIAS_EL1\0"
7699 "FGDTP0_EL1\0"
7700 "FGDTP1_EL1\0"
7701 "FGDTP2_EL1\0"
7702 "FGDTP3_EL1\0"
7703 "FGDTP4_EL1\0"
7704 "FGDTP5_EL1\0"
7705 "FGDTP6_EL1\0"
7706 "FGDTP7_EL1\0"
7707 "FGDTP8_EL1\0"
7708 "FGDTP9_EL1\0"
7709 "FGDTP10_EL1\0"
7710 "FGDTP11_EL1\0"
7711 "FGDTP12_EL1\0"
7712 "FGDTP13_EL1\0"
7713 "FGDTP14_EL1\0"
7714 "FGDTP15_EL1\0"
7715 "FGDTU0_EL1\0"
7716 "FGDTU1_EL1\0"
7717 "FGDTU2_EL1\0"
7718 "FGDTU3_EL1\0"
7719 "FGDTU4_EL1\0"
7720 "FGDTU5_EL1\0"
7721 "FGDTU6_EL1\0"
7722 "FGDTU7_EL1\0"
7723 "FGDTU8_EL1\0"
7724 "FGDTU9_EL1\0"
7725 "FGDTU10_EL1\0"
7726 "FGDTU11_EL1\0"
7727 "FGDTU12_EL1\0"
7728 "FGDTU13_EL1\0"
7729 "FGDTU14_EL1\0"
7730 "FGDTU15_EL1\0"
7731 "AFGDTP0_EL1\0"
7732 "AFGDTP1_EL1\0"
7733 "AFGDTP2_EL1\0"
7734 "AFGDTP3_EL1\0"
7735 "AFGDTP4_EL1\0"
7736 "AFGDTP5_EL1\0"
7737 "AFGDTP6_EL1\0"
7738 "AFGDTP7_EL1\0"
7739 "AFGDTP8_EL1\0"
7740 "AFGDTP9_EL1\0"
7741 "AFGDTP10_EL1\0"
7742 "AFGDTP11_EL1\0"
7743 "AFGDTP12_EL1\0"
7744 "AFGDTP13_EL1\0"
7745 "AFGDTP14_EL1\0"
7746 "AFGDTP15_EL1\0"
7747 "AFGDTU0_EL1\0"
7748 "AFGDTU1_EL1\0"
7749 "AFGDTU2_EL1\0"
7750 "AFGDTU3_EL1\0"
7751 "AFGDTU4_EL1\0"
7752 "AFGDTU5_EL1\0"
7753 "AFGDTU6_EL1\0"
7754 "AFGDTU7_EL1\0"
7755 "AFGDTU8_EL1\0"
7756 "AFGDTU9_EL1\0"
7757 "AFGDTU10_EL1\0"
7758 "AFGDTU11_EL1\0"
7759 "AFGDTU12_EL1\0"
7760 "AFGDTU13_EL1\0"
7761 "AFGDTU14_EL1\0"
7762 "AFGDTU15_EL1\0"
7763 "SPSR_EL1\0"
7764 "ELR_EL1\0"
7765 "STINDEX_EL1\0"
7766 "TINDEX_EL1\0"
7767 "SP_EL0\0"
7768 "SPSel\0"
7769 "CurrentEL\0"
7770 "PAN\0"
7771 "UAO\0"
7772 "ALLINT\0"
7773 "PM\0"
7774 "ICC_PMR_EL1\0"
7775 "AFSR0_EL1\0"
7776 "AFSR1_EL1\0"
7777 "ESR_EL1\0"
7778 "ERRIDR_EL1\0"
7779 "ERRSELR_EL1\0"
7780 "ERXGSR_EL1\0"
7781 "ERXFR_EL1\0"
7782 "ERXCTLR_EL1\0"
7783 "ERXSTATUS_EL1\0"
7784 "ERXADDR_EL1\0"
7785 "ERXPFGF_EL1\0"
7786 "ERXPFGCTL_EL1\0"
7787 "ERXPFGCDN_EL1\0"
7788 "ERXMISC0_EL1\0"
7789 "ERXMISC1_EL1\0"
7790 "ERXMISC2_EL1\0"
7791 "ERXMISC3_EL1\0"
7792 "TFSR_EL1\0"
7793 "TFSRE0_EL1\0"
7794 "FAR_EL1\0"
7795 "PFAR_EL1\0"
7796 "PRENR_EL1\0"
7797 "PRSELR_EL1\0"
7798 "PRBAR_EL1\0"
7799 "PRLAR_EL1\0"
7800 "PRBAR1_EL1\0"
7801 "PRLAR1_EL1\0"
7802 "PRBAR2_EL1\0"
7803 "PRLAR2_EL1\0"
7804 "PRBAR3_EL1\0"
7805 "PRLAR3_EL1\0"
7806 "PRBAR4_EL1\0"
7807 "PRLAR4_EL1\0"
7808 "PRBAR5_EL1\0"
7809 "PRLAR5_EL1\0"
7810 "PRBAR6_EL1\0"
7811 "PRLAR6_EL1\0"
7812 "PRBAR7_EL1\0"
7813 "PRLAR7_EL1\0"
7814 "PRBAR8_EL1\0"
7815 "PRLAR8_EL1\0"
7816 "PRBAR9_EL1\0"
7817 "PRLAR9_EL1\0"
7818 "PRBAR10_EL1\0"
7819 "PRLAR10_EL1\0"
7820 "PRBAR11_EL1\0"
7821 "PRLAR11_EL1\0"
7822 "PRBAR12_EL1\0"
7823 "PRLAR12_EL1\0"
7824 "PRBAR13_EL1\0"
7825 "PRLAR13_EL1\0"
7826 "PRBAR14_EL1\0"
7827 "PRLAR14_EL1\0"
7828 "PRBAR15_EL1\0"
7829 "PRLAR15_EL1\0"
7830 "PAR_EL1\0"
7831 "PMSCR_EL1\0"
7832 "PMSNEVFR_EL1\0"
7833 "PMSICR_EL1\0"
7834 "PMSIRR_EL1\0"
7835 "PMSFCR_EL1\0"
7836 "PMSEVFR_EL1\0"
7837 "PMSLATFR_EL1\0"
7838 "PMSIDR_EL1\0"
7839 "PMBLIMITR_EL1\0"
7840 "PMBPTR_EL1\0"
7841 "PMBSR_EL1\0"
7842 "PMSDSFR_EL1\0"
7843 "PMBMAR_EL1\0"
7844 "PMBIDR_EL1\0"
7845 "TRBLIMITR_EL1\0"
7846 "TRBPTR_EL1\0"
7847 "TRBBASER_EL1\0"
7848 "TRBSR_EL1\0"
7849 "TRBMAR_EL1\0"
7850 "TRBMPAM_EL1\0"
7851 "TRBTRG_EL1\0"
7852 "TRBIDR_EL1\0"
7853 "PMSSCR_EL1\0"
7854 "PMINTENSET_EL1\0"
7855 "PMINTENCLR_EL1\0"
7856 "PMUACR_EL1\0"
7857 "PMECR_EL1\0"
7858 "PMMIR_EL1\0"
7859 "PMIAR_EL1\0"
7860 "MAIR_EL1\0"
7861 "MAIR2_EL1\0"
7862 "PIRE0_EL1\0"
7863 "PIR_EL1\0"
7864 "POR_EL1\0"
7865 "S2POR_EL1\0"
7866 "TTTBRU_EL1\0"
7867 "TTTBRP_EL1\0"
7868 "AMAIR_EL1\0"
7869 "AMAIR2_EL1\0"
7870 "LORSA_EL1\0"
7871 "LOREA_EL1\0"
7872 "LORN_EL1\0"
7873 "LORC_EL1\0"
7874 "MPAMIDR_EL1\0"
7875 "MPAMBWIDR_EL1\0"
7876 "TLBIDIDR_EL1\0"
7877 "LORID_EL1\0"
7878 "MPAM1_EL1\0"
7879 "MPAM0_EL1\0"
7880 "MPAMCTL_EL1\0"
7881 "MPAMSM_EL1\0"
7882 "MPAMBW1_EL1\0"
7883 "MPAMBW0_EL1\0"
7884 "MPAMBWSM_EL1\0"
7885 "VBAR_EL1\0"
7886 "RVBAR_EL1\0"
7887 "RMR_EL1\0"
7888 "ISR_EL1\0"
7889 "DISR_EL1\0"
7890 "ICC_IAR0_EL1\0"
7891 "ICC_EOIR0_EL1\0"
7892 "ICC_HPPIR0_EL1\0"
7893 "ICC_BPR0_EL1\0"
7894 "ICC_AP0R0_EL1\0"
7895 "ICC_AP0R1_EL1\0"
7896 "ICC_AP0R2_EL1\0"
7897 "ICC_AP0R3_EL1\0"
7898 "ICC_AP1R0_EL1\0"
7899 "ICC_AP1R1_EL1\0"
7900 "ICC_AP1R2_EL1\0"
7901 "ICC_AP1R3_EL1\0"
7902 "ICC_NMIAR1_EL1\0"
7903 "ICC_PPI_HMR0_EL1\0"
7904 "ICV_PPI_HMR0_EL1\0"
7905 "ICC_PPI_HMR1_EL1\0"
7906 "ICV_PPI_HMR1_EL1\0"
7907 "ICC_IDR0_EL1\0"
7908 "ICC_HPPIR_EL1\0"
7909 "ICV_HPPIR_EL1\0"
7910 "ICC_ICSR_EL1\0"
7911 "ICC_IAFFIDR_EL1\0"
7912 "ICC_PPI_ENABLER0_EL1\0"
7913 "ICV_PPI_ENABLER0_EL1\0"
7914 "ICC_PPI_ENABLER1_EL1\0"
7915 "ICV_PPI_ENABLER1_EL1\0"
7916 "ICC_DIR_EL1\0"
7917 "ICC_RPR_EL1\0"
7918 "ICC_SGI1R_EL1\0"
7919 "ICC_ASGI1R_EL1\0"
7920 "ICC_SGI0R_EL1\0"
7921 "ICC_IAR1_EL1\0"
7922 "ICC_EOIR1_EL1\0"
7923 "ICC_HPPIR1_EL1\0"
7924 "ICC_BPR1_EL1\0"
7925 "ICC_CTLR_EL1\0"
7926 "ICC_SRE_EL1\0"
7927 "ICC_IGRPEN0_EL1\0"
7928 "ICC_IGRPEN1_EL1\0"
7929 "ICC_PPI_CACTIVER0_EL1\0"
7930 "ICV_PPI_CACTIVER0_EL1\0"
7931 "ICC_PPI_CACTIVER1_EL1\0"
7932 "ICV_PPI_CACTIVER1_EL1\0"
7933 "ICC_PPI_SACTIVER0_EL1\0"
7934 "ICV_PPI_SACTIVER0_EL1\0"
7935 "ICC_PPI_SACTIVER1_EL1\0"
7936 "ICV_PPI_SACTIVER1_EL1\0"
7937 "ICC_PPI_CPENDR0_EL1\0"
7938 "ICV_PPI_CPENDR0_EL1\0"
7939 "ICC_PPI_CPENDR1_EL1\0"
7940 "ICV_PPI_CPENDR1_EL1\0"
7941 "ICC_PPI_SPENDR0_EL1\0"
7942 "ICV_PPI_SPENDR0_EL1\0"
7943 "ICC_PPI_SPENDR1_EL1\0"
7944 "ICV_PPI_SPENDR1_EL1\0"
7945 "ICC_PPI_PRIORITYR0_EL1\0"
7946 "ICV_PPI_PRIORITYR0_EL1\0"
7947 "ICC_PPI_PRIORITYR1_EL1\0"
7948 "ICV_PPI_PRIORITYR1_EL1\0"
7949 "ICC_PPI_PRIORITYR2_EL1\0"
7950 "ICV_PPI_PRIORITYR2_EL1\0"
7951 "ICC_PPI_PRIORITYR3_EL1\0"
7952 "ICV_PPI_PRIORITYR3_EL1\0"
7953 "ICC_PPI_PRIORITYR4_EL1\0"
7954 "ICV_PPI_PRIORITYR4_EL1\0"
7955 "ICC_PPI_PRIORITYR5_EL1\0"
7956 "ICV_PPI_PRIORITYR5_EL1\0"
7957 "ICC_PPI_PRIORITYR6_EL1\0"
7958 "ICV_PPI_PRIORITYR6_EL1\0"
7959 "ICC_PPI_PRIORITYR7_EL1\0"
7960 "ICV_PPI_PRIORITYR7_EL1\0"
7961 "ICC_PPI_PRIORITYR8_EL1\0"
7962 "ICV_PPI_PRIORITYR8_EL1\0"
7963 "ICC_PPI_PRIORITYR9_EL1\0"
7964 "ICV_PPI_PRIORITYR9_EL1\0"
7965 "ICC_PPI_PRIORITYR10_EL1\0"
7966 "ICV_PPI_PRIORITYR10_EL1\0"
7967 "ICC_PPI_PRIORITYR11_EL1\0"
7968 "ICV_PPI_PRIORITYR11_EL1\0"
7969 "ICC_PPI_PRIORITYR12_EL1\0"
7970 "ICV_PPI_PRIORITYR12_EL1\0"
7971 "ICC_PPI_PRIORITYR13_EL1\0"
7972 "ICV_PPI_PRIORITYR13_EL1\0"
7973 "ICC_PPI_PRIORITYR14_EL1\0"
7974 "ICV_PPI_PRIORITYR14_EL1\0"
7975 "ICC_PPI_PRIORITYR15_EL1\0"
7976 "ICV_PPI_PRIORITYR15_EL1\0"
7977 "TPIDR3_EL1\0"
7978 "CONTEXTIDR_EL1\0"
7979 "RCWSMASK_EL1\0"
7980 "TPIDR_EL1\0"
7981 "ACCDATA_EL1\0"
7982 "RCWMASK_EL1\0"
7983 "SCXTNUM_EL1\0"
7984 "CNTKCTL_EL1\0"
7985 "CCSIDR_EL1\0"
7986 "CLIDR_EL1\0"
7987 "CCSIDR2_EL1\0"
7988 "GMID_EL1\0"
7989 "SMIDR_EL1\0"
7990 "AIDR_EL1\0"
7991 "ICC_APR_EL1\0"
7992 "ICV_APR_EL1\0"
7993 "ICC_CR0_EL1\0"
7994 "ICV_CR0_EL1\0"
7995 "ICC_PCR_EL1\0"
7996 "ICV_PCR_EL1\0"
7997 "ICC_HAPR_EL1\0"
7998 "ICV_HAPR_EL1\0"
7999 "CSSELR_EL1\0"
8000 "CTR_EL0\0"
8001 "DCZID_EL0\0"
8002 "TPCR0_EL0\0"
8003 "TPCR1_EL0\0"
8004 "RNDR\0"
8005 "RNDRRS\0"
8006 "GCSPR_EL0\0"
8007 "TINDEX_EL0\0"
8008 "NZCV\0"
8009 "DAIF\0"
8010 "SVCR\0"
8011 "DIT\0"
8012 "SSBS\0"
8013 "TCO\0"
8014 "FPCR\0"
8015 "FPSR\0"
8016 "FPMR\0"
8017 "DSPSR_EL0\0"
8018 "DLR_EL0\0"
8019 "DPOCR_EL0\0"
8020 "PMICNTR_EL0\0"
8021 "PMICFILTR_EL0\0"
8022 "PMCR_EL0\0"
8023 "PMCNTENSET_EL0\0"
8024 "PMCNTENCLR_EL0\0"
8025 "PMOVSCLR_EL0\0"
8026 "PMSWINC_EL0\0"
8027 "PMSELR_EL0\0"
8028 "PMCEID0_EL0\0"
8029 "PMCEID1_EL0\0"
8030 "PMCCNTR_EL0\0"
8031 "PMXEVTYPER_EL0\0"
8032 "PMXEVCNTR_EL0\0"
8033 "PMZR_EL0\0"
8034 "PMUSERENR_EL0\0"
8035 "PMOVSSET_EL0\0"
8036 "POR_EL0\0"
8037 "TPIDR3_EL0\0"
8038 "TPIDR_EL0\0"
8039 "TPIDRRO_EL0\0"
8040 "TPIDR2_EL0\0"
8041 "SCXTNUM_EL0\0"
8042 "AMCR_EL0\0"
8043 "AMCFGR_EL0\0"
8044 "AMCGCR_EL0\0"
8045 "AMUSERENR_EL0\0"
8046 "AMCNTENCLR0_EL0\0"
8047 "AMCNTENSET0_EL0\0"
8048 "AMCG1IDR_EL0\0"
8049 "AMCNTENCLR1_EL0\0"
8050 "AMCNTENSET1_EL0\0"
8051 "AMEVCNTR00_EL0\0"
8052 "AMEVCNTR01_EL0\0"
8053 "AMEVCNTR02_EL0\0"
8054 "AMEVCNTR03_EL0\0"
8055 "AMEVTYPER00_EL0\0"
8056 "AMEVTYPER01_EL0\0"
8057 "AMEVTYPER02_EL0\0"
8058 "AMEVTYPER03_EL0\0"
8059 "AMEVCNTR10_EL0\0"
8060 "AMEVCNTR11_EL0\0"
8061 "AMEVCNTR12_EL0\0"
8062 "AMEVCNTR13_EL0\0"
8063 "AMEVCNTR14_EL0\0"
8064 "AMEVCNTR15_EL0\0"
8065 "AMEVCNTR16_EL0\0"
8066 "AMEVCNTR17_EL0\0"
8067 "AMEVCNTR18_EL0\0"
8068 "AMEVCNTR19_EL0\0"
8069 "AMEVCNTR110_EL0\0"
8070 "AMEVCNTR111_EL0\0"
8071 "AMEVCNTR112_EL0\0"
8072 "AMEVCNTR113_EL0\0"
8073 "AMEVCNTR114_EL0\0"
8074 "AMEVCNTR115_EL0\0"
8075 "AMEVTYPER10_EL0\0"
8076 "AMEVTYPER11_EL0\0"
8077 "AMEVTYPER12_EL0\0"
8078 "AMEVTYPER13_EL0\0"
8079 "AMEVTYPER14_EL0\0"
8080 "AMEVTYPER15_EL0\0"
8081 "AMEVTYPER16_EL0\0"
8082 "AMEVTYPER17_EL0\0"
8083 "AMEVTYPER18_EL0\0"
8084 "AMEVTYPER19_EL0\0"
8085 "AMEVTYPER110_EL0\0"
8086 "AMEVTYPER111_EL0\0"
8087 "AMEVTYPER112_EL0\0"
8088 "AMEVTYPER113_EL0\0"
8089 "AMEVTYPER114_EL0\0"
8090 "AMEVTYPER115_EL0\0"
8091 "CNTFRQ_EL0\0"
8092 "CNTPCT_EL0\0"
8093 "CNTVCT_EL0\0"
8094 "CNTPCTSS_EL0\0"
8095 "CNTVCTSS_EL0\0"
8096 "CNTP_TVAL_EL0\0"
8097 "CNTP_CTL_EL0\0"
8098 "CNTP_CVAL_EL0\0"
8099 "CNTV_TVAL_EL0\0"
8100 "CNTV_CTL_EL0\0"
8101 "CNTV_CVAL_EL0\0"
8102 "PMEVCNTR0_EL0\0"
8103 "PMEVCNTR1_EL0\0"
8104 "PMEVCNTR2_EL0\0"
8105 "PMEVCNTR3_EL0\0"
8106 "PMEVCNTR4_EL0\0"
8107 "PMEVCNTR5_EL0\0"
8108 "PMEVCNTR6_EL0\0"
8109 "PMEVCNTR7_EL0\0"
8110 "PMEVCNTR8_EL0\0"
8111 "PMEVCNTR9_EL0\0"
8112 "PMEVCNTR10_EL0\0"
8113 "PMEVCNTR11_EL0\0"
8114 "PMEVCNTR12_EL0\0"
8115 "PMEVCNTR13_EL0\0"
8116 "PMEVCNTR14_EL0\0"
8117 "PMEVCNTR15_EL0\0"
8118 "PMEVCNTR16_EL0\0"
8119 "PMEVCNTR17_EL0\0"
8120 "PMEVCNTR18_EL0\0"
8121 "PMEVCNTR19_EL0\0"
8122 "PMEVCNTR20_EL0\0"
8123 "PMEVCNTR21_EL0\0"
8124 "PMEVCNTR22_EL0\0"
8125 "PMEVCNTR23_EL0\0"
8126 "PMEVCNTR24_EL0\0"
8127 "PMEVCNTR25_EL0\0"
8128 "PMEVCNTR26_EL0\0"
8129 "PMEVCNTR27_EL0\0"
8130 "PMEVCNTR28_EL0\0"
8131 "PMEVCNTR29_EL0\0"
8132 "PMEVCNTR30_EL0\0"
8133 "PMEVTYPER0_EL0\0"
8134 "PMEVTYPER1_EL0\0"
8135 "PMEVTYPER2_EL0\0"
8136 "PMEVTYPER3_EL0\0"
8137 "PMEVTYPER4_EL0\0"
8138 "PMEVTYPER5_EL0\0"
8139 "PMEVTYPER6_EL0\0"
8140 "PMEVTYPER7_EL0\0"
8141 "PMEVTYPER8_EL0\0"
8142 "PMEVTYPER9_EL0\0"
8143 "PMEVTYPER10_EL0\0"
8144 "PMEVTYPER11_EL0\0"
8145 "PMEVTYPER12_EL0\0"
8146 "PMEVTYPER13_EL0\0"
8147 "PMEVTYPER14_EL0\0"
8148 "PMEVTYPER15_EL0\0"
8149 "PMEVTYPER16_EL0\0"
8150 "PMEVTYPER17_EL0\0"
8151 "PMEVTYPER18_EL0\0"
8152 "PMEVTYPER19_EL0\0"
8153 "PMEVTYPER20_EL0\0"
8154 "PMEVTYPER21_EL0\0"
8155 "PMEVTYPER22_EL0\0"
8156 "PMEVTYPER23_EL0\0"
8157 "PMEVTYPER24_EL0\0"
8158 "PMEVTYPER25_EL0\0"
8159 "PMEVTYPER26_EL0\0"
8160 "PMEVTYPER27_EL0\0"
8161 "PMEVTYPER28_EL0\0"
8162 "PMEVTYPER29_EL0\0"
8163 "PMEVTYPER30_EL0\0"
8164 "PMCCFILTR_EL0\0"
8165 "VPIDR_EL2\0"
8166 "MPUIR_EL2\0"
8167 "VMPIDR_EL2\0"
8168 "SCTLR_EL2\0"
8169 "ACTLR_EL2\0"
8170 "SCTLR2_EL2\0"
8171 "HCR_EL2\0"
8172 "MDCR_EL2\0"
8173 "CPTR_EL2\0"
8174 "HSTR_EL2\0"
8175 "HFGRTR_EL2\0"
8176 "HFGWTR_EL2\0"
8177 "HFGITR_EL2\0"
8178 "HACR_EL2\0"
8179 "ZCR_EL2\0"
8180 "TRFCR_EL2\0"
8181 "HCRX_EL2\0"
8182 "TRCITECR_EL2\0"
8183 "SMPRIMAP_EL2\0"
8184 "SMCR_EL2\0"
8185 "SDER32_EL2\0"
8186 "SCTLRMASK_EL2\0"
8187 "ACTLRMASK_EL2\0"
8188 "CPTRMASK_EL2\0"
8189 "SCTLR2MASK_EL2\0"
8190 "NVHCR_EL2\0"
8191 "NVHCRX_EL2\0"
8192 "NVHCRMASK_EL2\0"
8193 "NVHCRXMASK_EL2\0"
8194 "HCRMASK_EL2\0"
8195 "HCRXMASK_EL2\0"
8196 "TTBR0_EL2\0"
8197 "VSCTLR_EL2\0"
8198 "TTBR1_EL2\0"
8199 "TCR_EL2\0"
8200 "TCR2_EL2\0"
8201 "IRTBRU_EL2\0"
8202 "IRTBRP_EL2\0"
8203 "DPOTBR0_EL2\0"
8204 "DPOTBR1_EL2\0"
8205 "VTTBR_EL2\0"
8206 "VTCR_EL2\0"
8207 "LDSTT_EL2\0"
8208 "VNCR_EL2\0"
8209 "VNCCR_EL2\0"
8210 "TPCR0_EL2\0"
8211 "TPCR1_EL2\0"
8212 "HDBSSBR_EL2\0"
8213 "HDBSSPROD_EL2\0"
8214 "HACDBSBR_EL2\0"
8215 "HACDBSCONS_EL2\0"
8216 "GCSCR_EL2\0"
8217 "GCSPR_EL2\0"
8218 "VSTTBR_EL2\0"
8219 "VSTCR_EL2\0"
8220 "TCRMASK_EL2\0"
8221 "TCR2MASK_EL2\0"
8222 "VTLBID0_EL2\0"
8223 "VTLBID1_EL2\0"
8224 "VTLBID2_EL2\0"
8225 "VTLBID3_EL2\0"
8226 "VTLBIDOS0_EL2\0"
8227 "VTLBIDOS1_EL2\0"
8228 "VTLBIDOS2_EL2\0"
8229 "VTLBIDOS3_EL2\0"
8230 "DACR32_EL2\0"
8231 "HDFGRTR2_EL2\0"
8232 "HDFGWTR2_EL2\0"
8233 "HFGRTR2_EL2\0"
8234 "HFGWTR2_EL2\0"
8235 "HDFGRTR_EL2\0"
8236 "HDFGWTR_EL2\0"
8237 "HAFGRTR_EL2\0"
8238 "HFGITR2_EL2\0"
8239 "FGDTP0_EL2\0"
8240 "FGDTP1_EL2\0"
8241 "FGDTP2_EL2\0"
8242 "FGDTP3_EL2\0"
8243 "FGDTP4_EL2\0"
8244 "FGDTP5_EL2\0"
8245 "FGDTP6_EL2\0"
8246 "FGDTP7_EL2\0"
8247 "FGDTP8_EL2\0"
8248 "FGDTP9_EL2\0"
8249 "FGDTP10_EL2\0"
8250 "FGDTP11_EL2\0"
8251 "FGDTP12_EL2\0"
8252 "FGDTP13_EL2\0"
8253 "FGDTP14_EL2\0"
8254 "FGDTP15_EL2\0"
8255 "FGDTU0_EL2\0"
8256 "FGDTU1_EL2\0"
8257 "FGDTU2_EL2\0"
8258 "FGDTU3_EL2\0"
8259 "FGDTU4_EL2\0"
8260 "FGDTU5_EL2\0"
8261 "FGDTU6_EL2\0"
8262 "FGDTU7_EL2\0"
8263 "FGDTU8_EL2\0"
8264 "FGDTU9_EL2\0"
8265 "FGDTU10_EL2\0"
8266 "FGDTU11_EL2\0"
8267 "FGDTU12_EL2\0"
8268 "FGDTU13_EL2\0"
8269 "FGDTU14_EL2\0"
8270 "FGDTU15_EL2\0"
8271 "AFGDTP0_EL2\0"
8272 "AFGDTP1_EL2\0"
8273 "AFGDTP2_EL2\0"
8274 "AFGDTP3_EL2\0"
8275 "AFGDTP4_EL2\0"
8276 "AFGDTP5_EL2\0"
8277 "AFGDTP6_EL2\0"
8278 "AFGDTP7_EL2\0"
8279 "AFGDTP8_EL2\0"
8280 "AFGDTP9_EL2\0"
8281 "AFGDTP10_EL2\0"
8282 "AFGDTP11_EL2\0"
8283 "AFGDTP12_EL2\0"
8284 "AFGDTP13_EL2\0"
8285 "AFGDTP14_EL2\0"
8286 "AFGDTP15_EL2\0"
8287 "AFGDTU0_EL2\0"
8288 "AFGDTU1_EL2\0"
8289 "AFGDTU2_EL2\0"
8290 "AFGDTU3_EL2\0"
8291 "AFGDTU4_EL2\0"
8292 "AFGDTU5_EL2\0"
8293 "AFGDTU6_EL2\0"
8294 "AFGDTU7_EL2\0"
8295 "AFGDTU8_EL2\0"
8296 "AFGDTU9_EL2\0"
8297 "AFGDTU10_EL2\0"
8298 "AFGDTU11_EL2\0"
8299 "AFGDTU12_EL2\0"
8300 "AFGDTU13_EL2\0"
8301 "AFGDTU14_EL2\0"
8302 "AFGDTU15_EL2\0"
8303 "SPSR_EL2\0"
8304 "ELR_EL2\0"
8305 "STINDEX_EL2\0"
8306 "TINDEX_EL2\0"
8307 "SP_EL1\0"
8308 "SPSR_irq\0"
8309 "SPSR_abt\0"
8310 "SPSR_und\0"
8311 "SPSR_fiq\0"
8312 "IFSR32_EL2\0"
8313 "AFSR0_EL2\0"
8314 "AFSR1_EL2\0"
8315 "ESR_EL2\0"
8316 "VSESR_EL2\0"
8317 "FPEXC32_EL2\0"
8318 "TFSR_EL2\0"
8319 "FAR_EL2\0"
8320 "HPFAR_EL2\0"
8321 "PFAR_EL2\0"
8322 "PRENR_EL2\0"
8323 "PRSELR_EL2\0"
8324 "PRBAR_EL2\0"
8325 "PRLAR_EL2\0"
8326 "PRBAR1_EL2\0"
8327 "PRLAR1_EL2\0"
8328 "PRBAR2_EL2\0"
8329 "PRLAR2_EL2\0"
8330 "PRBAR3_EL2\0"
8331 "PRLAR3_EL2\0"
8332 "PRBAR4_EL2\0"
8333 "PRLAR4_EL2\0"
8334 "PRBAR5_EL2\0"
8335 "PRLAR5_EL2\0"
8336 "PRBAR6_EL2\0"
8337 "PRLAR6_EL2\0"
8338 "PRBAR7_EL2\0"
8339 "PRLAR7_EL2\0"
8340 "PRBAR8_EL2\0"
8341 "PRLAR8_EL2\0"
8342 "PRBAR9_EL2\0"
8343 "PRLAR9_EL2\0"
8344 "PRBAR10_EL2\0"
8345 "PRLAR10_EL2\0"
8346 "PRBAR11_EL2\0"
8347 "PRLAR11_EL2\0"
8348 "PRBAR12_EL2\0"
8349 "PRLAR12_EL2\0"
8350 "PRBAR13_EL2\0"
8351 "PRLAR13_EL2\0"
8352 "PRBAR14_EL2\0"
8353 "PRLAR14_EL2\0"
8354 "PRBAR15_EL2\0"
8355 "PRLAR15_EL2\0"
8356 "PMSCR_EL2\0"
8357 "PMBSR_EL2\0"
8358 "TRBSR_EL2\0"
8359 "MAIR2_EL2\0"
8360 "MAIR_EL2\0"
8361 "PIRE0_EL2\0"
8362 "PIR_EL2\0"
8363 "POR_EL2\0"
8364 "S2PIR_EL2\0"
8365 "TTTBRU_EL2\0"
8366 "TTTBRP_EL2\0"
8367 "AMAIR_EL2\0"
8368 "AMAIR2_EL2\0"
8369 "MPAMHCR_EL2\0"
8370 "MPAMVPMV_EL2\0"
8371 "MPAM2_EL2\0"
8372 "MPAMCTL_EL2\0"
8373 "MPAMBW2_EL2\0"
8374 "MPAMBWCAP_EL2\0"
8375 "MPAMVPM0_EL2\0"
8376 "MPAMVPM1_EL2\0"
8377 "MPAMVPM2_EL2\0"
8378 "MPAMVPM3_EL2\0"
8379 "MPAMVPM4_EL2\0"
8380 "MPAMVPM5_EL2\0"
8381 "MPAMVPM6_EL2\0"
8382 "MPAMVPM7_EL2\0"
8383 "MECID_P0_EL2\0"
8384 "MECID_A0_EL2\0"
8385 "MECID_P1_EL2\0"
8386 "MECID_A1_EL2\0"
8387 "MECIDR_EL2\0"
8388 "VMECID_P_EL2\0"
8389 "VMECID_A_EL2\0"
8390 "VBAR_EL2\0"
8391 "RVBAR_EL2\0"
8392 "RMR_EL2\0"
8393 "VDISR_EL2\0"
8394 "ICH_PPI_HVIR0_EL2\0"
8395 "ICH_PPI_HVIR1_EL2\0"
8396 "ICH_AP0R0_EL2\0"
8397 "ICH_AP0R1_EL2\0"
8398 "ICH_AP0R2_EL2\0"
8399 "ICH_AP0R3_EL2\0"
8400 "ICH_APR_EL2\0"
8401 "ICH_HPPIR_EL2\0"
8402 "ICH_AP1R0_EL2\0"
8403 "ICH_AP1R1_EL2\0"
8404 "ICH_AP1R2_EL2\0"
8405 "ICH_AP1R3_EL2\0"
8406 "ICH_HFGRTR_EL2\0"
8407 "ICC_SRE_EL2\0"
8408 "ICH_HFGWTR_EL2\0"
8409 "ICH_HFGITR_EL2\0"
8410 "ICH_PPI_DVIR0_EL2\0"
8411 "ICH_PPI_DVIR1_EL2\0"
8412 "ICH_PPI_ENABLER0_EL2\0"
8413 "ICH_PPI_ENABLER1_EL2\0"
8414 "ICH_PPI_PENDR0_EL2\0"
8415 "ICH_PPI_PENDR1_EL2\0"
8416 "ICH_PPI_ACTIVER0_EL2\0"
8417 "ICH_PPI_ACTIVER1_EL2\0"
8418 "ICH_HCR_EL2\0"
8419 "ICH_VTR_EL2\0"
8420 "ICH_MISR_EL2\0"
8421 "ICH_EISR_EL2\0"
8422 "ICH_VCTLR_EL2\0"
8423 "ICH_ELRSR_EL2\0"
8424 "ICH_CONTEXTR_EL2\0"
8425 "ICH_VMCR_EL2\0"
8426 "ICH_LR0_EL2\0"
8427 "ICH_LR1_EL2\0"
8428 "ICH_LR2_EL2\0"
8429 "ICH_LR3_EL2\0"
8430 "ICH_LR4_EL2\0"
8431 "ICH_LR5_EL2\0"
8432 "ICH_LR6_EL2\0"
8433 "ICH_LR7_EL2\0"
8434 "ICH_LR8_EL2\0"
8435 "ICH_LR9_EL2\0"
8436 "ICH_LR10_EL2\0"
8437 "ICH_LR11_EL2\0"
8438 "ICH_LR12_EL2\0"
8439 "ICH_LR13_EL2\0"
8440 "ICH_LR14_EL2\0"
8441 "ICH_LR15_EL2\0"
8442 "ICH_PPI_PRIORITYR0_EL2\0"
8443 "ICH_PPI_PRIORITYR1_EL2\0"
8444 "ICH_PPI_PRIORITYR2_EL2\0"
8445 "ICH_PPI_PRIORITYR3_EL2\0"
8446 "ICH_PPI_PRIORITYR4_EL2\0"
8447 "ICH_PPI_PRIORITYR5_EL2\0"
8448 "ICH_PPI_PRIORITYR6_EL2\0"
8449 "ICH_PPI_PRIORITYR7_EL2\0"
8450 "ICH_PPI_PRIORITYR8_EL2\0"
8451 "ICH_PPI_PRIORITYR9_EL2\0"
8452 "ICH_PPI_PRIORITYR10_EL2\0"
8453 "ICH_PPI_PRIORITYR11_EL2\0"
8454 "ICH_PPI_PRIORITYR12_EL2\0"
8455 "ICH_PPI_PRIORITYR13_EL2\0"
8456 "ICH_PPI_PRIORITYR14_EL2\0"
8457 "ICH_PPI_PRIORITYR15_EL2\0"
8458 "TPIDR3_EL2\0"
8459 "CONTEXTIDR_EL2\0"
8460 "TPIDR_EL2\0"
8461 "SCXTNUM_EL2\0"
8462 "AMEVCNTVOFF00_EL2\0"
8463 "AMEVCNTVOFF01_EL2\0"
8464 "AMEVCNTVOFF02_EL2\0"
8465 "AMEVCNTVOFF03_EL2\0"
8466 "AMEVCNTVOFF04_EL2\0"
8467 "AMEVCNTVOFF05_EL2\0"
8468 "AMEVCNTVOFF06_EL2\0"
8469 "AMEVCNTVOFF07_EL2\0"
8470 "AMEVCNTVOFF08_EL2\0"
8471 "AMEVCNTVOFF09_EL2\0"
8472 "AMEVCNTVOFF010_EL2\0"
8473 "AMEVCNTVOFF011_EL2\0"
8474 "AMEVCNTVOFF012_EL2\0"
8475 "AMEVCNTVOFF013_EL2\0"
8476 "AMEVCNTVOFF014_EL2\0"
8477 "AMEVCNTVOFF015_EL2\0"
8478 "AMEVCNTVOFF10_EL2\0"
8479 "AMEVCNTVOFF11_EL2\0"
8480 "AMEVCNTVOFF12_EL2\0"
8481 "AMEVCNTVOFF13_EL2\0"
8482 "AMEVCNTVOFF14_EL2\0"
8483 "AMEVCNTVOFF15_EL2\0"
8484 "AMEVCNTVOFF16_EL2\0"
8485 "AMEVCNTVOFF17_EL2\0"
8486 "AMEVCNTVOFF18_EL2\0"
8487 "AMEVCNTVOFF19_EL2\0"
8488 "AMEVCNTVOFF110_EL2\0"
8489 "AMEVCNTVOFF111_EL2\0"
8490 "AMEVCNTVOFF112_EL2\0"
8491 "AMEVCNTVOFF113_EL2\0"
8492 "AMEVCNTVOFF114_EL2\0"
8493 "AMEVCNTVOFF115_EL2\0"
8494 "CNTVOFF_EL2\0"
8495 "CNTSCALE_EL2\0"
8496 "CNTISCALE_EL2\0"
8497 "CNTPOFF_EL2\0"
8498 "CNTVFRQ_EL2\0"
8499 "CNTHCTL_EL2\0"
8500 "CNTHP_TVAL_EL2\0"
8501 "CNTHP_CTL_EL2\0"
8502 "CNTHP_CVAL_EL2\0"
8503 "CNTHV_TVAL_EL2\0"
8504 "CNTHV_CTL_EL2\0"
8505 "CNTHV_CVAL_EL2\0"
8506 "CNTHVS_TVAL_EL2\0"
8507 "CNTHVS_CTL_EL2\0"
8508 "CNTHVS_CVAL_EL2\0"
8509 "CNTHPS_TVAL_EL2\0"
8510 "CNTHPS_CTL_EL2\0"
8511 "CNTHPS_CVAL_EL2\0"
8512 "SCTLR_EL12\0"
8513 "ACTLR_EL12\0"
8514 "CPACR_EL12\0"
8515 "SCTLR2_EL12\0"
8516 "ZCR_EL12\0"
8517 "TRFCR_EL12\0"
8518 "TRCITECR_EL12\0"
8519 "SMCR_EL12\0"
8520 "SCTLRMASK_EL12\0"
8521 "ACTLRMASK_EL12\0"
8522 "CPACRMASK_EL12\0"
8523 "SCTLR2MASK_EL12\0"
8524 "TTBR0_EL12\0"
8525 "TTBR1_EL12\0"
8526 "TCR_EL12\0"
8527 "TCR2_EL12\0"
8528 "IRTBRU_EL12\0"
8529 "IRTBRP_EL12\0"
8530 "DPOTBR0_EL12\0"
8531 "DPOTBR1_EL12\0"
8532 "LDSTT_EL12\0"
8533 "TPCR0_EL12\0"
8534 "TPCR1_EL12\0"
8535 "GCSCR_EL12\0"
8536 "GCSPR_EL12\0"
8537 "TCRMASK_EL12\0"
8538 "TCR2MASK_EL12\0"
8539 "FGDTP0_EL12\0"
8540 "FGDTP1_EL12\0"
8541 "FGDTP2_EL12\0"
8542 "FGDTP3_EL12\0"
8543 "FGDTP4_EL12\0"
8544 "FGDTP5_EL12\0"
8545 "FGDTP6_EL12\0"
8546 "FGDTP7_EL12\0"
8547 "FGDTP8_EL12\0"
8548 "FGDTP9_EL12\0"
8549 "FGDTP10_EL12\0"
8550 "FGDTP11_EL12\0"
8551 "FGDTP12_EL12\0"
8552 "FGDTP13_EL12\0"
8553 "FGDTP14_EL12\0"
8554 "FGDTP15_EL12\0"
8555 "FGDTU0_EL12\0"
8556 "FGDTU1_EL12\0"
8557 "FGDTU2_EL12\0"
8558 "FGDTU3_EL12\0"
8559 "FGDTU4_EL12\0"
8560 "FGDTU5_EL12\0"
8561 "FGDTU6_EL12\0"
8562 "FGDTU7_EL12\0"
8563 "FGDTU8_EL12\0"
8564 "FGDTU9_EL12\0"
8565 "FGDTU10_EL12\0"
8566 "FGDTU11_EL12\0"
8567 "FGDTU12_EL12\0"
8568 "FGDTU13_EL12\0"
8569 "FGDTU14_EL12\0"
8570 "FGDTU15_EL12\0"
8571 "AFGDTP0_EL12\0"
8572 "AFGDTP1_EL12\0"
8573 "AFGDTP2_EL12\0"
8574 "AFGDTP3_EL12\0"
8575 "AFGDTP4_EL12\0"
8576 "AFGDTP5_EL12\0"
8577 "AFGDTP6_EL12\0"
8578 "AFGDTP7_EL12\0"
8579 "AFGDTP8_EL12\0"
8580 "AFGDTP9_EL12\0"
8581 "AFGDTP10_EL12\0"
8582 "AFGDTP11_EL12\0"
8583 "AFGDTP12_EL12\0"
8584 "AFGDTP13_EL12\0"
8585 "AFGDTP14_EL12\0"
8586 "AFGDTP15_EL12\0"
8587 "AFGDTU0_EL12\0"
8588 "AFGDTU1_EL12\0"
8589 "AFGDTU2_EL12\0"
8590 "AFGDTU3_EL12\0"
8591 "AFGDTU4_EL12\0"
8592 "AFGDTU5_EL12\0"
8593 "AFGDTU6_EL12\0"
8594 "AFGDTU7_EL12\0"
8595 "AFGDTU8_EL12\0"
8596 "AFGDTU9_EL12\0"
8597 "AFGDTU10_EL12\0"
8598 "AFGDTU11_EL12\0"
8599 "AFGDTU12_EL12\0"
8600 "AFGDTU13_EL12\0"
8601 "AFGDTU14_EL12\0"
8602 "AFGDTU15_EL12\0"
8603 "SPSR_EL12\0"
8604 "ELR_EL12\0"
8605 "STINDEX_EL12\0"
8606 "TINDEX_EL12\0"
8607 "AFSR0_EL12\0"
8608 "AFSR1_EL12\0"
8609 "ESR_EL12\0"
8610 "TFSR_EL12\0"
8611 "FAR_EL12\0"
8612 "PFAR_EL12\0"
8613 "PMSCR_EL12\0"
8614 "PMBSR_EL12\0"
8615 "TRBSR_EL12\0"
8616 "MAIR_EL12\0"
8617 "MAIR2_EL12\0"
8618 "PIRE0_EL12\0"
8619 "PIR_EL12\0"
8620 "POR_EL12\0"
8621 "TTTBRU_EL12\0"
8622 "TTTBRP_EL12\0"
8623 "AMAIR_EL12\0"
8624 "AMAIR2_EL12\0"
8625 "MPAM1_EL12\0"
8626 "MPAMCTL_EL12\0"
8627 "MPAMBW1_EL12\0"
8628 "VBAR_EL12\0"
8629 "TPIDR3_EL12\0"
8630 "CONTEXTIDR_EL12\0"
8631 "SCXTNUM_EL12\0"
8632 "CNTKCTL_EL12\0"
8633 "CNTP_TVAL_EL02\0"
8634 "CNTP_CTL_EL02\0"
8635 "CNTP_CVAL_EL02\0"
8636 "CNTV_TVAL_EL02\0"
8637 "CNTV_CTL_EL02\0"
8638 "CNTV_CVAL_EL02\0"
8639 "SCTLR_EL3\0"
8640 "ACTLR_EL3\0"
8641 "SCTLR2_EL3\0"
8642 "SCR_EL3\0"
8643 "SDER32_EL3\0"
8644 "CPTR_EL3\0"
8645 "FGWTE3_EL3\0"
8646 "ZCR_EL3\0"
8647 "SCR2_EL3\0"
8648 "SMCR_EL3\0"
8649 "MDCR_EL3\0"
8650 "TTBR0_EL3\0"
8651 "TCR_EL3\0"
8652 "IRTBRP_EL3\0"
8653 "DPOTBR0_EL3\0"
8654 "GPTBR_EL3\0"
8655 "GPCBW_EL3\0"
8656 "GPCCR_EL3\0"
8657 "GCSCR_EL3\0"
8658 "GCSPR_EL3\0"
8659 "FGDTP0_EL3\0"
8660 "FGDTP1_EL3\0"
8661 "FGDTP2_EL3\0"
8662 "FGDTP3_EL3\0"
8663 "FGDTP4_EL3\0"
8664 "FGDTP5_EL3\0"
8665 "FGDTP6_EL3\0"
8666 "FGDTP7_EL3\0"
8667 "FGDTP8_EL3\0"
8668 "FGDTP9_EL3\0"
8669 "FGDTP10_EL3\0"
8670 "FGDTP11_EL3\0"
8671 "FGDTP12_EL3\0"
8672 "FGDTP13_EL3\0"
8673 "FGDTP14_EL3\0"
8674 "FGDTP15_EL3\0"
8675 "AFGDTP0_EL3\0"
8676 "AFGDTP1_EL3\0"
8677 "AFGDTP2_EL3\0"
8678 "AFGDTP3_EL3\0"
8679 "AFGDTP4_EL3\0"
8680 "AFGDTP5_EL3\0"
8681 "AFGDTP6_EL3\0"
8682 "AFGDTP7_EL3\0"
8683 "AFGDTP8_EL3\0"
8684 "AFGDTP9_EL3\0"
8685 "AFGDTP10_EL3\0"
8686 "AFGDTP11_EL3\0"
8687 "AFGDTP12_EL3\0"
8688 "AFGDTP13_EL3\0"
8689 "AFGDTP14_EL3\0"
8690 "AFGDTP15_EL3\0"
8691 "SPSR_EL3\0"
8692 "ELR_EL3\0"
8693 "STINDEX_EL3\0"
8694 "TINDEX_EL3\0"
8695 "SP_EL2\0"
8696 "AFSR0_EL3\0"
8697 "AFSR1_EL3\0"
8698 "ESR_EL3\0"
8699 "VSESR_EL3\0"
8700 "TFSR_EL3\0"
8701 "FAR_EL3\0"
8702 "MFAR_EL3\0"
8703 "PMBSR_EL3\0"
8704 "TRBSR_EL3\0"
8705 "MAIR2_EL3\0"
8706 "MAIR_EL3\0"
8707 "PIR_EL3\0"
8708 "POR_EL3\0"
8709 "TTTBRP_EL3\0"
8710 "AMAIR_EL3\0"
8711 "AMAIR2_EL3\0"
8712 "MPAM3_EL3\0"
8713 "MPAMCTL_EL3\0"
8714 "MPAMBW3_EL3\0"
8715 "MECID_RL_A_EL3\0"
8716 "VBAR_EL3\0"
8717 "RVBAR_EL3\0"
8718 "RMR_EL3\0"
8719 "VDISR_EL3\0"
8720 "ICC_APR_EL3\0"
8721 "ICC_PCR_EL3\0"
8722 "ICC_DOMHPPIR_EL3\0"
8723 "ICC_PPI_DOMAINR0_EL3\0"
8724 "ICC_PPI_DOMAINR1_EL3\0"
8725 "ICC_PPI_DOMAINR2_EL3\0"
8726 "ICC_PPI_DOMAINR3_EL3\0"
8727 "ICC_CR0_EL3\0"
8728 "ICC_HPPIR_EL3\0"
8729 "ICC_CTLR_EL3\0"
8730 "ICC_SRE_EL3\0"
8731 "ICC_IGRPEN1_EL3\0"
8732 "TPIDR3_EL3\0"
8733 "TPIDR_EL3\0"
8734 "SCXTNUM_EL3\0"
8735 "CNTPS_TVAL_EL1\0"
8736 "CNTPS_CTL_EL1\0"
8737 "CNTPS_CVAL_EL1\0"
8738 "APDAKEYHI_EL1\0"
8739 "APDAKEYLO_EL1\0"
8740 "APDBKEYHI_EL1\0"
8741 "APDBKEYLO_EL1\0"
8742 "APGAKEYHI_EL1\0"
8743 "APGAKEYLO_EL1\0"
8744 "APIAKEYHI_EL1\0"
8745 "APIAKEYLO_EL1\0"
8746 "APIBKEYHI_EL1\0"
8747 "APIBKEYLO_EL1\0"
8748 "CURRENTEL\0"
8749 "SPSEL\0"
8750 "SPSR_ABT\0"
8751 "SPSR_FIQ\0"
8752 "SPSR_IRQ\0"
8753 "SPSR_UND\0"
8754 ;
8755#ifdef __GNUC__
8756#pragma GCC diagnostic pop
8757#endif
8758
8759static constexpr llvm::StringTable
8760SysRegsListStrings = SysRegsListStringsStorage;
8761
8762StringRef getSysRegStr(StringTable::Offset Offset) {
8763 return SysRegsListStrings[Offset];
8764}
8765
8766llvm::iterator_range<const SysReg *> lookupSysRegByEncoding(uint16_t Encoding) {
8767 struct KeyType {
8768 uint16_t Encoding;
8769 };
8770 KeyType Key = {Encoding};
8771 struct Comp {
8772 bool operator()(const SysReg &LHS, const KeyType &RHS) const {
8773 if (LHS.Encoding < RHS.Encoding)
8774 return true;
8775 if (LHS.Encoding > RHS.Encoding)
8776 return false;
8777 return false;
8778 }
8779 bool operator()(const KeyType &LHS, const SysReg &RHS) const {
8780 if (LHS.Encoding < RHS.Encoding)
8781 return true;
8782 if (LHS.Encoding > RHS.Encoding)
8783 return false;
8784 return false;
8785 }
8786 };
8787 auto Table = ArrayRef(SysRegsList);
8788 auto It = std::equal_range(Table.begin(), Table.end(), Key, Comp());
8789 return llvm::make_range(It.first, It.second);
8790}
8791
8792const SysReg *lookupSysRegByName(StringRef Name) {
8793 struct IndexType {
8794 unsigned Name;
8795 unsigned _index;
8796 };
8797 static const struct IndexType Index[] = {
8798 { 11623 /* "ACCDATA_EL1" */, 900 },
8799 { 7396 /* "ACTLRALIAS_EL1" */, 587 },
8800 { 7338 /* "ACTLRMASK_EL1" */, 583 },
8801 { 18757 /* "ACTLRMASK_EL12" */, 1440 },
8802 { 14325 /* "ACTLRMASK_EL2" */, 1106 },
8803 { 7226 /* "ACTLR_EL1" */, 572 },
8804 { 18664 /* "ACTLR_EL12" */, 1432 },
8805 { 14140 /* "ACTLR_EL2" */, 1088 },
8806 { 20233 /* "ACTLR_EL3" */, 1559 },
8807 { 8143 /* "AFGDTP0_EL1" */, 650 },
8808 { 19372 /* "AFGDTP0_EL12" */, 1490 },
8809 { 15301 /* "AFGDTP0_EL2" */, 1190 },
8810 { 20601 /* "AFGDTP0_EL3" */, 1594 },
8811 { 8263 /* "AFGDTP10_EL1" */, 660 },
8812 { 19502 /* "AFGDTP10_EL12" */, 1500 },
8813 { 15421 /* "AFGDTP10_EL2" */, 1200 },
8814 { 20721 /* "AFGDTP10_EL3" */, 1604 },
8815 { 8276 /* "AFGDTP11_EL1" */, 661 },
8816 { 19516 /* "AFGDTP11_EL12" */, 1501 },
8817 { 15434 /* "AFGDTP11_EL2" */, 1201 },
8818 { 20734 /* "AFGDTP11_EL3" */, 1605 },
8819 { 8289 /* "AFGDTP12_EL1" */, 662 },
8820 { 19530 /* "AFGDTP12_EL12" */, 1502 },
8821 { 15447 /* "AFGDTP12_EL2" */, 1202 },
8822 { 20747 /* "AFGDTP12_EL3" */, 1606 },
8823 { 8302 /* "AFGDTP13_EL1" */, 663 },
8824 { 19544 /* "AFGDTP13_EL12" */, 1503 },
8825 { 15460 /* "AFGDTP13_EL2" */, 1203 },
8826 { 20760 /* "AFGDTP13_EL3" */, 1607 },
8827 { 8315 /* "AFGDTP14_EL1" */, 664 },
8828 { 19558 /* "AFGDTP14_EL12" */, 1504 },
8829 { 15473 /* "AFGDTP14_EL2" */, 1204 },
8830 { 20773 /* "AFGDTP14_EL3" */, 1608 },
8831 { 8328 /* "AFGDTP15_EL1" */, 665 },
8832 { 19572 /* "AFGDTP15_EL12" */, 1505 },
8833 { 15486 /* "AFGDTP15_EL2" */, 1205 },
8834 { 20786 /* "AFGDTP15_EL3" */, 1609 },
8835 { 8155 /* "AFGDTP1_EL1" */, 651 },
8836 { 19385 /* "AFGDTP1_EL12" */, 1491 },
8837 { 15313 /* "AFGDTP1_EL2" */, 1191 },
8838 { 20613 /* "AFGDTP1_EL3" */, 1595 },
8839 { 8167 /* "AFGDTP2_EL1" */, 652 },
8840 { 19398 /* "AFGDTP2_EL12" */, 1492 },
8841 { 15325 /* "AFGDTP2_EL2" */, 1192 },
8842 { 20625 /* "AFGDTP2_EL3" */, 1596 },
8843 { 8179 /* "AFGDTP3_EL1" */, 653 },
8844 { 19411 /* "AFGDTP3_EL12" */, 1493 },
8845 { 15337 /* "AFGDTP3_EL2" */, 1193 },
8846 { 20637 /* "AFGDTP3_EL3" */, 1597 },
8847 { 8191 /* "AFGDTP4_EL1" */, 654 },
8848 { 19424 /* "AFGDTP4_EL12" */, 1494 },
8849 { 15349 /* "AFGDTP4_EL2" */, 1194 },
8850 { 20649 /* "AFGDTP4_EL3" */, 1598 },
8851 { 8203 /* "AFGDTP5_EL1" */, 655 },
8852 { 19437 /* "AFGDTP5_EL12" */, 1495 },
8853 { 15361 /* "AFGDTP5_EL2" */, 1195 },
8854 { 20661 /* "AFGDTP5_EL3" */, 1599 },
8855 { 8215 /* "AFGDTP6_EL1" */, 656 },
8856 { 19450 /* "AFGDTP6_EL12" */, 1496 },
8857 { 15373 /* "AFGDTP6_EL2" */, 1196 },
8858 { 20673 /* "AFGDTP6_EL3" */, 1600 },
8859 { 8227 /* "AFGDTP7_EL1" */, 657 },
8860 { 19463 /* "AFGDTP7_EL12" */, 1497 },
8861 { 15385 /* "AFGDTP7_EL2" */, 1197 },
8862 { 20685 /* "AFGDTP7_EL3" */, 1601 },
8863 { 8239 /* "AFGDTP8_EL1" */, 658 },
8864 { 19476 /* "AFGDTP8_EL12" */, 1498 },
8865 { 15397 /* "AFGDTP8_EL2" */, 1198 },
8866 { 20697 /* "AFGDTP8_EL3" */, 1602 },
8867 { 8251 /* "AFGDTP9_EL1" */, 659 },
8868 { 19489 /* "AFGDTP9_EL12" */, 1499 },
8869 { 15409 /* "AFGDTP9_EL2" */, 1199 },
8870 { 20709 /* "AFGDTP9_EL3" */, 1603 },
8871 { 8341 /* "AFGDTU0_EL1" */, 666 },
8872 { 19586 /* "AFGDTU0_EL12" */, 1506 },
8873 { 15499 /* "AFGDTU0_EL2" */, 1206 },
8874 { 8461 /* "AFGDTU10_EL1" */, 676 },
8875 { 19716 /* "AFGDTU10_EL12" */, 1516 },
8876 { 15619 /* "AFGDTU10_EL2" */, 1216 },
8877 { 8474 /* "AFGDTU11_EL1" */, 677 },
8878 { 19730 /* "AFGDTU11_EL12" */, 1517 },
8879 { 15632 /* "AFGDTU11_EL2" */, 1217 },
8880 { 8487 /* "AFGDTU12_EL1" */, 678 },
8881 { 19744 /* "AFGDTU12_EL12" */, 1518 },
8882 { 15645 /* "AFGDTU12_EL2" */, 1218 },
8883 { 8500 /* "AFGDTU13_EL1" */, 679 },
8884 { 19758 /* "AFGDTU13_EL12" */, 1519 },
8885 { 15658 /* "AFGDTU13_EL2" */, 1219 },
8886 { 8513 /* "AFGDTU14_EL1" */, 680 },
8887 { 19772 /* "AFGDTU14_EL12" */, 1520 },
8888 { 15671 /* "AFGDTU14_EL2" */, 1220 },
8889 { 8526 /* "AFGDTU15_EL1" */, 681 },
8890 { 19786 /* "AFGDTU15_EL12" */, 1521 },
8891 { 15684 /* "AFGDTU15_EL2" */, 1221 },
8892 { 8353 /* "AFGDTU1_EL1" */, 667 },
8893 { 19599 /* "AFGDTU1_EL12" */, 1507 },
8894 { 15511 /* "AFGDTU1_EL2" */, 1207 },
8895 { 8365 /* "AFGDTU2_EL1" */, 668 },
8896 { 19612 /* "AFGDTU2_EL12" */, 1508 },
8897 { 15523 /* "AFGDTU2_EL2" */, 1208 },
8898 { 8377 /* "AFGDTU3_EL1" */, 669 },
8899 { 19625 /* "AFGDTU3_EL12" */, 1509 },
8900 { 15535 /* "AFGDTU3_EL2" */, 1209 },
8901 { 8389 /* "AFGDTU4_EL1" */, 670 },
8902 { 19638 /* "AFGDTU4_EL12" */, 1510 },
8903 { 15547 /* "AFGDTU4_EL2" */, 1210 },
8904 { 8401 /* "AFGDTU5_EL1" */, 671 },
8905 { 19651 /* "AFGDTU5_EL12" */, 1511 },
8906 { 15559 /* "AFGDTU5_EL2" */, 1211 },
8907 { 8413 /* "AFGDTU6_EL1" */, 672 },
8908 { 19664 /* "AFGDTU6_EL12" */, 1512 },
8909 { 15571 /* "AFGDTU6_EL2" */, 1212 },
8910 { 8425 /* "AFGDTU7_EL1" */, 673 },
8911 { 19677 /* "AFGDTU7_EL12" */, 1513 },
8912 { 15583 /* "AFGDTU7_EL2" */, 1213 },
8913 { 8437 /* "AFGDTU8_EL1" */, 674 },
8914 { 19690 /* "AFGDTU8_EL12" */, 1514 },
8915 { 15595 /* "AFGDTU8_EL2" */, 1214 },
8916 { 8449 /* "AFGDTU9_EL1" */, 675 },
8917 { 19703 /* "AFGDTU9_EL12" */, 1515 },
8918 { 15607 /* "AFGDTU9_EL2" */, 1215 },
8919 { 8632 /* "AFSR0_EL1" */, 694 },
8920 { 19844 /* "AFSR0_EL12" */, 1526 },
8921 { 15791 /* "AFSR0_EL2" */, 1232 },
8922 { 20846 /* "AFSR0_EL3" */, 1615 },
8923 { 8642 /* "AFSR1_EL1" */, 695 },
8924 { 19855 /* "AFSR1_EL12" */, 1527 },
8925 { 15801 /* "AFSR1_EL2" */, 1233 },
8926 { 20856 /* "AFSR1_EL3" */, 1616 },
8927 { 11723 /* "AIDR_EL1" */, 909 },
8928 { 8610 /* "ALLINT" */, 691 },
8929 { 9685 /* "AMAIR2_EL1" */, 788 },
8930 { 20022 /* "AMAIR2_EL12" */, 1543 },
8931 { 16377 /* "AMAIR2_EL2" */, 1287 },
8932 { 20986 /* "AMAIR2_EL3" */, 1630 },
8933 { 9675 /* "AMAIR_EL1" */, 787 },
8934 { 20011 /* "AMAIR_EL12" */, 1542 },
8935 { 16367 /* "AMAIR_EL2" */, 1286 },
8936 { 20976 /* "AMAIR_EL3" */, 1629 },
8937 { 12258 /* "AMCFGR_EL0" */, 962 },
8938 { 12326 /* "AMCG1IDR_EL0" */, 967 },
8939 { 12269 /* "AMCGCR_EL0" */, 963 },
8940 { 12294 /* "AMCNTENCLR0_EL0" */, 965 },
8941 { 12339 /* "AMCNTENCLR1_EL0" */, 968 },
8942 { 12310 /* "AMCNTENSET0_EL0" */, 966 },
8943 { 12355 /* "AMCNTENSET1_EL0" */, 969 },
8944 { 12249 /* "AMCR_EL0" */, 961 },
8945 { 12371 /* "AMEVCNTR00_EL0" */, 970 },
8946 { 12386 /* "AMEVCNTR01_EL0" */, 971 },
8947 { 12401 /* "AMEVCNTR02_EL0" */, 972 },
8948 { 12416 /* "AMEVCNTR03_EL0" */, 973 },
8949 { 12495 /* "AMEVCNTR10_EL0" */, 978 },
8950 { 12645 /* "AMEVCNTR110_EL0" */, 988 },
8951 { 12661 /* "AMEVCNTR111_EL0" */, 989 },
8952 { 12677 /* "AMEVCNTR112_EL0" */, 990 },
8953 { 12693 /* "AMEVCNTR113_EL0" */, 991 },
8954 { 12709 /* "AMEVCNTR114_EL0" */, 992 },
8955 { 12725 /* "AMEVCNTR115_EL0" */, 993 },
8956 { 12510 /* "AMEVCNTR11_EL0" */, 979 },
8957 { 12525 /* "AMEVCNTR12_EL0" */, 980 },
8958 { 12540 /* "AMEVCNTR13_EL0" */, 981 },
8959 { 12555 /* "AMEVCNTR14_EL0" */, 982 },
8960 { 12570 /* "AMEVCNTR15_EL0" */, 983 },
8961 { 12585 /* "AMEVCNTR16_EL0" */, 984 },
8962 { 12600 /* "AMEVCNTR17_EL0" */, 985 },
8963 { 12615 /* "AMEVCNTR18_EL0" */, 986 },
8964 { 12630 /* "AMEVCNTR19_EL0" */, 987 },
8965 { 17808 /* "AMEVCNTVOFF00_EL2" */, 1381 },
8966 { 17988 /* "AMEVCNTVOFF010_EL2" */, 1391 },
8967 { 18007 /* "AMEVCNTVOFF011_EL2" */, 1392 },
8968 { 18026 /* "AMEVCNTVOFF012_EL2" */, 1393 },
8969 { 18045 /* "AMEVCNTVOFF013_EL2" */, 1394 },
8970 { 18064 /* "AMEVCNTVOFF014_EL2" */, 1395 },
8971 { 18083 /* "AMEVCNTVOFF015_EL2" */, 1396 },
8972 { 17826 /* "AMEVCNTVOFF01_EL2" */, 1382 },
8973 { 17844 /* "AMEVCNTVOFF02_EL2" */, 1383 },
8974 { 17862 /* "AMEVCNTVOFF03_EL2" */, 1384 },
8975 { 17880 /* "AMEVCNTVOFF04_EL2" */, 1385 },
8976 { 17898 /* "AMEVCNTVOFF05_EL2" */, 1386 },
8977 { 17916 /* "AMEVCNTVOFF06_EL2" */, 1387 },
8978 { 17934 /* "AMEVCNTVOFF07_EL2" */, 1388 },
8979 { 17952 /* "AMEVCNTVOFF08_EL2" */, 1389 },
8980 { 17970 /* "AMEVCNTVOFF09_EL2" */, 1390 },
8981 { 18102 /* "AMEVCNTVOFF10_EL2" */, 1397 },
8982 { 18282 /* "AMEVCNTVOFF110_EL2" */, 1407 },
8983 { 18301 /* "AMEVCNTVOFF111_EL2" */, 1408 },
8984 { 18320 /* "AMEVCNTVOFF112_EL2" */, 1409 },
8985 { 18339 /* "AMEVCNTVOFF113_EL2" */, 1410 },
8986 { 18358 /* "AMEVCNTVOFF114_EL2" */, 1411 },
8987 { 18377 /* "AMEVCNTVOFF115_EL2" */, 1412 },
8988 { 18120 /* "AMEVCNTVOFF11_EL2" */, 1398 },
8989 { 18138 /* "AMEVCNTVOFF12_EL2" */, 1399 },
8990 { 18156 /* "AMEVCNTVOFF13_EL2" */, 1400 },
8991 { 18174 /* "AMEVCNTVOFF14_EL2" */, 1401 },
8992 { 18192 /* "AMEVCNTVOFF15_EL2" */, 1402 },
8993 { 18210 /* "AMEVCNTVOFF16_EL2" */, 1403 },
8994 { 18228 /* "AMEVCNTVOFF17_EL2" */, 1404 },
8995 { 18246 /* "AMEVCNTVOFF18_EL2" */, 1405 },
8996 { 18264 /* "AMEVCNTVOFF19_EL2" */, 1406 },
8997 { 12431 /* "AMEVTYPER00_EL0" */, 974 },
8998 { 12447 /* "AMEVTYPER01_EL0" */, 975 },
8999 { 12463 /* "AMEVTYPER02_EL0" */, 976 },
9000 { 12479 /* "AMEVTYPER03_EL0" */, 977 },
9001 { 12741 /* "AMEVTYPER10_EL0" */, 994 },
9002 { 12901 /* "AMEVTYPER110_EL0" */, 1004 },
9003 { 12918 /* "AMEVTYPER111_EL0" */, 1005 },
9004 { 12935 /* "AMEVTYPER112_EL0" */, 1006 },
9005 { 12952 /* "AMEVTYPER113_EL0" */, 1007 },
9006 { 12969 /* "AMEVTYPER114_EL0" */, 1008 },
9007 { 12986 /* "AMEVTYPER115_EL0" */, 1009 },
9008 { 12757 /* "AMEVTYPER11_EL0" */, 995 },
9009 { 12773 /* "AMEVTYPER12_EL0" */, 996 },
9010 { 12789 /* "AMEVTYPER13_EL0" */, 997 },
9011 { 12805 /* "AMEVTYPER14_EL0" */, 998 },
9012 { 12821 /* "AMEVTYPER15_EL0" */, 999 },
9013 { 12837 /* "AMEVTYPER16_EL0" */, 1000 },
9014 { 12853 /* "AMEVTYPER17_EL0" */, 1001 },
9015 { 12869 /* "AMEVTYPER18_EL0" */, 1002 },
9016 { 12885 /* "AMEVTYPER19_EL0" */, 1003 },
9017 { 12280 /* "AMUSERENR_EL0" */, 964 },
9018 { 21352 /* "APDAKEYHI_EL1" */, 604 },
9019 { 21366 /* "APDAKEYLO_EL1" */, 603 },
9020 { 21380 /* "APDBKEYHI_EL1" */, 606 },
9021 { 21394 /* "APDBKEYLO_EL1" */, 605 },
9022 { 21408 /* "APGAKEYHI_EL1" */, 610 },
9023 { 21422 /* "APGAKEYLO_EL1" */, 609 },
9024 { 21436 /* "APIAKEYHI_EL1" */, 599 },
9025 { 21450 /* "APIAKEYLO_EL1" */, 598 },
9026 { 21464 /* "APIBKEYHI_EL1" */, 601 },
9027 { 21478 /* "APIBKEYLO_EL1" */, 600 },
9028 { 5171 /* "BRBCR_EL1" */, 433 },
9029 { 6507 /* "BRBCR_EL12" */, 520 },
9030 { 6482 /* "BRBCR_EL2" */, 518 },
9031 { 5181 /* "BRBFCR_EL1" */, 434 },
9032 { 5244 /* "BRBIDR0_EL1" */, 439 },
9033 { 3953 /* "BRBINF0_EL1" */, 337 },
9034 { 4703 /* "BRBINF10_EL1" */, 397 },
9035 { 4781 /* "BRBINF11_EL1" */, 403 },
9036 { 4859 /* "BRBINF12_EL1" */, 409 },
9037 { 4937 /* "BRBINF13_EL1" */, 415 },
9038 { 5015 /* "BRBINF14_EL1" */, 421 },
9039 { 5093 /* "BRBINF15_EL1" */, 427 },
9040 { 3989 /* "BRBINF16_EL1" */, 340 },
9041 { 4064 /* "BRBINF17_EL1" */, 346 },
9042 { 4139 /* "BRBINF18_EL1" */, 352 },
9043 { 4214 /* "BRBINF19_EL1" */, 358 },
9044 { 4028 /* "BRBINF1_EL1" */, 343 },
9045 { 4289 /* "BRBINF20_EL1" */, 364 },
9046 { 4364 /* "BRBINF21_EL1" */, 370 },
9047 { 4439 /* "BRBINF22_EL1" */, 376 },
9048 { 4514 /* "BRBINF23_EL1" */, 382 },
9049 { 4589 /* "BRBINF24_EL1" */, 388 },
9050 { 4664 /* "BRBINF25_EL1" */, 394 },
9051 { 4742 /* "BRBINF26_EL1" */, 400 },
9052 { 4820 /* "BRBINF27_EL1" */, 406 },
9053 { 4898 /* "BRBINF28_EL1" */, 412 },
9054 { 4976 /* "BRBINF29_EL1" */, 418 },
9055 { 4103 /* "BRBINF2_EL1" */, 349 },
9056 { 5054 /* "BRBINF30_EL1" */, 424 },
9057 { 5132 /* "BRBINF31_EL1" */, 430 },
9058 { 4178 /* "BRBINF3_EL1" */, 355 },
9059 { 4253 /* "BRBINF4_EL1" */, 361 },
9060 { 4328 /* "BRBINF5_EL1" */, 367 },
9061 { 4403 /* "BRBINF6_EL1" */, 373 },
9062 { 4478 /* "BRBINF7_EL1" */, 379 },
9063 { 4553 /* "BRBINF8_EL1" */, 385 },
9064 { 4628 /* "BRBINF9_EL1" */, 391 },
9065 { 5202 /* "BRBINFINJ_EL1" */, 436 },
9066 { 3965 /* "BRBSRC0_EL1" */, 338 },
9067 { 4716 /* "BRBSRC10_EL1" */, 398 },
9068 { 4794 /* "BRBSRC11_EL1" */, 404 },
9069 { 4872 /* "BRBSRC12_EL1" */, 410 },
9070 { 4950 /* "BRBSRC13_EL1" */, 416 },
9071 { 5028 /* "BRBSRC14_EL1" */, 422 },
9072 { 5106 /* "BRBSRC15_EL1" */, 428 },
9073 { 4002 /* "BRBSRC16_EL1" */, 341 },
9074 { 4077 /* "BRBSRC17_EL1" */, 347 },
9075 { 4152 /* "BRBSRC18_EL1" */, 353 },
9076 { 4227 /* "BRBSRC19_EL1" */, 359 },
9077 { 4040 /* "BRBSRC1_EL1" */, 344 },
9078 { 4302 /* "BRBSRC20_EL1" */, 365 },
9079 { 4377 /* "BRBSRC21_EL1" */, 371 },
9080 { 4452 /* "BRBSRC22_EL1" */, 377 },
9081 { 4527 /* "BRBSRC23_EL1" */, 383 },
9082 { 4602 /* "BRBSRC24_EL1" */, 389 },
9083 { 4677 /* "BRBSRC25_EL1" */, 395 },
9084 { 4755 /* "BRBSRC26_EL1" */, 401 },
9085 { 4833 /* "BRBSRC27_EL1" */, 407 },
9086 { 4911 /* "BRBSRC28_EL1" */, 413 },
9087 { 4989 /* "BRBSRC29_EL1" */, 419 },
9088 { 4115 /* "BRBSRC2_EL1" */, 350 },
9089 { 5067 /* "BRBSRC30_EL1" */, 425 },
9090 { 5145 /* "BRBSRC31_EL1" */, 431 },
9091 { 4190 /* "BRBSRC3_EL1" */, 356 },
9092 { 4265 /* "BRBSRC4_EL1" */, 362 },
9093 { 4340 /* "BRBSRC5_EL1" */, 368 },
9094 { 4415 /* "BRBSRC6_EL1" */, 374 },
9095 { 4490 /* "BRBSRC7_EL1" */, 380 },
9096 { 4565 /* "BRBSRC8_EL1" */, 386 },
9097 { 4640 /* "BRBSRC9_EL1" */, 392 },
9098 { 5216 /* "BRBSRCINJ_EL1" */, 437 },
9099 { 3977 /* "BRBTGT0_EL1" */, 339 },
9100 { 4729 /* "BRBTGT10_EL1" */, 399 },
9101 { 4807 /* "BRBTGT11_EL1" */, 405 },
9102 { 4885 /* "BRBTGT12_EL1" */, 411 },
9103 { 4963 /* "BRBTGT13_EL1" */, 417 },
9104 { 5041 /* "BRBTGT14_EL1" */, 423 },
9105 { 5119 /* "BRBTGT15_EL1" */, 429 },
9106 { 4015 /* "BRBTGT16_EL1" */, 342 },
9107 { 4090 /* "BRBTGT17_EL1" */, 348 },
9108 { 4165 /* "BRBTGT18_EL1" */, 354 },
9109 { 4240 /* "BRBTGT19_EL1" */, 360 },
9110 { 4052 /* "BRBTGT1_EL1" */, 345 },
9111 { 4315 /* "BRBTGT20_EL1" */, 366 },
9112 { 4390 /* "BRBTGT21_EL1" */, 372 },
9113 { 4465 /* "BRBTGT22_EL1" */, 378 },
9114 { 4540 /* "BRBTGT23_EL1" */, 384 },
9115 { 4615 /* "BRBTGT24_EL1" */, 390 },
9116 { 4690 /* "BRBTGT25_EL1" */, 396 },
9117 { 4768 /* "BRBTGT26_EL1" */, 402 },
9118 { 4846 /* "BRBTGT27_EL1" */, 408 },
9119 { 4924 /* "BRBTGT28_EL1" */, 414 },
9120 { 5002 /* "BRBTGT29_EL1" */, 420 },
9121 { 4127 /* "BRBTGT2_EL1" */, 351 },
9122 { 5080 /* "BRBTGT30_EL1" */, 426 },
9123 { 5158 /* "BRBTGT31_EL1" */, 432 },
9124 { 4202 /* "BRBTGT3_EL1" */, 357 },
9125 { 4277 /* "BRBTGT4_EL1" */, 363 },
9126 { 4352 /* "BRBTGT5_EL1" */, 369 },
9127 { 4427 /* "BRBTGT6_EL1" */, 375 },
9128 { 4502 /* "BRBTGT7_EL1" */, 381 },
9129 { 4577 /* "BRBTGT8_EL1" */, 387 },
9130 { 4652 /* "BRBTGT9_EL1" */, 393 },
9131 { 5230 /* "BRBTGTINJ_EL1" */, 438 },
9132 { 5192 /* "BRBTS_EL1" */, 435 },
9133 { 11692 /* "CCSIDR2_EL1" */, 906 },
9134 { 11671 /* "CCSIDR_EL1" */, 904 },
9135 { 11682 /* "CLIDR_EL1" */, 905 },
9136 { 13003 /* "CNTFRQ_EL0" */, 1010 },
9137 { 18459 /* "CNTHCTL_EL2" */, 1418 },
9138 { 18622 /* "CNTHPS_CTL_EL2" */, 1429 },
9139 { 18637 /* "CNTHPS_CVAL_EL2" */, 1430 },
9140 { 18606 /* "CNTHPS_TVAL_EL2" */, 1428 },
9141 { 18486 /* "CNTHP_CTL_EL2" */, 1420 },
9142 { 18500 /* "CNTHP_CVAL_EL2" */, 1421 },
9143 { 18471 /* "CNTHP_TVAL_EL2" */, 1419 },
9144 { 18575 /* "CNTHVS_CTL_EL2" */, 1426 },
9145 { 18590 /* "CNTHVS_CVAL_EL2" */, 1427 },
9146 { 18559 /* "CNTHVS_TVAL_EL2" */, 1425 },
9147 { 18530 /* "CNTHV_CTL_EL2" */, 1423 },
9148 { 18544 /* "CNTHV_CVAL_EL2" */, 1424 },
9149 { 18515 /* "CNTHV_TVAL_EL2" */, 1422 },
9150 { 18421 /* "CNTISCALE_EL2" */, 1415 },
9151 { 11659 /* "CNTKCTL_EL1" */, 903 },
9152 { 20122 /* "CNTKCTL_EL12" */, 1551 },
9153 { 13036 /* "CNTPCTSS_EL0" */, 1013 },
9154 { 13014 /* "CNTPCT_EL0" */, 1011 },
9155 { 18435 /* "CNTPOFF_EL2" */, 1416 },
9156 { 21323 /* "CNTPS_CTL_EL1" */, 1655 },
9157 { 21337 /* "CNTPS_CVAL_EL1" */, 1656 },
9158 { 21308 /* "CNTPS_TVAL_EL1" */, 1654 },
9159 { 13076 /* "CNTP_CTL_EL0" */, 1016 },
9160 { 20150 /* "CNTP_CTL_EL02" */, 1553 },
9161 { 13089 /* "CNTP_CVAL_EL0" */, 1017 },
9162 { 20164 /* "CNTP_CVAL_EL02" */, 1554 },
9163 { 13062 /* "CNTP_TVAL_EL0" */, 1015 },
9164 { 20135 /* "CNTP_TVAL_EL02" */, 1552 },
9165 { 18408 /* "CNTSCALE_EL2" */, 1414 },
9166 { 13049 /* "CNTVCTSS_EL0" */, 1014 },
9167 { 13025 /* "CNTVCT_EL0" */, 1012 },
9168 { 18447 /* "CNTVFRQ_EL2" */, 1417 },
9169 { 18396 /* "CNTVOFF_EL2" */, 1413 },
9170 { 13117 /* "CNTV_CTL_EL0" */, 1019 },
9171 { 20194 /* "CNTV_CTL_EL02" */, 1556 },
9172 { 13130 /* "CNTV_CVAL_EL0" */, 1020 },
9173 { 20208 /* "CNTV_CVAL_EL02" */, 1557 },
9174 { 13103 /* "CNTV_TVAL_EL0" */, 1018 },
9175 { 20179 /* "CNTV_TVAL_EL02" */, 1555 },
9176 { 11585 /* "CONTEXTIDR_EL1" */, 897 },
9177 { 20093 /* "CONTEXTIDR_EL12" */, 1549 },
9178 { 17771 /* "CONTEXTIDR_EL2" */, 1378 },
9179 { 7381 /* "CPACRALIAS_EL1" */, 586 },
9180 { 7352 /* "CPACRMASK_EL1" */, 584 },
9181 { 18772 /* "CPACRMASK_EL12" */, 1441 },
9182 { 7236 /* "CPACR_EL1" */, 573 },
9183 { 18675 /* "CPACR_EL12" */, 1433 },
9184 { 14339 /* "CPTRMASK_EL2" */, 1107 },
9185 { 14178 /* "CPTR_EL2" */, 1092 },
9186 { 20273 /* "CPTR_EL3" */, 1563 },
9187 { 11830 /* "CSSELR_EL1" */, 918 },
9188 { 11841 /* "CTR_EL0" */, 919 },
9189 { 21492 /* "CURRENTEL" */, 688 },
9190 { 14828 /* "DACR32_EL2" */, 1149 },
9191 { 11917 /* "DAIF" */, 928 },
9192 { 958 /* "DBGAUTHSTATUS_EL1" */, 78 },
9193 { 25 /* "DBGBCR0_EL1" */, 2 },
9194 { 575 /* "DBGBCR10_EL1" */, 48 },
9195 { 627 /* "DBGBCR11_EL1" */, 52 },
9196 { 679 /* "DBGBCR12_EL1" */, 56 },
9197 { 731 /* "DBGBCR13_EL1" */, 60 },
9198 { 783 /* "DBGBCR14_EL1" */, 64 },
9199 { 835 /* "DBGBCR15_EL1" */, 68 },
9200 { 73 /* "DBGBCR1_EL1" */, 6 },
9201 { 143 /* "DBGBCR2_EL1" */, 12 },
9202 { 203 /* "DBGBCR3_EL1" */, 17 },
9203 { 262 /* "DBGBCR4_EL1" */, 22 },
9204 { 323 /* "DBGBCR5_EL1" */, 27 },
9205 { 382 /* "DBGBCR6_EL1" */, 32 },
9206 { 430 /* "DBGBCR7_EL1" */, 36 },
9207 { 478 /* "DBGBCR8_EL1" */, 40 },
9208 { 526 /* "DBGBCR9_EL1" */, 44 },
9209 { 13 /* "DBGBVR0_EL1" */, 1 },
9210 { 562 /* "DBGBVR10_EL1" */, 47 },
9211 { 614 /* "DBGBVR11_EL1" */, 51 },
9212 { 666 /* "DBGBVR12_EL1" */, 55 },
9213 { 718 /* "DBGBVR13_EL1" */, 59 },
9214 { 770 /* "DBGBVR14_EL1" */, 63 },
9215 { 822 /* "DBGBVR15_EL1" */, 67 },
9216 { 61 /* "DBGBVR1_EL1" */, 5 },
9217 { 131 /* "DBGBVR2_EL1" */, 11 },
9218 { 191 /* "DBGBVR3_EL1" */, 16 },
9219 { 250 /* "DBGBVR4_EL1" */, 21 },
9220 { 311 /* "DBGBVR5_EL1" */, 26 },
9221 { 370 /* "DBGBVR6_EL1" */, 31 },
9222 { 418 /* "DBGBVR7_EL1" */, 35 },
9223 { 466 /* "DBGBVR8_EL1" */, 39 },
9224 { 514 /* "DBGBVR9_EL1" */, 43 },
9225 { 942 /* "DBGCLAIMCLR_EL1" */, 77 },
9226 { 926 /* "DBGCLAIMSET_EL1" */, 76 },
9227 { 5303 /* "DBGDTRRX_EL0" */, 444 },
9228 { 5316 /* "DBGDTRTX_EL0" */, 445 },
9229 { 5292 /* "DBGDTR_EL0" */, 443 },
9230 { 914 /* "DBGPRCR_EL1" */, 75 },
9231 { 6469 /* "DBGVCR32_EL2" */, 517 },
9232 { 49 /* "DBGWCR0_EL1" */, 4 },
9233 { 601 /* "DBGWCR10_EL1" */, 50 },
9234 { 653 /* "DBGWCR11_EL1" */, 54 },
9235 { 705 /* "DBGWCR12_EL1" */, 58 },
9236 { 757 /* "DBGWCR13_EL1" */, 62 },
9237 { 809 /* "DBGWCR14_EL1" */, 66 },
9238 { 861 /* "DBGWCR15_EL1" */, 70 },
9239 { 97 /* "DBGWCR1_EL1" */, 8 },
9240 { 167 /* "DBGWCR2_EL1" */, 14 },
9241 { 227 /* "DBGWCR3_EL1" */, 19 },
9242 { 286 /* "DBGWCR4_EL1" */, 24 },
9243 { 347 /* "DBGWCR5_EL1" */, 29 },
9244 { 406 /* "DBGWCR6_EL1" */, 34 },
9245 { 454 /* "DBGWCR7_EL1" */, 38 },
9246 { 502 /* "DBGWCR8_EL1" */, 42 },
9247 { 550 /* "DBGWCR9_EL1" */, 46 },
9248 { 37 /* "DBGWVR0_EL1" */, 3 },
9249 { 588 /* "DBGWVR10_EL1" */, 49 },
9250 { 640 /* "DBGWVR11_EL1" */, 53 },
9251 { 692 /* "DBGWVR12_EL1" */, 57 },
9252 { 744 /* "DBGWVR13_EL1" */, 61 },
9253 { 796 /* "DBGWVR14_EL1" */, 65 },
9254 { 848 /* "DBGWVR15_EL1" */, 69 },
9255 { 85 /* "DBGWVR1_EL1" */, 7 },
9256 { 155 /* "DBGWVR2_EL1" */, 13 },
9257 { 215 /* "DBGWVR3_EL1" */, 18 },
9258 { 274 /* "DBGWVR4_EL1" */, 23 },
9259 { 335 /* "DBGWVR5_EL1" */, 28 },
9260 { 394 /* "DBGWVR6_EL1" */, 33 },
9261 { 442 /* "DBGWVR7_EL1" */, 37 },
9262 { 490 /* "DBGWVR8_EL1" */, 41 },
9263 { 538 /* "DBGWVR9_EL1" */, 45 },
9264 { 11849 /* "DCZID_EL0" */, 920 },
9265 { 9898 /* "DISR_EL1" */, 808 },
9266 { 11927 /* "DIT" */, 930 },
9267 { 11965 /* "DLR_EL0" */, 937 },
9268 { 11973 /* "DPOCR_EL0" */, 938 },
9269 { 7501 /* "DPOTBR0_EL1" */, 596 },
9270 { 18868 /* "DPOTBR0_EL12" */, 1449 },
9271 { 14512 /* "DPOTBR0_EL2" */, 1122 },
9272 { 20357 /* "DPOTBR0_EL3" */, 1572 },
9273 { 7513 /* "DPOTBR1_EL1" */, 597 },
9274 { 18881 /* "DPOTBR1_EL12" */, 1450 },
9275 { 14524 /* "DPOTBR1_EL2" */, 1123 },
9276 { 11955 /* "DSPSR_EL0" */, 936 },
9277 { 8548 /* "ELR_EL1" */, 683 },
9278 { 19810 /* "ELR_EL12" */, 1523 },
9279 { 15706 /* "ELR_EL2" */, 1223 },
9280 { 20808 /* "ELR_EL3" */, 1611 },
9281 { 8660 /* "ERRIDR_EL1" */, 697 },
9282 { 8671 /* "ERRSELR_EL1" */, 698 },
9283 { 8730 /* "ERXADDR_EL1" */, 703 },
9284 { 8704 /* "ERXCTLR_EL1" */, 701 },
9285 { 8694 /* "ERXFR_EL1" */, 700 },
9286 { 8683 /* "ERXGSR_EL1" */, 699 },
9287 { 8782 /* "ERXMISC0_EL1" */, 707 },
9288 { 8795 /* "ERXMISC1_EL1" */, 708 },
9289 { 8808 /* "ERXMISC2_EL1" */, 709 },
9290 { 8821 /* "ERXMISC3_EL1" */, 710 },
9291 { 8768 /* "ERXPFGCDN_EL1" */, 706 },
9292 { 8754 /* "ERXPFGCTL_EL1" */, 705 },
9293 { 8742 /* "ERXPFGF_EL1" */, 704 },
9294 { 8716 /* "ERXSTATUS_EL1" */, 702 },
9295 { 8652 /* "ESR_EL1" */, 696 },
9296 { 19866 /* "ESR_EL12" */, 1528 },
9297 { 15811 /* "ESR_EL2" */, 1234 },
9298 { 20866 /* "ESR_EL3" */, 1617 },
9299 { 8854 /* "FAR_EL1" */, 713 },
9300 { 19885 /* "FAR_EL12" */, 1530 },
9301 { 15850 /* "FAR_EL2" */, 1238 },
9302 { 20893 /* "FAR_EL3" */, 1620 },
9303 { 7779 /* "FGDTP0_EL1" */, 618 },
9304 { 18976 /* "FGDTP0_EL12" */, 1458 },
9305 { 14937 /* "FGDTP0_EL2" */, 1158 },
9306 { 20419 /* "FGDTP0_EL3" */, 1578 },
9307 { 7889 /* "FGDTP10_EL1" */, 628 },
9308 { 19096 /* "FGDTP10_EL12" */, 1468 },
9309 { 15047 /* "FGDTP10_EL2" */, 1168 },
9310 { 20529 /* "FGDTP10_EL3" */, 1588 },
9311 { 7901 /* "FGDTP11_EL1" */, 629 },
9312 { 19109 /* "FGDTP11_EL12" */, 1469 },
9313 { 15059 /* "FGDTP11_EL2" */, 1169 },
9314 { 20541 /* "FGDTP11_EL3" */, 1589 },
9315 { 7913 /* "FGDTP12_EL1" */, 630 },
9316 { 19122 /* "FGDTP12_EL12" */, 1470 },
9317 { 15071 /* "FGDTP12_EL2" */, 1170 },
9318 { 20553 /* "FGDTP12_EL3" */, 1590 },
9319 { 7925 /* "FGDTP13_EL1" */, 631 },
9320 { 19135 /* "FGDTP13_EL12" */, 1471 },
9321 { 15083 /* "FGDTP13_EL2" */, 1171 },
9322 { 20565 /* "FGDTP13_EL3" */, 1591 },
9323 { 7937 /* "FGDTP14_EL1" */, 632 },
9324 { 19148 /* "FGDTP14_EL12" */, 1472 },
9325 { 15095 /* "FGDTP14_EL2" */, 1172 },
9326 { 20577 /* "FGDTP14_EL3" */, 1592 },
9327 { 7949 /* "FGDTP15_EL1" */, 633 },
9328 { 19161 /* "FGDTP15_EL12" */, 1473 },
9329 { 15107 /* "FGDTP15_EL2" */, 1173 },
9330 { 20589 /* "FGDTP15_EL3" */, 1593 },
9331 { 7790 /* "FGDTP1_EL1" */, 619 },
9332 { 18988 /* "FGDTP1_EL12" */, 1459 },
9333 { 14948 /* "FGDTP1_EL2" */, 1159 },
9334 { 20430 /* "FGDTP1_EL3" */, 1579 },
9335 { 7801 /* "FGDTP2_EL1" */, 620 },
9336 { 19000 /* "FGDTP2_EL12" */, 1460 },
9337 { 14959 /* "FGDTP2_EL2" */, 1160 },
9338 { 20441 /* "FGDTP2_EL3" */, 1580 },
9339 { 7812 /* "FGDTP3_EL1" */, 621 },
9340 { 19012 /* "FGDTP3_EL12" */, 1461 },
9341 { 14970 /* "FGDTP3_EL2" */, 1161 },
9342 { 20452 /* "FGDTP3_EL3" */, 1581 },
9343 { 7823 /* "FGDTP4_EL1" */, 622 },
9344 { 19024 /* "FGDTP4_EL12" */, 1462 },
9345 { 14981 /* "FGDTP4_EL2" */, 1162 },
9346 { 20463 /* "FGDTP4_EL3" */, 1582 },
9347 { 7834 /* "FGDTP5_EL1" */, 623 },
9348 { 19036 /* "FGDTP5_EL12" */, 1463 },
9349 { 14992 /* "FGDTP5_EL2" */, 1163 },
9350 { 20474 /* "FGDTP5_EL3" */, 1583 },
9351 { 7845 /* "FGDTP6_EL1" */, 624 },
9352 { 19048 /* "FGDTP6_EL12" */, 1464 },
9353 { 15003 /* "FGDTP6_EL2" */, 1164 },
9354 { 20485 /* "FGDTP6_EL3" */, 1584 },
9355 { 7856 /* "FGDTP7_EL1" */, 625 },
9356 { 19060 /* "FGDTP7_EL12" */, 1465 },
9357 { 15014 /* "FGDTP7_EL2" */, 1165 },
9358 { 20496 /* "FGDTP7_EL3" */, 1585 },
9359 { 7867 /* "FGDTP8_EL1" */, 626 },
9360 { 19072 /* "FGDTP8_EL12" */, 1466 },
9361 { 15025 /* "FGDTP8_EL2" */, 1166 },
9362 { 20507 /* "FGDTP8_EL3" */, 1586 },
9363 { 7878 /* "FGDTP9_EL1" */, 627 },
9364 { 19084 /* "FGDTP9_EL12" */, 1467 },
9365 { 15036 /* "FGDTP9_EL2" */, 1167 },
9366 { 20518 /* "FGDTP9_EL3" */, 1587 },
9367 { 7961 /* "FGDTU0_EL1" */, 634 },
9368 { 19174 /* "FGDTU0_EL12" */, 1474 },
9369 { 15119 /* "FGDTU0_EL2" */, 1174 },
9370 { 8071 /* "FGDTU10_EL1" */, 644 },
9371 { 19294 /* "FGDTU10_EL12" */, 1484 },
9372 { 15229 /* "FGDTU10_EL2" */, 1184 },
9373 { 8083 /* "FGDTU11_EL1" */, 645 },
9374 { 19307 /* "FGDTU11_EL12" */, 1485 },
9375 { 15241 /* "FGDTU11_EL2" */, 1185 },
9376 { 8095 /* "FGDTU12_EL1" */, 646 },
9377 { 19320 /* "FGDTU12_EL12" */, 1486 },
9378 { 15253 /* "FGDTU12_EL2" */, 1186 },
9379 { 8107 /* "FGDTU13_EL1" */, 647 },
9380 { 19333 /* "FGDTU13_EL12" */, 1487 },
9381 { 15265 /* "FGDTU13_EL2" */, 1187 },
9382 { 8119 /* "FGDTU14_EL1" */, 648 },
9383 { 19346 /* "FGDTU14_EL12" */, 1488 },
9384 { 15277 /* "FGDTU14_EL2" */, 1188 },
9385 { 8131 /* "FGDTU15_EL1" */, 649 },
9386 { 19359 /* "FGDTU15_EL12" */, 1489 },
9387 { 15289 /* "FGDTU15_EL2" */, 1189 },
9388 { 7972 /* "FGDTU1_EL1" */, 635 },
9389 { 19186 /* "FGDTU1_EL12" */, 1475 },
9390 { 15130 /* "FGDTU1_EL2" */, 1175 },
9391 { 7983 /* "FGDTU2_EL1" */, 636 },
9392 { 19198 /* "FGDTU2_EL12" */, 1476 },
9393 { 15141 /* "FGDTU2_EL2" */, 1176 },
9394 { 7994 /* "FGDTU3_EL1" */, 637 },
9395 { 19210 /* "FGDTU3_EL12" */, 1477 },
9396 { 15152 /* "FGDTU3_EL2" */, 1177 },
9397 { 8005 /* "FGDTU4_EL1" */, 638 },
9398 { 19222 /* "FGDTU4_EL12" */, 1478 },
9399 { 15163 /* "FGDTU4_EL2" */, 1178 },
9400 { 8016 /* "FGDTU5_EL1" */, 639 },
9401 { 19234 /* "FGDTU5_EL12" */, 1479 },
9402 { 15174 /* "FGDTU5_EL2" */, 1179 },
9403 { 8027 /* "FGDTU6_EL1" */, 640 },
9404 { 19246 /* "FGDTU6_EL12" */, 1480 },
9405 { 15185 /* "FGDTU6_EL2" */, 1180 },
9406 { 8038 /* "FGDTU7_EL1" */, 641 },
9407 { 19258 /* "FGDTU7_EL12" */, 1481 },
9408 { 15196 /* "FGDTU7_EL2" */, 1181 },
9409 { 8049 /* "FGDTU8_EL1" */, 642 },
9410 { 19270 /* "FGDTU8_EL12" */, 1482 },
9411 { 15207 /* "FGDTU8_EL2" */, 1182 },
9412 { 8060 /* "FGDTU9_EL1" */, 643 },
9413 { 19282 /* "FGDTU9_EL12" */, 1483 },
9414 { 15218 /* "FGDTU9_EL2" */, 1183 },
9415 { 20282 /* "FGWTE3_EL3" */, 1564 },
9416 { 11940 /* "FPCR" */, 933 },
9417 { 15829 /* "FPEXC32_EL2" */, 1236 },
9418 { 11950 /* "FPMR" */, 935 },
9419 { 11945 /* "FPSR" */, 934 },
9420 { 7266 /* "GCR_EL1" */, 576 },
9421 { 7715 /* "GCSCRE0_EL1" */, 613 },
9422 { 7695 /* "GCSCR_EL1" */, 611 },
9423 { 18927 /* "GCSCR_EL12" */, 1454 },
9424 { 14658 /* "GCSCR_EL2" */, 1135 },
9425 { 20399 /* "GCSCR_EL3" */, 1576 },
9426 { 11891 /* "GCSPR_EL0" */, 925 },
9427 { 7705 /* "GCSPR_EL1" */, 612 },
9428 { 18938 /* "GCSPR_EL12" */, 1455 },
9429 { 14668 /* "GCSPR_EL2" */, 1136 },
9430 { 20409 /* "GCSPR_EL3" */, 1577 },
9431 { 11704 /* "GMID_EL1" */, 907 },
9432 { 20379 /* "GPCBW_EL3" */, 1574 },
9433 { 20389 /* "GPCCR_EL3" */, 1575 },
9434 { 20369 /* "GPTBR_EL3" */, 1573 },
9435 { 14630 /* "HACDBSBR_EL2" */, 1133 },
9436 { 14643 /* "HACDBSCONS_EL2" */, 1134 },
9437 { 14229 /* "HACR_EL2" */, 1097 },
9438 { 14913 /* "HAFGRTR_EL2" */, 1156 },
9439 { 14417 /* "HCRMASK_EL2" */, 1113 },
9440 { 14429 /* "HCRXMASK_EL2" */, 1114 },
9441 { 14256 /* "HCRX_EL2" */, 1100 },
9442 { 14161 /* "HCR_EL2" */, 1090 },
9443 { 14604 /* "HDBSSBR_EL2" */, 1131 },
9444 { 14616 /* "HDBSSPROD_EL2" */, 1132 },
9445 { 14839 /* "HDFGRTR2_EL2" */, 1150 },
9446 { 14889 /* "HDFGRTR_EL2" */, 1154 },
9447 { 14852 /* "HDFGWTR2_EL2" */, 1151 },
9448 { 14901 /* "HDFGWTR_EL2" */, 1155 },
9449 { 14925 /* "HFGITR2_EL2" */, 1157 },
9450 { 14218 /* "HFGITR_EL2" */, 1096 },
9451 { 14865 /* "HFGRTR2_EL2" */, 1152 },
9452 { 14196 /* "HFGRTR_EL2" */, 1094 },
9453 { 14877 /* "HFGWTR2_EL2" */, 1153 },
9454 { 14207 /* "HFGWTR_EL2" */, 1095 },
9455 { 15858 /* "HPFAR_EL2" */, 1239 },
9456 { 14187 /* "HSTR_EL2" */, 1093 },
9457 { 9962 /* "ICC_AP0R0_EL1" */, 813 },
9458 { 9976 /* "ICC_AP0R1_EL1" */, 814 },
9459 { 9990 /* "ICC_AP0R2_EL1" */, 815 },
9460 { 10004 /* "ICC_AP0R3_EL1" */, 816 },
9461 { 10018 /* "ICC_AP1R0_EL1" */, 817 },
9462 { 10032 /* "ICC_AP1R1_EL1" */, 818 },
9463 { 10046 /* "ICC_AP1R2_EL1" */, 819 },
9464 { 10060 /* "ICC_AP1R3_EL1" */, 820 },
9465 { 11732 /* "ICC_APR_EL1" */, 910 },
9466 { 21083 /* "ICC_APR_EL3" */, 1639 },
9467 { 10349 /* "ICC_ASGI1R_EL1" */, 838 },
9468 { 9949 /* "ICC_BPR0_EL1" */, 812 },
9469 { 10420 /* "ICC_BPR1_EL1" */, 843 },
9470 { 11756 /* "ICC_CR0_EL1" */, 912 },
9471 { 21208 /* "ICC_CR0_EL3" */, 1646 },
9472 { 10433 /* "ICC_CTLR_EL1" */, 844 },
9473 { 21234 /* "ICC_CTLR_EL3" */, 1648 },
9474 { 10311 /* "ICC_DIR_EL1" */, 835 },
9475 { 21107 /* "ICC_DOMHPPIR_EL3" */, 1641 },
9476 { 9920 /* "ICC_EOIR0_EL1" */, 810 },
9477 { 10391 /* "ICC_EOIR1_EL1" */, 841 },
9478 { 11804 /* "ICC_HAPR_EL1" */, 916 },
9479 { 9934 /* "ICC_HPPIR0_EL1" */, 811 },
9480 { 10405 /* "ICC_HPPIR1_EL1" */, 842 },
9481 { 10170 /* "ICC_HPPIR_EL1" */, 827 },
9482 { 21220 /* "ICC_HPPIR_EL3" */, 1647 },
9483 { 10211 /* "ICC_IAFFIDR_EL1" */, 830 },
9484 { 9907 /* "ICC_IAR0_EL1" */, 809 },
9485 { 10378 /* "ICC_IAR1_EL1" */, 840 },
9486 { 10198 /* "ICC_ICSR_EL1" */, 829 },
9487 { 10157 /* "ICC_IDR0_EL1" */, 826 },
9488 { 10458 /* "ICC_IGRPEN0_EL1" */, 846 },
9489 { 10474 /* "ICC_IGRPEN1_EL1" */, 847 },
9490 { 21259 /* "ICC_IGRPEN1_EL3" */, 1650 },
9491 { 10074 /* "ICC_NMIAR1_EL1" */, 821 },
9492 { 11780 /* "ICC_PCR_EL1" */, 914 },
9493 { 21095 /* "ICC_PCR_EL3" */, 1640 },
9494 { 8620 /* "ICC_PMR_EL1" */, 693 },
9495 { 10490 /* "ICC_PPI_CACTIVER0_EL1" */, 848 },
9496 { 10534 /* "ICC_PPI_CACTIVER1_EL1" */, 850 },
9497 { 10666 /* "ICC_PPI_CPENDR0_EL1" */, 856 },
9498 { 10706 /* "ICC_PPI_CPENDR1_EL1" */, 858 },
9499 { 21124 /* "ICC_PPI_DOMAINR0_EL3" */, 1642 },
9500 { 21145 /* "ICC_PPI_DOMAINR1_EL3" */, 1643 },
9501 { 21166 /* "ICC_PPI_DOMAINR2_EL3" */, 1644 },
9502 { 21187 /* "ICC_PPI_DOMAINR3_EL3" */, 1645 },
9503 { 10227 /* "ICC_PPI_ENABLER0_EL1" */, 831 },
9504 { 10269 /* "ICC_PPI_ENABLER1_EL1" */, 833 },
9505 { 10089 /* "ICC_PPI_HMR0_EL1" */, 822 },
9506 { 10123 /* "ICC_PPI_HMR1_EL1" */, 824 },
9507 { 10826 /* "ICC_PPI_PRIORITYR0_EL1" */, 864 },
9508 { 11286 /* "ICC_PPI_PRIORITYR10_EL1" */, 884 },
9509 { 11334 /* "ICC_PPI_PRIORITYR11_EL1" */, 886 },
9510 { 11382 /* "ICC_PPI_PRIORITYR12_EL1" */, 888 },
9511 { 11430 /* "ICC_PPI_PRIORITYR13_EL1" */, 890 },
9512 { 11478 /* "ICC_PPI_PRIORITYR14_EL1" */, 892 },
9513 { 11526 /* "ICC_PPI_PRIORITYR15_EL1" */, 894 },
9514 { 10872 /* "ICC_PPI_PRIORITYR1_EL1" */, 866 },
9515 { 10918 /* "ICC_PPI_PRIORITYR2_EL1" */, 868 },
9516 { 10964 /* "ICC_PPI_PRIORITYR3_EL1" */, 870 },
9517 { 11010 /* "ICC_PPI_PRIORITYR4_EL1" */, 872 },
9518 { 11056 /* "ICC_PPI_PRIORITYR5_EL1" */, 874 },
9519 { 11102 /* "ICC_PPI_PRIORITYR6_EL1" */, 876 },
9520 { 11148 /* "ICC_PPI_PRIORITYR7_EL1" */, 878 },
9521 { 11194 /* "ICC_PPI_PRIORITYR8_EL1" */, 880 },
9522 { 11240 /* "ICC_PPI_PRIORITYR9_EL1" */, 882 },
9523 { 10578 /* "ICC_PPI_SACTIVER0_EL1" */, 852 },
9524 { 10622 /* "ICC_PPI_SACTIVER1_EL1" */, 854 },
9525 { 10746 /* "ICC_PPI_SPENDR0_EL1" */, 860 },
9526 { 10786 /* "ICC_PPI_SPENDR1_EL1" */, 862 },
9527 { 10323 /* "ICC_RPR_EL1" */, 836 },
9528 { 10364 /* "ICC_SGI0R_EL1" */, 839 },
9529 { 10335 /* "ICC_SGI1R_EL1" */, 837 },
9530 { 10446 /* "ICC_SRE_EL1" */, 845 },
9531 { 16880 /* "ICC_SRE_EL2" */, 1326 },
9532 { 21247 /* "ICC_SRE_EL3" */, 1649 },
9533 { 16727 /* "ICH_AP0R0_EL2" */, 1315 },
9534 { 16741 /* "ICH_AP0R1_EL2" */, 1316 },
9535 { 16755 /* "ICH_AP0R2_EL2" */, 1317 },
9536 { 16769 /* "ICH_AP0R3_EL2" */, 1318 },
9537 { 16809 /* "ICH_AP1R0_EL2" */, 1321 },
9538 { 16823 /* "ICH_AP1R1_EL2" */, 1322 },
9539 { 16837 /* "ICH_AP1R2_EL2" */, 1323 },
9540 { 16851 /* "ICH_AP1R3_EL2" */, 1324 },
9541 { 16783 /* "ICH_APR_EL2" */, 1319 },
9542 { 17158 /* "ICH_CONTEXTR_EL2" */, 1343 },
9543 { 17117 /* "ICH_EISR_EL2" */, 1340 },
9544 { 17144 /* "ICH_ELRSR_EL2" */, 1342 },
9545 { 17080 /* "ICH_HCR_EL2" */, 1337 },
9546 { 16907 /* "ICH_HFGITR_EL2" */, 1328 },
9547 { 16865 /* "ICH_HFGRTR_EL2" */, 1325 },
9548 { 16892 /* "ICH_HFGWTR_EL2" */, 1327 },
9549 { 16795 /* "ICH_HPPIR_EL2" */, 1320 },
9550 { 17188 /* "ICH_LR0_EL2" */, 1345 },
9551 { 17308 /* "ICH_LR10_EL2" */, 1355 },
9552 { 17321 /* "ICH_LR11_EL2" */, 1356 },
9553 { 17334 /* "ICH_LR12_EL2" */, 1357 },
9554 { 17347 /* "ICH_LR13_EL2" */, 1358 },
9555 { 17360 /* "ICH_LR14_EL2" */, 1359 },
9556 { 17373 /* "ICH_LR15_EL2" */, 1360 },
9557 { 17200 /* "ICH_LR1_EL2" */, 1346 },
9558 { 17212 /* "ICH_LR2_EL2" */, 1347 },
9559 { 17224 /* "ICH_LR3_EL2" */, 1348 },
9560 { 17236 /* "ICH_LR4_EL2" */, 1349 },
9561 { 17248 /* "ICH_LR5_EL2" */, 1350 },
9562 { 17260 /* "ICH_LR6_EL2" */, 1351 },
9563 { 17272 /* "ICH_LR7_EL2" */, 1352 },
9564 { 17284 /* "ICH_LR8_EL2" */, 1353 },
9565 { 17296 /* "ICH_LR9_EL2" */, 1354 },
9566 { 17104 /* "ICH_MISR_EL2" */, 1339 },
9567 { 17038 /* "ICH_PPI_ACTIVER0_EL2" */, 1335 },
9568 { 17059 /* "ICH_PPI_ACTIVER1_EL2" */, 1336 },
9569 { 16922 /* "ICH_PPI_DVIR0_EL2" */, 1329 },
9570 { 16940 /* "ICH_PPI_DVIR1_EL2" */, 1330 },
9571 { 16958 /* "ICH_PPI_ENABLER0_EL2" */, 1331 },
9572 { 16979 /* "ICH_PPI_ENABLER1_EL2" */, 1332 },
9573 { 16691 /* "ICH_PPI_HVIR0_EL2" */, 1313 },
9574 { 16709 /* "ICH_PPI_HVIR1_EL2" */, 1314 },
9575 { 17000 /* "ICH_PPI_PENDR0_EL2" */, 1333 },
9576 { 17019 /* "ICH_PPI_PENDR1_EL2" */, 1334 },
9577 { 17386 /* "ICH_PPI_PRIORITYR0_EL2" */, 1361 },
9578 { 17616 /* "ICH_PPI_PRIORITYR10_EL2" */, 1371 },
9579 { 17640 /* "ICH_PPI_PRIORITYR11_EL2" */, 1372 },
9580 { 17664 /* "ICH_PPI_PRIORITYR12_EL2" */, 1373 },
9581 { 17688 /* "ICH_PPI_PRIORITYR13_EL2" */, 1374 },
9582 { 17712 /* "ICH_PPI_PRIORITYR14_EL2" */, 1375 },
9583 { 17736 /* "ICH_PPI_PRIORITYR15_EL2" */, 1376 },
9584 { 17409 /* "ICH_PPI_PRIORITYR1_EL2" */, 1362 },
9585 { 17432 /* "ICH_PPI_PRIORITYR2_EL2" */, 1363 },
9586 { 17455 /* "ICH_PPI_PRIORITYR3_EL2" */, 1364 },
9587 { 17478 /* "ICH_PPI_PRIORITYR4_EL2" */, 1365 },
9588 { 17501 /* "ICH_PPI_PRIORITYR5_EL2" */, 1366 },
9589 { 17524 /* "ICH_PPI_PRIORITYR6_EL2" */, 1367 },
9590 { 17547 /* "ICH_PPI_PRIORITYR7_EL2" */, 1368 },
9591 { 17570 /* "ICH_PPI_PRIORITYR8_EL2" */, 1369 },
9592 { 17593 /* "ICH_PPI_PRIORITYR9_EL2" */, 1370 },
9593 { 17130 /* "ICH_VCTLR_EL2" */, 1341 },
9594 { 17175 /* "ICH_VMCR_EL2" */, 1344 },
9595 { 17092 /* "ICH_VTR_EL2" */, 1338 },
9596 { 11744 /* "ICV_APR_EL1" */, 911 },
9597 { 11768 /* "ICV_CR0_EL1" */, 913 },
9598 { 11817 /* "ICV_HAPR_EL1" */, 917 },
9599 { 10184 /* "ICV_HPPIR_EL1" */, 828 },
9600 { 11792 /* "ICV_PCR_EL1" */, 915 },
9601 { 10512 /* "ICV_PPI_CACTIVER0_EL1" */, 849 },
9602 { 10556 /* "ICV_PPI_CACTIVER1_EL1" */, 851 },
9603 { 10686 /* "ICV_PPI_CPENDR0_EL1" */, 857 },
9604 { 10726 /* "ICV_PPI_CPENDR1_EL1" */, 859 },
9605 { 10248 /* "ICV_PPI_ENABLER0_EL1" */, 832 },
9606 { 10290 /* "ICV_PPI_ENABLER1_EL1" */, 834 },
9607 { 10106 /* "ICV_PPI_HMR0_EL1" */, 823 },
9608 { 10140 /* "ICV_PPI_HMR1_EL1" */, 825 },
9609 { 10849 /* "ICV_PPI_PRIORITYR0_EL1" */, 865 },
9610 { 11310 /* "ICV_PPI_PRIORITYR10_EL1" */, 885 },
9611 { 11358 /* "ICV_PPI_PRIORITYR11_EL1" */, 887 },
9612 { 11406 /* "ICV_PPI_PRIORITYR12_EL1" */, 889 },
9613 { 11454 /* "ICV_PPI_PRIORITYR13_EL1" */, 891 },
9614 { 11502 /* "ICV_PPI_PRIORITYR14_EL1" */, 893 },
9615 { 11550 /* "ICV_PPI_PRIORITYR15_EL1" */, 895 },
9616 { 10895 /* "ICV_PPI_PRIORITYR1_EL1" */, 867 },
9617 { 10941 /* "ICV_PPI_PRIORITYR2_EL1" */, 869 },
9618 { 10987 /* "ICV_PPI_PRIORITYR3_EL1" */, 871 },
9619 { 11033 /* "ICV_PPI_PRIORITYR4_EL1" */, 873 },
9620 { 11079 /* "ICV_PPI_PRIORITYR5_EL1" */, 875 },
9621 { 11125 /* "ICV_PPI_PRIORITYR6_EL1" */, 877 },
9622 { 11171 /* "ICV_PPI_PRIORITYR7_EL1" */, 879 },
9623 { 11217 /* "ICV_PPI_PRIORITYR8_EL1" */, 881 },
9624 { 11263 /* "ICV_PPI_PRIORITYR9_EL1" */, 883 },
9625 { 10600 /* "ICV_PPI_SACTIVER0_EL1" */, 853 },
9626 { 10644 /* "ICV_PPI_SACTIVER1_EL1" */, 855 },
9627 { 10766 /* "ICV_PPI_SPENDR0_EL1" */, 861 },
9628 { 10806 /* "ICV_PPI_SPENDR1_EL1" */, 863 },
9629 { 7031 /* "ID_AA64AFR0_EL1" */, 560 },
9630 { 7047 /* "ID_AA64AFR1_EL1" */, 561 },
9631 { 6983 /* "ID_AA64DFR0_EL1" */, 557 },
9632 { 6999 /* "ID_AA64DFR1_EL1" */, 558 },
9633 { 7015 /* "ID_AA64DFR2_EL1" */, 559 },
9634 { 6966 /* "ID_AA64FPFR0_EL1" */, 556 },
9635 { 7063 /* "ID_AA64ISAR0_EL1" */, 562 },
9636 { 7080 /* "ID_AA64ISAR1_EL1" */, 563 },
9637 { 7097 /* "ID_AA64ISAR2_EL1" */, 564 },
9638 { 7114 /* "ID_AA64ISAR3_EL1" */, 565 },
9639 { 7131 /* "ID_AA64MMFR0_EL1" */, 566 },
9640 { 7148 /* "ID_AA64MMFR1_EL1" */, 567 },
9641 { 7165 /* "ID_AA64MMFR2_EL1" */, 568 },
9642 { 7182 /* "ID_AA64MMFR3_EL1" */, 569 },
9643 { 7199 /* "ID_AA64MMFR4_EL1" */, 570 },
9644 { 6885 /* "ID_AA64PFR0_EL1" */, 551 },
9645 { 6901 /* "ID_AA64PFR1_EL1" */, 552 },
9646 { 6917 /* "ID_AA64PFR2_EL1" */, 553 },
9647 { 6949 /* "ID_AA64SMFR0_EL1" */, 555 },
9648 { 6933 /* "ID_AA64ZFR0_EL1" */, 554 },
9649 { 6650 /* "ID_AFR0_EL1" */, 532 },
9650 { 6638 /* "ID_DFR0_EL1" */, 531 },
9651 { 6860 /* "ID_DFR1_EL1" */, 549 },
9652 { 6714 /* "ID_ISAR0_EL1" */, 537 },
9653 { 6727 /* "ID_ISAR1_EL1" */, 538 },
9654 { 6740 /* "ID_ISAR2_EL1" */, 539 },
9655 { 6753 /* "ID_ISAR3_EL1" */, 540 },
9656 { 6766 /* "ID_ISAR4_EL1" */, 541 },
9657 { 6779 /* "ID_ISAR5_EL1" */, 542 },
9658 { 6805 /* "ID_ISAR6_EL1" */, 544 },
9659 { 6662 /* "ID_MMFR0_EL1" */, 533 },
9660 { 6675 /* "ID_MMFR1_EL1" */, 534 },
9661 { 6688 /* "ID_MMFR2_EL1" */, 535 },
9662 { 6701 /* "ID_MMFR3_EL1" */, 536 },
9663 { 6792 /* "ID_MMFR4_EL1" */, 543 },
9664 { 6872 /* "ID_MMFR5_EL1" */, 550 },
9665 { 6614 /* "ID_PFR0_EL1" */, 529 },
9666 { 6626 /* "ID_PFR1_EL1" */, 530 },
9667 { 6848 /* "ID_PFR2_EL1" */, 548 },
9668 { 15780 /* "IFSR32_EL2" */, 1231 },
9669 { 7490 /* "IRTBRP_EL1" */, 595 },
9670 { 18856 /* "IRTBRP_EL12" */, 1448 },
9671 { 14501 /* "IRTBRP_EL2" */, 1121 },
9672 { 20346 /* "IRTBRP_EL3" */, 1571 },
9673 { 7479 /* "IRTBRU_EL1" */, 594 },
9674 { 18844 /* "IRTBRU_EL12" */, 1447 },
9675 { 14490 /* "IRTBRU_EL2" */, 1120 },
9676 { 9890 /* "ISR_EL1" */, 807 },
9677 { 7581 /* "LDSTT_EL1" */, 602 },
9678 { 18894 /* "LDSTT_EL12" */, 1451 },
9679 { 14555 /* "LDSTT_EL2" */, 1126 },
9680 { 9725 /* "LORC_EL1" */, 792 },
9681 { 9706 /* "LOREA_EL1" */, 790 },
9682 { 9773 /* "LORID_EL1" */, 796 },
9683 { 9716 /* "LORN_EL1" */, 791 },
9684 { 9696 /* "LORSA_EL1" */, 789 },
9685 { 9607 /* "MAIR2_EL1" */, 780 },
9686 { 19947 /* "MAIR2_EL12" */, 1536 },
9687 { 16290 /* "MAIR2_EL2" */, 1278 },
9688 { 20930 /* "MAIR2_EL3" */, 1624 },
9689 { 9598 /* "MAIR_EL1" */, 779 },
9690 { 19937 /* "MAIR_EL12" */, 1535 },
9691 { 16300 /* "MAIR_EL2" */, 1279 },
9692 { 20940 /* "MAIR_EL3" */, 1625 },
9693 { 109 /* "MDCCINT_EL1" */, 9 },
9694 { 5281 /* "MDCCSR_EL0" */, 442 },
9695 { 14169 /* "MDCR_EL2" */, 1091 },
9696 { 20319 /* "MDCR_EL3" */, 1568 },
9697 { 874 /* "MDRAR_EL1" */, 71 },
9698 { 121 /* "MDSCR_EL1" */, 10 },
9699 { 239 /* "MDSELR_EL1" */, 20 },
9700 { 298 /* "MDSTEPOP_EL1" */, 25 },
9701 { 16617 /* "MECIDR_EL2" */, 1306 },
9702 { 16578 /* "MECID_A0_EL2" */, 1303 },
9703 { 16604 /* "MECID_A1_EL2" */, 1305 },
9704 { 16565 /* "MECID_P0_EL2" */, 1302 },
9705 { 16591 /* "MECID_P1_EL2" */, 1304 },
9706 { 21031 /* "MECID_RL_A_EL3" */, 1634 },
9707 { 20901 /* "MFAR_EL3" */, 1621 },
9708 { 6574 /* "MIDR_EL1" */, 525 },
9709 { 9793 /* "MPAM0_EL1" */, 798 },
9710 { 9783 /* "MPAM1_EL1" */, 797 },
9711 { 20034 /* "MPAM1_EL12" */, 1544 },
9712 { 16413 /* "MPAM2_EL2" */, 1290 },
9713 { 20997 /* "MPAM3_EL3" */, 1631 },
9714 { 9838 /* "MPAMBW0_EL1" */, 802 },
9715 { 9826 /* "MPAMBW1_EL1" */, 801 },
9716 { 20058 /* "MPAMBW1_EL12" */, 1546 },
9717 { 16435 /* "MPAMBW2_EL2" */, 1292 },
9718 { 21019 /* "MPAMBW3_EL3" */, 1633 },
9719 { 16447 /* "MPAMBWCAP_EL2" */, 1293 },
9720 { 9746 /* "MPAMBWIDR_EL1" */, 794 },
9721 { 9850 /* "MPAMBWSM_EL1" */, 803 },
9722 { 9803 /* "MPAMCTL_EL1" */, 799 },
9723 { 20045 /* "MPAMCTL_EL12" */, 1545 },
9724 { 16423 /* "MPAMCTL_EL2" */, 1291 },
9725 { 21007 /* "MPAMCTL_EL3" */, 1632 },
9726 { 16388 /* "MPAMHCR_EL2" */, 1288 },
9727 { 9734 /* "MPAMIDR_EL1" */, 793 },
9728 { 9815 /* "MPAMSM_EL1" */, 800 },
9729 { 16461 /* "MPAMVPM0_EL2" */, 1294 },
9730 { 16474 /* "MPAMVPM1_EL2" */, 1295 },
9731 { 16487 /* "MPAMVPM2_EL2" */, 1296 },
9732 { 16500 /* "MPAMVPM3_EL2" */, 1297 },
9733 { 16513 /* "MPAMVPM4_EL2" */, 1298 },
9734 { 16526 /* "MPAMVPM5_EL2" */, 1299 },
9735 { 16539 /* "MPAMVPM6_EL2" */, 1300 },
9736 { 16552 /* "MPAMVPM7_EL2" */, 1301 },
9737 { 16400 /* "MPAMVPMV_EL2" */, 1289 },
9738 { 6593 /* "MPIDR_EL1" */, 527 },
9739 { 6583 /* "MPUIR_EL1" */, 526 },
9740 { 14109 /* "MPUIR_EL2" */, 1085 },
9741 { 6818 /* "MVFR0_EL1" */, 545 },
9742 { 6828 /* "MVFR1_EL1" */, 546 },
9743 { 6838 /* "MVFR2_EL1" */, 547 },
9744 { 14388 /* "NVHCRMASK_EL2" */, 1111 },
9745 { 14402 /* "NVHCRXMASK_EL2" */, 1112 },
9746 { 14377 /* "NVHCRX_EL2" */, 1110 },
9747 { 14367 /* "NVHCR_EL2" */, 1109 },
9748 { 11912 /* "NZCV" */, 927 },
9749 { 904 /* "OSDLR_EL1" */, 74 },
9750 { 1 /* "OSDTRRX_EL1" */, 0 },
9751 { 179 /* "OSDTRTX_EL1" */, 15 },
9752 { 359 /* "OSECCR_EL1" */, 30 },
9753 { 884 /* "OSLAR_EL1" */, 72 },
9754 { 894 /* "OSLSR_EL1" */, 73 },
9755 { 8602 /* "PAN" */, 689 },
9756 { 9254 /* "PAR_EL1" */, 749 },
9757 { 8862 /* "PFAR_EL1" */, 714 },
9758 { 19894 /* "PFAR_EL12" */, 1531 },
9759 { 15868 /* "PFAR_EL2" */, 1240 },
9760 { 9617 /* "PIRE0_EL1" */, 781 },
9761 { 19958 /* "PIRE0_EL12" */, 1537 },
9762 { 16309 /* "PIRE0_EL2" */, 1280 },
9763 { 9627 /* "PIR_EL1" */, 782 },
9764 { 19969 /* "PIR_EL12" */, 1538 },
9765 { 16319 /* "PIR_EL2" */, 1281 },
9766 { 20949 /* "PIR_EL3" */, 1626 },
9767 { 8617 /* "PM" */, 692 },
9768 { 9412 /* "PMBIDR_EL1" */, 763 },
9769 { 9354 /* "PMBLIMITR_EL1" */, 758 },
9770 { 9401 /* "PMBMAR_EL1" */, 762 },
9771 { 9368 /* "PMBPTR_EL1" */, 759 },
9772 { 9379 /* "PMBSR_EL1" */, 760 },
9773 { 19915 /* "PMBSR_EL12" */, 1533 },
9774 { 16270 /* "PMBSR_EL2" */, 1276 },
9775 { 20910 /* "PMBSR_EL3" */, 1622 },
9776 { 14085 /* "PMCCFILTR_EL0" */, 1083 },
9777 { 12108 /* "PMCCNTR_EL0" */, 949 },
9778 { 1619 /* "PMCCNTSVR_EL1" */, 119 },
9779 { 12084 /* "PMCEID0_EL0" */, 947 },
9780 { 12096 /* "PMCEID1_EL0" */, 948 },
9781 { 12033 /* "PMCNTENCLR_EL0" */, 943 },
9782 { 12018 /* "PMCNTENSET_EL0" */, 942 },
9783 { 12009 /* "PMCR_EL0" */, 941 },
9784 { 9568 /* "PMECR_EL1" */, 776 },
9785 { 13144 /* "PMEVCNTR0_EL0" */, 1021 },
9786 { 13284 /* "PMEVCNTR10_EL0" */, 1031 },
9787 { 13299 /* "PMEVCNTR11_EL0" */, 1032 },
9788 { 13314 /* "PMEVCNTR12_EL0" */, 1033 },
9789 { 13329 /* "PMEVCNTR13_EL0" */, 1034 },
9790 { 13344 /* "PMEVCNTR14_EL0" */, 1035 },
9791 { 13359 /* "PMEVCNTR15_EL0" */, 1036 },
9792 { 13374 /* "PMEVCNTR16_EL0" */, 1037 },
9793 { 13389 /* "PMEVCNTR17_EL0" */, 1038 },
9794 { 13404 /* "PMEVCNTR18_EL0" */, 1039 },
9795 { 13419 /* "PMEVCNTR19_EL0" */, 1040 },
9796 { 13158 /* "PMEVCNTR1_EL0" */, 1022 },
9797 { 13434 /* "PMEVCNTR20_EL0" */, 1041 },
9798 { 13449 /* "PMEVCNTR21_EL0" */, 1042 },
9799 { 13464 /* "PMEVCNTR22_EL0" */, 1043 },
9800 { 13479 /* "PMEVCNTR23_EL0" */, 1044 },
9801 { 13494 /* "PMEVCNTR24_EL0" */, 1045 },
9802 { 13509 /* "PMEVCNTR25_EL0" */, 1046 },
9803 { 13524 /* "PMEVCNTR26_EL0" */, 1047 },
9804 { 13539 /* "PMEVCNTR27_EL0" */, 1048 },
9805 { 13554 /* "PMEVCNTR28_EL0" */, 1049 },
9806 { 13569 /* "PMEVCNTR29_EL0" */, 1050 },
9807 { 13172 /* "PMEVCNTR2_EL0" */, 1023 },
9808 { 13584 /* "PMEVCNTR30_EL0" */, 1051 },
9809 { 13186 /* "PMEVCNTR3_EL0" */, 1024 },
9810 { 13200 /* "PMEVCNTR4_EL0" */, 1025 },
9811 { 13214 /* "PMEVCNTR5_EL0" */, 1026 },
9812 { 13228 /* "PMEVCNTR6_EL0" */, 1027 },
9813 { 13242 /* "PMEVCNTR7_EL0" */, 1028 },
9814 { 13256 /* "PMEVCNTR8_EL0" */, 1029 },
9815 { 13270 /* "PMEVCNTR9_EL0" */, 1030 },
9816 { 1102 /* "PMEVCNTSVR0_EL1" */, 88 },
9817 { 1262 /* "PMEVCNTSVR10_EL1" */, 98 },
9818 { 1279 /* "PMEVCNTSVR11_EL1" */, 99 },
9819 { 1296 /* "PMEVCNTSVR12_EL1" */, 100 },
9820 { 1313 /* "PMEVCNTSVR13_EL1" */, 101 },
9821 { 1330 /* "PMEVCNTSVR14_EL1" */, 102 },
9822 { 1347 /* "PMEVCNTSVR15_EL1" */, 103 },
9823 { 1364 /* "PMEVCNTSVR16_EL1" */, 104 },
9824 { 1381 /* "PMEVCNTSVR17_EL1" */, 105 },
9825 { 1398 /* "PMEVCNTSVR18_EL1" */, 106 },
9826 { 1415 /* "PMEVCNTSVR19_EL1" */, 107 },
9827 { 1118 /* "PMEVCNTSVR1_EL1" */, 89 },
9828 { 1432 /* "PMEVCNTSVR20_EL1" */, 108 },
9829 { 1449 /* "PMEVCNTSVR21_EL1" */, 109 },
9830 { 1466 /* "PMEVCNTSVR22_EL1" */, 110 },
9831 { 1483 /* "PMEVCNTSVR23_EL1" */, 111 },
9832 { 1500 /* "PMEVCNTSVR24_EL1" */, 112 },
9833 { 1517 /* "PMEVCNTSVR25_EL1" */, 113 },
9834 { 1534 /* "PMEVCNTSVR26_EL1" */, 114 },
9835 { 1551 /* "PMEVCNTSVR27_EL1" */, 115 },
9836 { 1568 /* "PMEVCNTSVR28_EL1" */, 116 },
9837 { 1585 /* "PMEVCNTSVR29_EL1" */, 117 },
9838 { 1134 /* "PMEVCNTSVR2_EL1" */, 90 },
9839 { 1602 /* "PMEVCNTSVR30_EL1" */, 118 },
9840 { 1150 /* "PMEVCNTSVR3_EL1" */, 91 },
9841 { 1166 /* "PMEVCNTSVR4_EL1" */, 92 },
9842 { 1182 /* "PMEVCNTSVR5_EL1" */, 93 },
9843 { 1198 /* "PMEVCNTSVR6_EL1" */, 94 },
9844 { 1214 /* "PMEVCNTSVR7_EL1" */, 95 },
9845 { 1230 /* "PMEVCNTSVR8_EL1" */, 96 },
9846 { 1246 /* "PMEVCNTSVR9_EL1" */, 97 },
9847 { 13599 /* "PMEVTYPER0_EL0" */, 1052 },
9848 { 13749 /* "PMEVTYPER10_EL0" */, 1062 },
9849 { 13765 /* "PMEVTYPER11_EL0" */, 1063 },
9850 { 13781 /* "PMEVTYPER12_EL0" */, 1064 },
9851 { 13797 /* "PMEVTYPER13_EL0" */, 1065 },
9852 { 13813 /* "PMEVTYPER14_EL0" */, 1066 },
9853 { 13829 /* "PMEVTYPER15_EL0" */, 1067 },
9854 { 13845 /* "PMEVTYPER16_EL0" */, 1068 },
9855 { 13861 /* "PMEVTYPER17_EL0" */, 1069 },
9856 { 13877 /* "PMEVTYPER18_EL0" */, 1070 },
9857 { 13893 /* "PMEVTYPER19_EL0" */, 1071 },
9858 { 13614 /* "PMEVTYPER1_EL0" */, 1053 },
9859 { 13909 /* "PMEVTYPER20_EL0" */, 1072 },
9860 { 13925 /* "PMEVTYPER21_EL0" */, 1073 },
9861 { 13941 /* "PMEVTYPER22_EL0" */, 1074 },
9862 { 13957 /* "PMEVTYPER23_EL0" */, 1075 },
9863 { 13973 /* "PMEVTYPER24_EL0" */, 1076 },
9864 { 13989 /* "PMEVTYPER25_EL0" */, 1077 },
9865 { 14005 /* "PMEVTYPER26_EL0" */, 1078 },
9866 { 14021 /* "PMEVTYPER27_EL0" */, 1079 },
9867 { 14037 /* "PMEVTYPER28_EL0" */, 1080 },
9868 { 14053 /* "PMEVTYPER29_EL0" */, 1081 },
9869 { 13629 /* "PMEVTYPER2_EL0" */, 1054 },
9870 { 14069 /* "PMEVTYPER30_EL0" */, 1082 },
9871 { 13644 /* "PMEVTYPER3_EL0" */, 1055 },
9872 { 13659 /* "PMEVTYPER4_EL0" */, 1056 },
9873 { 13674 /* "PMEVTYPER5_EL0" */, 1057 },
9874 { 13689 /* "PMEVTYPER6_EL0" */, 1058 },
9875 { 13704 /* "PMEVTYPER7_EL0" */, 1059 },
9876 { 13719 /* "PMEVTYPER8_EL0" */, 1060 },
9877 { 13734 /* "PMEVTYPER9_EL0" */, 1061 },
9878 { 9588 /* "PMIAR_EL1" */, 778 },
9879 { 11995 /* "PMICFILTR_EL0" */, 940 },
9880 { 11983 /* "PMICNTR_EL0" */, 939 },
9881 { 1633 /* "PMICNTSVR_EL1" */, 120 },
9882 { 9542 /* "PMINTENCLR_EL1" */, 774 },
9883 { 9527 /* "PMINTENSET_EL1" */, 773 },
9884 { 9578 /* "PMMIR_EL1" */, 777 },
9885 { 12048 /* "PMOVSCLR_EL0" */, 944 },
9886 { 12172 /* "PMOVSSET_EL0" */, 954 },
9887 { 9262 /* "PMSCR_EL1" */, 750 },
9888 { 19904 /* "PMSCR_EL12" */, 1532 },
9889 { 16260 /* "PMSCR_EL2" */, 1275 },
9890 { 9389 /* "PMSDSFR_EL1" */, 761 },
9891 { 12073 /* "PMSELR_EL0" */, 946 },
9892 { 9318 /* "PMSEVFR_EL1" */, 755 },
9893 { 9307 /* "PMSFCR_EL1" */, 754 },
9894 { 9285 /* "PMSICR_EL1" */, 752 },
9895 { 9343 /* "PMSIDR_EL1" */, 757 },
9896 { 9296 /* "PMSIRR_EL1" */, 753 },
9897 { 9330 /* "PMSLATFR_EL1" */, 756 },
9898 { 9272 /* "PMSNEVFR_EL1" */, 751 },
9899 { 9516 /* "PMSSCR_EL1" */, 772 },
9900 { 12061 /* "PMSWINC_EL0" */, 945 },
9901 { 9557 /* "PMUACR_EL1" */, 775 },
9902 { 12158 /* "PMUSERENR_EL0" */, 953 },
9903 { 12135 /* "PMXEVCNTR_EL0" */, 951 },
9904 { 12120 /* "PMXEVTYPER_EL0" */, 950 },
9905 { 12149 /* "PMZR_EL0" */, 952 },
9906 { 12185 /* "POR_EL0" */, 955 },
9907 { 9635 /* "POR_EL1" */, 783 },
9908 { 19978 /* "POR_EL12" */, 1539 },
9909 { 16327 /* "POR_EL2" */, 1282 },
9910 { 20957 /* "POR_EL3" */, 1627 },
9911 { 9110 /* "PRBAR10_EL1" */, 737 },
9912 { 16116 /* "PRBAR10_EL2" */, 1263 },
9913 { 9134 /* "PRBAR11_EL1" */, 739 },
9914 { 16140 /* "PRBAR11_EL2" */, 1265 },
9915 { 9158 /* "PRBAR12_EL1" */, 741 },
9916 { 16164 /* "PRBAR12_EL2" */, 1267 },
9917 { 9182 /* "PRBAR13_EL1" */, 743 },
9918 { 16188 /* "PRBAR13_EL2" */, 1269 },
9919 { 9206 /* "PRBAR14_EL1" */, 745 },
9920 { 16212 /* "PRBAR14_EL2" */, 1271 },
9921 { 9230 /* "PRBAR15_EL1" */, 747 },
9922 { 16236 /* "PRBAR15_EL2" */, 1273 },
9923 { 8912 /* "PRBAR1_EL1" */, 719 },
9924 { 15918 /* "PRBAR1_EL2" */, 1245 },
9925 { 8934 /* "PRBAR2_EL1" */, 721 },
9926 { 15940 /* "PRBAR2_EL2" */, 1247 },
9927 { 8956 /* "PRBAR3_EL1" */, 723 },
9928 { 15962 /* "PRBAR3_EL2" */, 1249 },
9929 { 8978 /* "PRBAR4_EL1" */, 725 },
9930 { 15984 /* "PRBAR4_EL2" */, 1251 },
9931 { 9000 /* "PRBAR5_EL1" */, 727 },
9932 { 16006 /* "PRBAR5_EL2" */, 1253 },
9933 { 9022 /* "PRBAR6_EL1" */, 729 },
9934 { 16028 /* "PRBAR6_EL2" */, 1255 },
9935 { 9044 /* "PRBAR7_EL1" */, 731 },
9936 { 16050 /* "PRBAR7_EL2" */, 1257 },
9937 { 9066 /* "PRBAR8_EL1" */, 733 },
9938 { 16072 /* "PRBAR8_EL2" */, 1259 },
9939 { 9088 /* "PRBAR9_EL1" */, 735 },
9940 { 16094 /* "PRBAR9_EL2" */, 1261 },
9941 { 8892 /* "PRBAR_EL1" */, 717 },
9942 { 15898 /* "PRBAR_EL2" */, 1243 },
9943 { 8871 /* "PRENR_EL1" */, 715 },
9944 { 15877 /* "PRENR_EL2" */, 1241 },
9945 { 9122 /* "PRLAR10_EL1" */, 738 },
9946 { 16128 /* "PRLAR10_EL2" */, 1264 },
9947 { 9146 /* "PRLAR11_EL1" */, 740 },
9948 { 16152 /* "PRLAR11_EL2" */, 1266 },
9949 { 9170 /* "PRLAR12_EL1" */, 742 },
9950 { 16176 /* "PRLAR12_EL2" */, 1268 },
9951 { 9194 /* "PRLAR13_EL1" */, 744 },
9952 { 16200 /* "PRLAR13_EL2" */, 1270 },
9953 { 9218 /* "PRLAR14_EL1" */, 746 },
9954 { 16224 /* "PRLAR14_EL2" */, 1272 },
9955 { 9242 /* "PRLAR15_EL1" */, 748 },
9956 { 16248 /* "PRLAR15_EL2" */, 1274 },
9957 { 8923 /* "PRLAR1_EL1" */, 720 },
9958 { 15929 /* "PRLAR1_EL2" */, 1246 },
9959 { 8945 /* "PRLAR2_EL1" */, 722 },
9960 { 15951 /* "PRLAR2_EL2" */, 1248 },
9961 { 8967 /* "PRLAR3_EL1" */, 724 },
9962 { 15973 /* "PRLAR3_EL2" */, 1250 },
9963 { 8989 /* "PRLAR4_EL1" */, 726 },
9964 { 15995 /* "PRLAR4_EL2" */, 1252 },
9965 { 9011 /* "PRLAR5_EL1" */, 728 },
9966 { 16017 /* "PRLAR5_EL2" */, 1254 },
9967 { 9033 /* "PRLAR6_EL1" */, 730 },
9968 { 16039 /* "PRLAR6_EL2" */, 1256 },
9969 { 9055 /* "PRLAR7_EL1" */, 732 },
9970 { 16061 /* "PRLAR7_EL2" */, 1258 },
9971 { 9077 /* "PRLAR8_EL1" */, 734 },
9972 { 16083 /* "PRLAR8_EL2" */, 1260 },
9973 { 9099 /* "PRLAR9_EL1" */, 736 },
9974 { 16105 /* "PRLAR9_EL2" */, 1262 },
9975 { 8902 /* "PRLAR_EL1" */, 718 },
9976 { 15908 /* "PRLAR_EL2" */, 1244 },
9977 { 8881 /* "PRSELR_EL1" */, 716 },
9978 { 15887 /* "PRSELR_EL2" */, 1242 },
9979 { 11635 /* "RCWMASK_EL1" */, 901 },
9980 { 11600 /* "RCWSMASK_EL1" */, 898 },
9981 { 6603 /* "REVIDR_EL1" */, 528 },
9982 { 7257 /* "RGSR_EL1" */, 575 },
9983 { 9882 /* "RMR_EL1" */, 806 },
9984 { 16673 /* "RMR_EL2" */, 1311 },
9985 { 21065 /* "RMR_EL3" */, 1637 },
9986 { 11879 /* "RNDR" */, 923 },
9987 { 11884 /* "RNDRRS" */, 924 },
9988 { 9872 /* "RVBAR_EL1" */, 805 },
9989 { 16663 /* "RVBAR_EL2" */, 1310 },
9990 { 21055 /* "RVBAR_EL3" */, 1636 },
9991 { 16335 /* "S2PIR_EL2" */, 1283 },
9992 { 9643 /* "S2POR_EL1" */, 784 },
9993 { 20301 /* "SCR2_EL3" */, 1566 },
9994 { 20254 /* "SCR_EL3" */, 1561 },
9995 { 7426 /* "SCTLR2ALIAS_EL1" */, 589 },
9996 { 7366 /* "SCTLR2MASK_EL1" */, 585 },
9997 { 18787 /* "SCTLR2MASK_EL12" */, 1442 },
9998 { 14352 /* "SCTLR2MASK_EL2" */, 1108 },
9999 { 7246 /* "SCTLR2_EL1" */, 574 },
10000 { 18686 /* "SCTLR2_EL12" */, 1434 },
10001 { 14150 /* "SCTLR2_EL2" */, 1089 },
10002 { 20243 /* "SCTLR2_EL3" */, 1560 },
10003 { 7411 /* "SCTLRALIAS_EL1" */, 588 },
10004 { 7324 /* "SCTLRMASK_EL1" */, 582 },
10005 { 18742 /* "SCTLRMASK_EL12" */, 1439 },
10006 { 14311 /* "SCTLRMASK_EL2" */, 1105 },
10007 { 7216 /* "SCTLR_EL1" */, 571 },
10008 { 18653 /* "SCTLR_EL12" */, 1431 },
10009 { 14130 /* "SCTLR_EL2" */, 1087 },
10010 { 20223 /* "SCTLR_EL3" */, 1558 },
10011 { 12237 /* "SCXTNUM_EL0" */, 960 },
10012 { 11647 /* "SCXTNUM_EL1" */, 902 },
10013 { 20109 /* "SCXTNUM_EL12" */, 1550 },
10014 { 17796 /* "SCXTNUM_EL2" */, 1380 },
10015 { 21296 /* "SCXTNUM_EL3" */, 1653 },
10016 { 14300 /* "SDER32_EL2" */, 1104 },
10017 { 20262 /* "SDER32_EL3" */, 1562 },
10018 { 7315 /* "SMCR_EL1" */, 581 },
10019 { 18732 /* "SMCR_EL12" */, 1438 },
10020 { 14291 /* "SMCR_EL2" */, 1103 },
10021 { 20310 /* "SMCR_EL3" */, 1567 },
10022 { 11713 /* "SMIDR_EL1" */, 908 },
10023 { 14278 /* "SMPRIMAP_EL2" */, 1102 },
10024 { 7305 /* "SMPRI_EL1" */, 580 },
10025 { 1002 /* "SPMACCESSR_EL1" */, 81 },
10026 { 6518 /* "SPMACCESSR_EL12" */, 521 },
10027 { 6492 /* "SPMACCESSR_EL2" */, 519 },
10028 { 6534 /* "SPMACCESSR_EL3" */, 522 },
10029 { 1058 /* "SPMCFGR_EL1" */, 85 },
10030 { 976 /* "SPMCGCR0_EL1" */, 79 },
10031 { 989 /* "SPMCGCR1_EL1" */, 80 },
10032 { 5355 /* "SPMCNTENCLR_EL0" */, 448 },
10033 { 5339 /* "SPMCNTENSET_EL0" */, 447 },
10034 { 5329 /* "SPMCR_EL0" */, 446 },
10035 { 1044 /* "SPMDEVAFF_EL1" */, 84 },
10036 { 1029 /* "SPMDEVARCH_EL1" */, 83 },
10037 { 5421 /* "SPMEVCNTR0_EL0" */, 453 },
10038 { 5571 /* "SPMEVCNTR10_EL0" */, 463 },
10039 { 5587 /* "SPMEVCNTR11_EL0" */, 464 },
10040 { 5603 /* "SPMEVCNTR12_EL0" */, 465 },
10041 { 5619 /* "SPMEVCNTR13_EL0" */, 466 },
10042 { 5635 /* "SPMEVCNTR14_EL0" */, 467 },
10043 { 5651 /* "SPMEVCNTR15_EL0" */, 468 },
10044 { 5436 /* "SPMEVCNTR1_EL0" */, 454 },
10045 { 5451 /* "SPMEVCNTR2_EL0" */, 455 },
10046 { 5466 /* "SPMEVCNTR3_EL0" */, 456 },
10047 { 5481 /* "SPMEVCNTR4_EL0" */, 457 },
10048 { 5496 /* "SPMEVCNTR5_EL0" */, 458 },
10049 { 5511 /* "SPMEVCNTR6_EL0" */, 459 },
10050 { 5526 /* "SPMEVCNTR7_EL0" */, 460 },
10051 { 5541 /* "SPMEVCNTR8_EL0" */, 461 },
10052 { 5556 /* "SPMEVCNTR9_EL0" */, 462 },
10053 { 6191 /* "SPMEVFILT2R0_EL0" */, 501 },
10054 { 6361 /* "SPMEVFILT2R10_EL0" */, 511 },
10055 { 6379 /* "SPMEVFILT2R11_EL0" */, 512 },
10056 { 6397 /* "SPMEVFILT2R12_EL0" */, 513 },
10057 { 6415 /* "SPMEVFILT2R13_EL0" */, 514 },
10058 { 6433 /* "SPMEVFILT2R14_EL0" */, 515 },
10059 { 6451 /* "SPMEVFILT2R15_EL0" */, 516 },
10060 { 6208 /* "SPMEVFILT2R1_EL0" */, 502 },
10061 { 6225 /* "SPMEVFILT2R2_EL0" */, 503 },
10062 { 6242 /* "SPMEVFILT2R3_EL0" */, 504 },
10063 { 6259 /* "SPMEVFILT2R4_EL0" */, 505 },
10064 { 6276 /* "SPMEVFILT2R5_EL0" */, 506 },
10065 { 6293 /* "SPMEVFILT2R6_EL0" */, 507 },
10066 { 6310 /* "SPMEVFILT2R7_EL0" */, 508 },
10067 { 6327 /* "SPMEVFILT2R8_EL0" */, 509 },
10068 { 6344 /* "SPMEVFILT2R9_EL0" */, 510 },
10069 { 5929 /* "SPMEVFILTR0_EL0" */, 485 },
10070 { 6089 /* "SPMEVFILTR10_EL0" */, 495 },
10071 { 6106 /* "SPMEVFILTR11_EL0" */, 496 },
10072 { 6123 /* "SPMEVFILTR12_EL0" */, 497 },
10073 { 6140 /* "SPMEVFILTR13_EL0" */, 498 },
10074 { 6157 /* "SPMEVFILTR14_EL0" */, 499 },
10075 { 6174 /* "SPMEVFILTR15_EL0" */, 500 },
10076 { 5945 /* "SPMEVFILTR1_EL0" */, 486 },
10077 { 5961 /* "SPMEVFILTR2_EL0" */, 487 },
10078 { 5977 /* "SPMEVFILTR3_EL0" */, 488 },
10079 { 5993 /* "SPMEVFILTR4_EL0" */, 489 },
10080 { 6009 /* "SPMEVFILTR5_EL0" */, 490 },
10081 { 6025 /* "SPMEVFILTR6_EL0" */, 491 },
10082 { 6041 /* "SPMEVFILTR7_EL0" */, 492 },
10083 { 6057 /* "SPMEVFILTR8_EL0" */, 493 },
10084 { 6073 /* "SPMEVFILTR9_EL0" */, 494 },
10085 { 5667 /* "SPMEVTYPER0_EL0" */, 469 },
10086 { 5827 /* "SPMEVTYPER10_EL0" */, 479 },
10087 { 5844 /* "SPMEVTYPER11_EL0" */, 480 },
10088 { 5861 /* "SPMEVTYPER12_EL0" */, 481 },
10089 { 5878 /* "SPMEVTYPER13_EL0" */, 482 },
10090 { 5895 /* "SPMEVTYPER14_EL0" */, 483 },
10091 { 5912 /* "SPMEVTYPER15_EL0" */, 484 },
10092 { 5683 /* "SPMEVTYPER1_EL0" */, 470 },
10093 { 5699 /* "SPMEVTYPER2_EL0" */, 471 },
10094 { 5715 /* "SPMEVTYPER3_EL0" */, 472 },
10095 { 5731 /* "SPMEVTYPER4_EL0" */, 473 },
10096 { 5747 /* "SPMEVTYPER5_EL0" */, 474 },
10097 { 5763 /* "SPMEVTYPER6_EL0" */, 475 },
10098 { 5779 /* "SPMEVTYPER7_EL0" */, 476 },
10099 { 5795 /* "SPMEVTYPER8_EL0" */, 477 },
10100 { 5811 /* "SPMEVTYPER9_EL0" */, 478 },
10101 { 1017 /* "SPMIIDR_EL1" */, 82 },
10102 { 1086 /* "SPMINTENCLR_EL1" */, 87 },
10103 { 1070 /* "SPMINTENSET_EL1" */, 86 },
10104 { 5371 /* "SPMOVSCLR_EL0" */, 449 },
10105 { 5407 /* "SPMOVSSET_EL0" */, 452 },
10106 { 6549 /* "SPMROOTCR_EL3" */, 523 },
10107 { 6563 /* "SPMSCR_EL1" */, 524 },
10108 { 5395 /* "SPMSELR_EL0" */, 451 },
10109 { 5385 /* "SPMZR_EL0" */, 450 },
10110 { 21502 /* "SPSEL" */, 687 },
10111 { 21508 /* "SPSR_ABT" */, 1228 },
10112 { 8539 /* "SPSR_EL1" */, 682 },
10113 { 19800 /* "SPSR_EL12" */, 1522 },
10114 { 15697 /* "SPSR_EL2" */, 1222 },
10115 { 20799 /* "SPSR_EL3" */, 1610 },
10116 { 21517 /* "SPSR_FIQ" */, 1230 },
10117 { 21526 /* "SPSR_IRQ" */, 1227 },
10118 { 21535 /* "SPSR_UND" */, 1229 },
10119 { 8579 /* "SP_EL0" */, 686 },
10120 { 15737 /* "SP_EL1" */, 1226 },
10121 { 20839 /* "SP_EL2" */, 1614 },
10122 { 11931 /* "SSBS" */, 931 },
10123 { 8556 /* "STINDEX_EL1" */, 684 },
10124 { 19819 /* "STINDEX_EL12" */, 1524 },
10125 { 15714 /* "STINDEX_EL2" */, 1224 },
10126 { 20816 /* "STINDEX_EL3" */, 1612 },
10127 { 11922 /* "SVCR" */, 929 },
10128 { 11936 /* "TCO" */, 932 },
10129 { 7765 /* "TCR2ALIAS_EL1" */, 617 },
10130 { 7739 /* "TCR2MASK_EL1" */, 615 },
10131 { 18962 /* "TCR2MASK_EL12" */, 1457 },
10132 { 14711 /* "TCR2MASK_EL2" */, 1140 },
10133 { 7470 /* "TCR2_EL1" */, 593 },
10134 { 18834 /* "TCR2_EL12" */, 1446 },
10135 { 14481 /* "TCR2_EL2" */, 1119 },
10136 { 7752 /* "TCRALIAS_EL1" */, 616 },
10137 { 7727 /* "TCRMASK_EL1" */, 614 },
10138 { 18949 /* "TCRMASK_EL12" */, 1456 },
10139 { 14699 /* "TCRMASK_EL2" */, 1139 },
10140 { 7462 /* "TCR_EL1" */, 592 },
10141 { 18825 /* "TCR_EL12" */, 1445 },
10142 { 14473 /* "TCR_EL2" */, 1118 },
10143 { 20338 /* "TCR_EL3" */, 1570 },
10144 { 5256 /* "TEECR32_EL1" */, 440 },
10145 { 5268 /* "TEEHBR32_EL1" */, 441 },
10146 { 8843 /* "TFSRE0_EL1" */, 712 },
10147 { 8834 /* "TFSR_EL1" */, 711 },
10148 { 19875 /* "TFSR_EL12" */, 1529 },
10149 { 15841 /* "TFSR_EL2" */, 1237 },
10150 { 20884 /* "TFSR_EL3" */, 1619 },
10151 { 11901 /* "TINDEX_EL0" */, 926 },
10152 { 8568 /* "TINDEX_EL1" */, 685 },
10153 { 19832 /* "TINDEX_EL12" */, 1525 },
10154 { 15726 /* "TINDEX_EL2" */, 1225 },
10155 { 20828 /* "TINDEX_EL3" */, 1613 },
10156 { 9760 /* "TLBIDIDR_EL1" */, 795 },
10157 { 11859 /* "TPCR0_EL0" */, 921 },
10158 { 7647 /* "TPCR0_EL1" */, 607 },
10159 { 18905 /* "TPCR0_EL12" */, 1452 },
10160 { 14584 /* "TPCR0_EL2" */, 1129 },
10161 { 11869 /* "TPCR1_EL0" */, 922 },
10162 { 7657 /* "TPCR1_EL1" */, 608 },
10163 { 18916 /* "TPCR1_EL12" */, 1453 },
10164 { 14594 /* "TPCR1_EL2" */, 1130 },
10165 { 12226 /* "TPIDR2_EL0" */, 959 },
10166 { 12193 /* "TPIDR3_EL0" */, 956 },
10167 { 11574 /* "TPIDR3_EL1" */, 896 },
10168 { 20081 /* "TPIDR3_EL12" */, 1548 },
10169 { 17760 /* "TPIDR3_EL2" */, 1377 },
10170 { 21275 /* "TPIDR3_EL3" */, 1651 },
10171 { 12214 /* "TPIDRRO_EL0" */, 958 },
10172 { 12204 /* "TPIDR_EL0" */, 957 },
10173 { 11613 /* "TPIDR_EL1" */, 899 },
10174 { 17786 /* "TPIDR_EL2" */, 1379 },
10175 { 21286 /* "TPIDR_EL3" */, 1652 },
10176 { 9448 /* "TRBBASER_EL1" */, 766 },
10177 { 9505 /* "TRBIDR_EL1" */, 771 },
10178 { 9423 /* "TRBLIMITR_EL1" */, 764 },
10179 { 9471 /* "TRBMAR_EL1" */, 768 },
10180 { 9482 /* "TRBMPAM_EL1" */, 769 },
10181 { 9437 /* "TRBPTR_EL1" */, 765 },
10182 { 9461 /* "TRBSR_EL1" */, 767 },
10183 { 19926 /* "TRBSR_EL12" */, 1534 },
10184 { 16280 /* "TRBSR_EL2" */, 1277 },
10185 { 20920 /* "TRBSR_EL3" */, 1623 },
10186 { 9494 /* "TRBTRG_EL1" */, 770 },
10187 { 3034 /* "TRCACATR0" */, 248 },
10188 { 3112 /* "TRCACATR1" */, 256 },
10189 { 3161 /* "TRCACATR10" */, 261 },
10190 { 3241 /* "TRCACATR11" */, 269 },
10191 { 3281 /* "TRCACATR12" */, 273 },
10192 { 3361 /* "TRCACATR13" */, 281 },
10193 { 3401 /* "TRCACATR14" */, 285 },
10194 { 3481 /* "TRCACATR15" */, 293 },
10195 { 3151 /* "TRCACATR2" */, 260 },
10196 { 3231 /* "TRCACATR3" */, 268 },
10197 { 3271 /* "TRCACATR4" */, 272 },
10198 { 3351 /* "TRCACATR5" */, 280 },
10199 { 3391 /* "TRCACATR6" */, 284 },
10200 { 3471 /* "TRCACATR7" */, 292 },
10201 { 3044 /* "TRCACATR8" */, 249 },
10202 { 3122 /* "TRCACATR9" */, 257 },
10203 { 3016 /* "TRCACVR0" */, 246 },
10204 { 3094 /* "TRCACVR1" */, 254 },
10205 { 3141 /* "TRCACVR10" */, 259 },
10206 { 3221 /* "TRCACVR11" */, 267 },
10207 { 3261 /* "TRCACVR12" */, 271 },
10208 { 3341 /* "TRCACVR13" */, 279 },
10209 { 3381 /* "TRCACVR14" */, 283 },
10210 { 3461 /* "TRCACVR15" */, 291 },
10211 { 3132 /* "TRCACVR2" */, 258 },
10212 { 3212 /* "TRCACVR3" */, 266 },
10213 { 3252 /* "TRCACVR4" */, 270 },
10214 { 3332 /* "TRCACVR5" */, 278 },
10215 { 3372 /* "TRCACVR6" */, 282 },
10216 { 3452 /* "TRCACVR7" */, 290 },
10217 { 3025 /* "TRCACVR8" */, 247 },
10218 { 3103 /* "TRCACVR9" */, 255 },
10219 { 3910 /* "TRCAUTHSTATUS" */, 333 },
10220 { 1997 /* "TRCAUXCTLR" */, 153 },
10221 { 2356 /* "TRCBBCTLR" */, 186 },
10222 { 2338 /* "TRCCCCTLR" */, 184 },
10223 { 3515 /* "TRCCIDCCTLR0" */, 296 },
10224 { 3528 /* "TRCCIDCCTLR1" */, 297 },
10225 { 3492 /* "TRCCIDCVR0" */, 294 },
10226 { 3541 /* "TRCCIDCVR1" */, 298 },
10227 { 3592 /* "TRCCIDCVR2" */, 302 },
10228 { 3615 /* "TRCCIDCVR3" */, 304 },
10229 { 3638 /* "TRCCIDCVR4" */, 306 },
10230 { 3661 /* "TRCCIDCVR5" */, 308 },
10231 { 3684 /* "TRCCIDCVR6" */, 310 },
10232 { 3707 /* "TRCCIDCVR7" */, 312 },
10233 { 3885 /* "TRCCIDR0" */, 330 },
10234 { 3901 /* "TRCCIDR1" */, 332 },
10235 { 3924 /* "TRCCIDR2" */, 334 },
10236 { 3944 /* "TRCCIDR3" */, 336 },
10237 { 3817 /* "TRCCLAIMCLR" */, 323 },
10238 { 3796 /* "TRCCLAIMSET" */, 321 },
10239 { 1933 /* "TRCCNTCTLR0" */, 147 },
10240 { 1965 /* "TRCCNTCTLR1" */, 150 },
10241 { 2021 /* "TRCCNTCTLR2" */, 155 },
10242 { 2054 /* "TRCCNTCTLR3" */, 158 },
10243 { 1680 /* "TRCCNTRLDVR0" */, 124 },
10244 { 1755 /* "TRCCNTRLDVR1" */, 131 },
10245 { 1833 /* "TRCCNTRLDVR2" */, 138 },
10246 { 1889 /* "TRCCNTRLDVR3" */, 143 },
10247 { 2128 /* "TRCCNTVR0" */, 164 },
10248 { 2187 /* "TRCCNTVR1" */, 169 },
10249 { 2239 /* "TRCCNTVR2" */, 174 },
10250 { 2284 /* "TRCCNTVR3" */, 178 },
10251 { 1922 /* "TRCCONFIGR" */, 146 },
10252 { 3838 /* "TRCDEVAFF0" */, 325 },
10253 { 3858 /* "TRCDEVAFF1" */, 327 },
10254 { 3933 /* "TRCDEVARCH" */, 335 },
10255 { 3740 /* "TRCDEVID" */, 315 },
10256 { 3749 /* "TRCDEVTYPE" */, 316 },
10257 { 3074 /* "TRCDVCMR0" */, 252 },
10258 { 3192 /* "TRCDVCMR1" */, 264 },
10259 { 3312 /* "TRCDVCMR2" */, 276 },
10260 { 3432 /* "TRCDVCMR3" */, 288 },
10261 { 3084 /* "TRCDVCMR4" */, 253 },
10262 { 3202 /* "TRCDVCMR5" */, 265 },
10263 { 3322 /* "TRCDVCMR6" */, 277 },
10264 { 3442 /* "TRCDVCMR7" */, 289 },
10265 { 3054 /* "TRCDVCVR0" */, 250 },
10266 { 3172 /* "TRCDVCVR1" */, 262 },
10267 { 3292 /* "TRCDVCVR2" */, 274 },
10268 { 3412 /* "TRCDVCVR3" */, 286 },
10269 { 3064 /* "TRCDVCVR4" */, 251 },
10270 { 3182 /* "TRCDVCVR5" */, 263 },
10271 { 3302 /* "TRCDVCVR6" */, 275 },
10272 { 3422 /* "TRCDVCVR7" */, 287 },
10273 { 2077 /* "TRCEVENTCTL0R" */, 160 },
10274 { 2146 /* "TRCEVENTCTL1R" */, 166 },
10275 { 2101 /* "TRCEXTINSELR" */, 162 },
10276 { 2114 /* "TRCEXTINSELR0" */, 163 },
10277 { 2173 /* "TRCEXTINSELR1" */, 168 },
10278 { 2225 /* "TRCEXTINSELR2" */, 173 },
10279 { 2270 /* "TRCEXTINSELR3" */, 177 },
10280 { 2138 /* "TRCIDR0" */, 165 },
10281 { 2197 /* "TRCIDR1" */, 170 },
10282 { 1846 /* "TRCIDR10" */, 139 },
10283 { 1902 /* "TRCIDR11" */, 144 },
10284 { 1945 /* "TRCIDR12" */, 148 },
10285 { 1977 /* "TRCIDR13" */, 151 },
10286 { 2249 /* "TRCIDR2" */, 175 },
10287 { 2294 /* "TRCIDR3" */, 179 },
10288 { 2312 /* "TRCIDR4" */, 181 },
10289 { 2330 /* "TRCIDR5" */, 183 },
10290 { 2348 /* "TRCIDR6" */, 185 },
10291 { 2366 /* "TRCIDR7" */, 187 },
10292 { 1693 /* "TRCIDR8" */, 125 },
10293 { 1768 /* "TRCIDR9" */, 132 },
10294 { 1701 /* "TRCIMSPEC0" */, 126 },
10295 { 1776 /* "TRCIMSPEC1" */, 133 },
10296 { 1855 /* "TRCIMSPEC2" */, 140 },
10297 { 1911 /* "TRCIMSPEC3" */, 145 },
10298 { 1954 /* "TRCIMSPEC4" */, 149 },
10299 { 1986 /* "TRCIMSPEC5" */, 152 },
10300 { 2033 /* "TRCIMSPEC6" */, 156 },
10301 { 2066 /* "TRCIMSPEC7" */, 159 },
10302 { 3730 /* "TRCITCTRL" */, 314 },
10303 { 7292 /* "TRCITECR_EL1" */, 579 },
10304 { 18718 /* "TRCITECR_EL12" */, 1437 },
10305 { 14265 /* "TRCITECR_EL2" */, 1101 },
10306 { 1799 /* "TRCITEEDCR" */, 135 },
10307 { 3878 /* "TRCLAR" */, 329 },
10308 { 3894 /* "TRCLSR" */, 331 },
10309 { 2408 /* "TRCOSLAR" */, 191 },
10310 { 2451 /* "TRCOSLSR" */, 195 },
10311 { 2595 /* "TRCPDCR" */, 208 },
10312 { 2648 /* "TRCPDSR" */, 213 },
10313 { 3808 /* "TRCPIDR0" */, 322 },
10314 { 3829 /* "TRCPIDR1" */, 324 },
10315 { 3849 /* "TRCPIDR2" */, 326 },
10316 { 3869 /* "TRCPIDR3" */, 328 },
10317 { 3760 /* "TRCPIDR4" */, 317 },
10318 { 3769 /* "TRCPIDR5" */, 318 },
10319 { 3778 /* "TRCPIDR6" */, 319 },
10320 { 3787 /* "TRCPIDR7" */, 320 },
10321 { 1712 /* "TRCPRGCTLR" */, 127 },
10322 { 1787 /* "TRCPROCSELR" */, 134 },
10323 { 1723 /* "TRCQCTLR" */, 128 },
10324 { 2812 /* "TRCRSCTLR10" */, 228 },
10325 { 2846 /* "TRCRSCTLR11" */, 231 },
10326 { 2880 /* "TRCRSCTLR12" */, 234 },
10327 { 2914 /* "TRCRSCTLR13" */, 237 },
10328 { 2948 /* "TRCRSCTLR14" */, 240 },
10329 { 2982 /* "TRCRSCTLR15" */, 243 },
10330 { 2374 /* "TRCRSCTLR16" */, 188 },
10331 { 2417 /* "TRCRSCTLR17" */, 192 },
10332 { 2471 /* "TRCRSCTLR18" */, 197 },
10333 { 2516 /* "TRCRSCTLR19" */, 201 },
10334 { 2460 /* "TRCRSCTLR2" */, 196 },
10335 { 2561 /* "TRCRSCTLR20" */, 205 },
10336 { 2614 /* "TRCRSCTLR21" */, 210 },
10337 { 2667 /* "TRCRSCTLR22" */, 215 },
10338 { 2712 /* "TRCRSCTLR23" */, 219 },
10339 { 2757 /* "TRCRSCTLR24" */, 223 },
10340 { 2790 /* "TRCRSCTLR25" */, 226 },
10341 { 2824 /* "TRCRSCTLR26" */, 229 },
10342 { 2858 /* "TRCRSCTLR27" */, 232 },
10343 { 2892 /* "TRCRSCTLR28" */, 235 },
10344 { 2926 /* "TRCRSCTLR29" */, 238 },
10345 { 2505 /* "TRCRSCTLR3" */, 200 },
10346 { 2960 /* "TRCRSCTLR30" */, 241 },
10347 { 2994 /* "TRCRSCTLR31" */, 244 },
10348 { 2550 /* "TRCRSCTLR4" */, 204 },
10349 { 2603 /* "TRCRSCTLR5" */, 209 },
10350 { 2656 /* "TRCRSCTLR6" */, 214 },
10351 { 2701 /* "TRCRSCTLR7" */, 218 },
10352 { 2746 /* "TRCRSCTLR8" */, 222 },
10353 { 2779 /* "TRCRSCTLR9" */, 225 },
10354 { 2205 /* "TRCRSR" */, 171 },
10355 { 1669 /* "TRCSEQEVR0" */, 123 },
10356 { 1744 /* "TRCSEQEVR1" */, 130 },
10357 { 1822 /* "TRCSEQEVR2" */, 137 },
10358 { 2008 /* "TRCSEQRSTEVR" */, 154 },
10359 { 2044 /* "TRCSEQSTR" */, 157 },
10360 { 2386 /* "TRCSSCCR0" */, 189 },
10361 { 2429 /* "TRCSSCCR1" */, 193 },
10362 { 2483 /* "TRCSSCCR2" */, 198 },
10363 { 2528 /* "TRCSSCCR3" */, 202 },
10364 { 2573 /* "TRCSSCCR4" */, 206 },
10365 { 2626 /* "TRCSSCCR5" */, 211 },
10366 { 2679 /* "TRCSSCCR6" */, 216 },
10367 { 2724 /* "TRCSSCCR7" */, 220 },
10368 { 2769 /* "TRCSSCSR0" */, 224 },
10369 { 2802 /* "TRCSSCSR1" */, 227 },
10370 { 2836 /* "TRCSSCSR2" */, 230 },
10371 { 2870 /* "TRCSSCSR3" */, 233 },
10372 { 2904 /* "TRCSSCSR4" */, 236 },
10373 { 2938 /* "TRCSSCSR5" */, 239 },
10374 { 2972 /* "TRCSSCSR6" */, 242 },
10375 { 3006 /* "TRCSSCSR7" */, 245 },
10376 { 2396 /* "TRCSSPCICR0" */, 190 },
10377 { 2439 /* "TRCSSPCICR1" */, 194 },
10378 { 2493 /* "TRCSSPCICR2" */, 199 },
10379 { 2538 /* "TRCSSPCICR3" */, 203 },
10380 { 2583 /* "TRCSSPCICR4" */, 207 },
10381 { 2636 /* "TRCSSPCICR5" */, 212 },
10382 { 2689 /* "TRCSSPCICR6" */, 217 },
10383 { 2734 /* "TRCSSPCICR7" */, 221 },
10384 { 2257 /* "TRCSTALLCTLR" */, 176 },
10385 { 1866 /* "TRCSTATR" */, 141 },
10386 { 2320 /* "TRCSYNCPR" */, 182 },
10387 { 1647 /* "TRCTRACEIDR" */, 121 },
10388 { 2302 /* "TRCTSCTLR" */, 180 },
10389 { 2212 /* "TRCVDARCCTLR" */, 172 },
10390 { 2091 /* "TRCVDCTLR" */, 161 },
10391 { 2160 /* "TRCVDSACCTLR" */, 167 },
10392 { 1659 /* "TRCVICTLR" */, 122 },
10393 { 1732 /* "TRCVIIECTLR" */, 129 },
10394 { 1875 /* "TRCVIPCSSCTLR" */, 142 },
10395 { 1810 /* "TRCVISSCTLR" */, 136 },
10396 { 3564 /* "TRCVMIDCCTLR0" */, 300 },
10397 { 3578 /* "TRCVMIDCCTLR1" */, 301 },
10398 { 3503 /* "TRCVMIDCVR0" */, 295 },
10399 { 3552 /* "TRCVMIDCVR1" */, 299 },
10400 { 3603 /* "TRCVMIDCVR2" */, 303 },
10401 { 3626 /* "TRCVMIDCVR3" */, 305 },
10402 { 3649 /* "TRCVMIDCVR4" */, 307 },
10403 { 3672 /* "TRCVMIDCVR5" */, 309 },
10404 { 3695 /* "TRCVMIDCVR6" */, 311 },
10405 { 3718 /* "TRCVMIDCVR7" */, 313 },
10406 { 7282 /* "TRFCR_EL1" */, 578 },
10407 { 18707 /* "TRFCR_EL12" */, 1436 },
10408 { 14246 /* "TRFCR_EL2" */, 1099 },
10409 { 7442 /* "TTBR0_EL1" */, 590 },
10410 { 18803 /* "TTBR0_EL12" */, 1443 },
10411 { 14442 /* "TTBR0_EL2" */, 1115 },
10412 { 20328 /* "TTBR0_EL3" */, 1569 },
10413 { 7452 /* "TTBR1_EL1" */, 591 },
10414 { 18814 /* "TTBR1_EL12" */, 1444 },
10415 { 14463 /* "TTBR1_EL2" */, 1117 },
10416 { 9664 /* "TTTBRP_EL1" */, 786 },
10417 { 19999 /* "TTTBRP_EL12" */, 1541 },
10418 { 16356 /* "TTTBRP_EL2" */, 1285 },
10419 { 20965 /* "TTTBRP_EL3" */, 1628 },
10420 { 9653 /* "TTTBRU_EL1" */, 785 },
10421 { 19987 /* "TTTBRU_EL12" */, 1540 },
10422 { 16345 /* "TTTBRU_EL2" */, 1284 },
10423 { 8606 /* "UAO" */, 690 },
10424 { 9863 /* "VBAR_EL1" */, 804 },
10425 { 20071 /* "VBAR_EL12" */, 1547 },
10426 { 16654 /* "VBAR_EL2" */, 1309 },
10427 { 21046 /* "VBAR_EL3" */, 1635 },
10428 { 16681 /* "VDISR_EL2" */, 1312 },
10429 { 21073 /* "VDISR_EL3" */, 1638 },
10430 { 16641 /* "VMECID_A_EL2" */, 1308 },
10431 { 16628 /* "VMECID_P_EL2" */, 1307 },
10432 { 14119 /* "VMPIDR_EL2" */, 1086 },
10433 { 14574 /* "VNCCR_EL2" */, 1128 },
10434 { 14565 /* "VNCR_EL2" */, 1127 },
10435 { 14099 /* "VPIDR_EL2" */, 1084 },
10436 { 14452 /* "VSCTLR_EL2" */, 1116 },
10437 { 15819 /* "VSESR_EL2" */, 1235 },
10438 { 20874 /* "VSESR_EL3" */, 1618 },
10439 { 14689 /* "VSTCR_EL2" */, 1138 },
10440 { 14678 /* "VSTTBR_EL2" */, 1137 },
10441 { 14546 /* "VTCR_EL2" */, 1125 },
10442 { 14724 /* "VTLBID0_EL2" */, 1141 },
10443 { 14736 /* "VTLBID1_EL2" */, 1142 },
10444 { 14748 /* "VTLBID2_EL2" */, 1143 },
10445 { 14760 /* "VTLBID3_EL2" */, 1144 },
10446 { 14772 /* "VTLBIDOS0_EL2" */, 1145 },
10447 { 14786 /* "VTLBIDOS1_EL2" */, 1146 },
10448 { 14800 /* "VTLBIDOS2_EL2" */, 1147 },
10449 { 14814 /* "VTLBIDOS3_EL2" */, 1148 },
10450 { 14536 /* "VTTBR_EL2" */, 1124 },
10451 { 7274 /* "ZCR_EL1" */, 577 },
10452 { 18698 /* "ZCR_EL12" */, 1435 },
10453 { 14238 /* "ZCR_EL2" */, 1098 },
10454 { 20293 /* "ZCR_EL3" */, 1565 },
10455 };
10456
10457 struct KeyType {
10458 std::string Name;
10459 };
10460 KeyType Key = {Name.upper()};
10461 struct Comp {
10462 bool operator()(const IndexType &LHS, const KeyType &RHS) const {
10463 StringRef LHSNameStr = SysRegsListStrings[LHS.Name];
10464 StringRef RHSNameStr = RHS.Name;
10465 int CmpName = LHSNameStr.compare(RHSNameStr);
10466 if (CmpName < 0) return true;
10467 if (CmpName > 0) return false;
10468 return false;
10469 }
10470 };
10471 auto Table = ArrayRef(Index);
10472 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
10473 if (Idx == Table.end() ||
10474 Key.Name != SysRegsListStrings[Idx->Name])
10475 return nullptr;
10476
10477 return &SysRegsList[Idx->_index];
10478}
10479#endif
10480
10481#ifdef GET_TLBIPTable_DECL
10482const TLBIP *lookupTLBIPByEncoding(uint16_t Encoding);
10483const TLBIP *lookupTLBIPByName(StringRef Name);
10484StringRef getTLBIPStr(StringTable::Offset);
10485#endif
10486
10487#ifdef GET_TLBIPTable_IMPL
10488constexpr TLBIP TLBIPTable[] = {
10489 { 1 /* "VAE1OS" */, 0x409, REG_REQUIRED, { } , true }, // 0
10490 { 8 /* "VAAE1OS" */, 0x40B, REG_REQUIRED, { } , true }, // 1
10491 { 16 /* "VALE1OS" */, 0x40D, REG_REQUIRED, { } , true }, // 2
10492 { 24 /* "VAALE1OS" */, 0x40F, REG_REQUIRED, { } , true }, // 3
10493 { 33 /* "RVAE1IS" */, 0x411, REG_REQUIRED, { } , true }, // 4
10494 { 41 /* "RVAAE1IS" */, 0x413, REG_REQUIRED, { } , true }, // 5
10495 { 50 /* "RVALE1IS" */, 0x415, REG_REQUIRED, { } , true }, // 6
10496 { 59 /* "RVAALE1IS" */, 0x417, REG_REQUIRED, { } , true }, // 7
10497 { 69 /* "VAE1IS" */, 0x419, REG_REQUIRED, { } , true }, // 8
10498 { 76 /* "VAAE1IS" */, 0x41B, REG_REQUIRED, { } , true }, // 9
10499 { 84 /* "VALE1IS" */, 0x41D, REG_REQUIRED, { } , true }, // 10
10500 { 92 /* "VAALE1IS" */, 0x41F, REG_REQUIRED, { } , true }, // 11
10501 { 101 /* "RVAE1OS" */, 0x429, REG_REQUIRED, { } , true }, // 12
10502 { 109 /* "RVAAE1OS" */, 0x42B, REG_REQUIRED, { } , true }, // 13
10503 { 118 /* "RVALE1OS" */, 0x42D, REG_REQUIRED, { } , true }, // 14
10504 { 127 /* "RVAALE1OS" */, 0x42F, REG_REQUIRED, { } , true }, // 15
10505 { 137 /* "RVAE1" */, 0x431, REG_REQUIRED, { } , false }, // 16
10506 { 143 /* "RVAAE1" */, 0x433, REG_REQUIRED, { } , false }, // 17
10507 { 150 /* "RVALE1" */, 0x435, REG_REQUIRED, { } , false }, // 18
10508 { 157 /* "RVAALE1" */, 0x437, REG_REQUIRED, { } , false }, // 19
10509 { 165 /* "VAE1" */, 0x439, REG_REQUIRED, { } , false }, // 20
10510 { 170 /* "VAAE1" */, 0x43B, REG_REQUIRED, { } , false }, // 21
10511 { 176 /* "VALE1" */, 0x43D, REG_REQUIRED, { } , false }, // 22
10512 { 182 /* "VAALE1" */, 0x43F, REG_REQUIRED, { } , false }, // 23
10513 { 189 /* "VAE1OSnXS" */, 0x489, REG_REQUIRED, { } , true }, // 24
10514 { 199 /* "VAAE1OSnXS" */, 0x48B, REG_REQUIRED, { } , true }, // 25
10515 { 210 /* "VALE1OSnXS" */, 0x48D, REG_REQUIRED, { } , true }, // 26
10516 { 221 /* "VAALE1OSnXS" */, 0x48F, REG_REQUIRED, { } , true }, // 27
10517 { 233 /* "RVAE1ISnXS" */, 0x491, REG_REQUIRED, { } , true }, // 28
10518 { 244 /* "RVAAE1ISnXS" */, 0x493, REG_REQUIRED, { } , true }, // 29
10519 { 256 /* "RVALE1ISnXS" */, 0x495, REG_REQUIRED, { } , true }, // 30
10520 { 268 /* "RVAALE1ISnXS" */, 0x497, REG_REQUIRED, { } , true }, // 31
10521 { 281 /* "VAE1ISnXS" */, 0x499, REG_REQUIRED, { } , true }, // 32
10522 { 291 /* "VAAE1ISnXS" */, 0x49B, REG_REQUIRED, { } , true }, // 33
10523 { 302 /* "VALE1ISnXS" */, 0x49D, REG_REQUIRED, { } , true }, // 34
10524 { 313 /* "VAALE1ISnXS" */, 0x49F, REG_REQUIRED, { } , true }, // 35
10525 { 325 /* "RVAE1OSnXS" */, 0x4A9, REG_REQUIRED, { } , true }, // 36
10526 { 336 /* "RVAAE1OSnXS" */, 0x4AB, REG_REQUIRED, { } , true }, // 37
10527 { 348 /* "RVALE1OSnXS" */, 0x4AD, REG_REQUIRED, { } , true }, // 38
10528 { 360 /* "RVAALE1OSnXS" */, 0x4AF, REG_REQUIRED, { } , true }, // 39
10529 { 373 /* "RVAE1nXS" */, 0x4B1, REG_REQUIRED, { } , false }, // 40
10530 { 382 /* "RVAAE1nXS" */, 0x4B3, REG_REQUIRED, { } , false }, // 41
10531 { 392 /* "RVALE1nXS" */, 0x4B5, REG_REQUIRED, { } , false }, // 42
10532 { 402 /* "RVAALE1nXS" */, 0x4B7, REG_REQUIRED, { } , false }, // 43
10533 { 413 /* "VAE1nXS" */, 0x4B9, REG_REQUIRED, { } , false }, // 44
10534 { 421 /* "VAAE1nXS" */, 0x4BB, REG_REQUIRED, { } , false }, // 45
10535 { 430 /* "VALE1nXS" */, 0x4BD, REG_REQUIRED, { } , false }, // 46
10536 { 439 /* "VAALE1nXS" */, 0x4BF, REG_REQUIRED, { } , false }, // 47
10537 { 449 /* "IPAS2E1IS" */, 0x2401, REG_REQUIRED, { } , true }, // 48
10538 { 459 /* "RIPAS2E1IS" */, 0x2402, REG_REQUIRED, { } , true }, // 49
10539 { 470 /* "IPAS2LE1IS" */, 0x2405, REG_REQUIRED, { } , true }, // 50
10540 { 481 /* "RIPAS2LE1IS" */, 0x2406, REG_REQUIRED, { } , true }, // 51
10541 { 493 /* "VAE2OS" */, 0x2409, REG_REQUIRED, { } , true }, // 52
10542 { 500 /* "VALE2OS" */, 0x240D, REG_REQUIRED, { } , true }, // 53
10543 { 508 /* "RVAE2IS" */, 0x2411, REG_REQUIRED, { } , true }, // 54
10544 { 516 /* "RVALE2IS" */, 0x2415, REG_REQUIRED, { } , true }, // 55
10545 { 525 /* "VAE2IS" */, 0x2419, REG_REQUIRED, { } , true }, // 56
10546 { 532 /* "VALE2IS" */, 0x241D, REG_REQUIRED, { } , true }, // 57
10547 { 540 /* "IPAS2E1OS" */, 0x2420, REG_REQUIRED, { } , true }, // 58
10548 { 550 /* "IPAS2E1" */, 0x2421, REG_REQUIRED, { } , false }, // 59
10549 { 558 /* "RIPAS2E1" */, 0x2422, REG_REQUIRED, { } , false }, // 60
10550 { 567 /* "RIPAS2E1OS" */, 0x2423, REG_REQUIRED, { } , true }, // 61
10551 { 578 /* "IPAS2LE1OS" */, 0x2424, REG_REQUIRED, { } , true }, // 62
10552 { 589 /* "IPAS2LE1" */, 0x2425, REG_REQUIRED, { } , false }, // 63
10553 { 598 /* "RIPAS2LE1" */, 0x2426, REG_REQUIRED, { } , false }, // 64
10554 { 608 /* "RIPAS2LE1OS" */, 0x2427, REG_REQUIRED, { } , true }, // 65
10555 { 620 /* "RVAE2OS" */, 0x2429, REG_REQUIRED, { } , true }, // 66
10556 { 628 /* "RVALE2OS" */, 0x242D, REG_REQUIRED, { } , true }, // 67
10557 { 637 /* "RVAE2" */, 0x2431, REG_REQUIRED, { } , false }, // 68
10558 { 643 /* "RVALE2" */, 0x2435, REG_REQUIRED, { } , false }, // 69
10559 { 650 /* "VAE2" */, 0x2439, REG_REQUIRED, { } , false }, // 70
10560 { 655 /* "VALE2" */, 0x243D, REG_REQUIRED, { } , false }, // 71
10561 { 661 /* "IPAS2E1ISnXS" */, 0x2481, REG_REQUIRED, { } , true }, // 72
10562 { 674 /* "RIPAS2E1ISnXS" */, 0x2482, REG_REQUIRED, { } , true }, // 73
10563 { 688 /* "IPAS2LE1ISnXS" */, 0x2485, REG_REQUIRED, { } , true }, // 74
10564 { 702 /* "RIPAS2LE1ISnXS" */, 0x2486, REG_REQUIRED, { } , true }, // 75
10565 { 717 /* "VAE2OSnXS" */, 0x2489, REG_REQUIRED, { } , true }, // 76
10566 { 727 /* "VALE2OSnXS" */, 0x248D, REG_REQUIRED, { } , true }, // 77
10567 { 738 /* "RVAE2ISnXS" */, 0x2491, REG_REQUIRED, { } , true }, // 78
10568 { 749 /* "RVALE2ISnXS" */, 0x2495, REG_REQUIRED, { } , true }, // 79
10569 { 761 /* "VAE2ISnXS" */, 0x2499, REG_REQUIRED, { } , true }, // 80
10570 { 771 /* "VALE2ISnXS" */, 0x249D, REG_REQUIRED, { } , true }, // 81
10571 { 782 /* "IPAS2E1OSnXS" */, 0x24A0, REG_REQUIRED, { } , true }, // 82
10572 { 795 /* "IPAS2E1nXS" */, 0x24A1, REG_REQUIRED, { } , false }, // 83
10573 { 806 /* "RIPAS2E1nXS" */, 0x24A2, REG_REQUIRED, { } , false }, // 84
10574 { 818 /* "RIPAS2E1OSnXS" */, 0x24A3, REG_REQUIRED, { } , true }, // 85
10575 { 832 /* "IPAS2LE1OSnXS" */, 0x24A4, REG_REQUIRED, { } , true }, // 86
10576 { 846 /* "IPAS2LE1nXS" */, 0x24A5, REG_REQUIRED, { } , false }, // 87
10577 { 858 /* "RIPAS2LE1nXS" */, 0x24A6, REG_REQUIRED, { } , false }, // 88
10578 { 871 /* "RIPAS2LE1OSnXS" */, 0x24A7, REG_REQUIRED, { } , true }, // 89
10579 { 886 /* "RVAE2OSnXS" */, 0x24A9, REG_REQUIRED, { } , true }, // 90
10580 { 897 /* "RVALE2OSnXS" */, 0x24AD, REG_REQUIRED, { } , true }, // 91
10581 { 909 /* "RVAE2nXS" */, 0x24B1, REG_REQUIRED, { } , false }, // 92
10582 { 918 /* "RVALE2nXS" */, 0x24B5, REG_REQUIRED, { } , false }, // 93
10583 { 928 /* "VAE2nXS" */, 0x24B9, REG_REQUIRED, { } , false }, // 94
10584 { 936 /* "VALE2nXS" */, 0x24BD, REG_REQUIRED, { } , false }, // 95
10585 { 945 /* "VAE3OS" */, 0x3409, REG_REQUIRED, { } , false }, // 96
10586 { 952 /* "VALE3OS" */, 0x340D, REG_REQUIRED, { } , false }, // 97
10587 { 960 /* "RVAE3IS" */, 0x3411, REG_REQUIRED, { } , false }, // 98
10588 { 968 /* "RVALE3IS" */, 0x3415, REG_REQUIRED, { } , false }, // 99
10589 { 977 /* "VAE3IS" */, 0x3419, REG_REQUIRED, { } , false }, // 100
10590 { 984 /* "VALE3IS" */, 0x341D, REG_REQUIRED, { } , false }, // 101
10591 { 992 /* "RVAE3OS" */, 0x3429, REG_REQUIRED, { } , false }, // 102
10592 { 1000 /* "RVALE3OS" */, 0x342D, REG_REQUIRED, { } , false }, // 103
10593 { 1009 /* "RVAE3" */, 0x3431, REG_REQUIRED, { } , false }, // 104
10594 { 1015 /* "RVALE3" */, 0x3435, REG_REQUIRED, { } , false }, // 105
10595 { 1022 /* "VAE3" */, 0x3439, REG_REQUIRED, { } , false }, // 106
10596 { 1027 /* "VALE3" */, 0x343D, REG_REQUIRED, { } , false }, // 107
10597 { 1033 /* "VAE3OSnXS" */, 0x3489, REG_REQUIRED, { } , false }, // 108
10598 { 1043 /* "VALE3OSnXS" */, 0x348D, REG_REQUIRED, { } , false }, // 109
10599 { 1054 /* "RVAE3ISnXS" */, 0x3491, REG_REQUIRED, { } , false }, // 110
10600 { 1065 /* "RVALE3ISnXS" */, 0x3495, REG_REQUIRED, { } , false }, // 111
10601 { 1077 /* "VAE3ISnXS" */, 0x3499, REG_REQUIRED, { } , false }, // 112
10602 { 1087 /* "VALE3ISnXS" */, 0x349D, REG_REQUIRED, { } , false }, // 113
10603 { 1098 /* "RVAE3OSnXS" */, 0x34A9, REG_REQUIRED, { } , false }, // 114
10604 { 1109 /* "RVALE3OSnXS" */, 0x34AD, REG_REQUIRED, { } , false }, // 115
10605 { 1121 /* "RVAE3nXS" */, 0x34B1, REG_REQUIRED, { } , false }, // 116
10606 { 1130 /* "RVALE3nXS" */, 0x34B5, REG_REQUIRED, { } , false }, // 117
10607 { 1140 /* "VAE3nXS" */, 0x34B9, REG_REQUIRED, { } , false }, // 118
10608 { 1148 /* "VALE3nXS" */, 0x34BD, REG_REQUIRED, { } , false }, // 119
10609 };
10610
10611#ifdef __GNUC__
10612#pragma GCC diagnostic push
10613#pragma GCC diagnostic ignored "-Woverlength-strings"
10614#endif
10615static constexpr char TLBIPTableStringsStorage[] =
10616 "\0"
10617 "VAE1OS\0"
10618 "VAAE1OS\0"
10619 "VALE1OS\0"
10620 "VAALE1OS\0"
10621 "RVAE1IS\0"
10622 "RVAAE1IS\0"
10623 "RVALE1IS\0"
10624 "RVAALE1IS\0"
10625 "VAE1IS\0"
10626 "VAAE1IS\0"
10627 "VALE1IS\0"
10628 "VAALE1IS\0"
10629 "RVAE1OS\0"
10630 "RVAAE1OS\0"
10631 "RVALE1OS\0"
10632 "RVAALE1OS\0"
10633 "RVAE1\0"
10634 "RVAAE1\0"
10635 "RVALE1\0"
10636 "RVAALE1\0"
10637 "VAE1\0"
10638 "VAAE1\0"
10639 "VALE1\0"
10640 "VAALE1\0"
10641 "VAE1OSnXS\0"
10642 "VAAE1OSnXS\0"
10643 "VALE1OSnXS\0"
10644 "VAALE1OSnXS\0"
10645 "RVAE1ISnXS\0"
10646 "RVAAE1ISnXS\0"
10647 "RVALE1ISnXS\0"
10648 "RVAALE1ISnXS\0"
10649 "VAE1ISnXS\0"
10650 "VAAE1ISnXS\0"
10651 "VALE1ISnXS\0"
10652 "VAALE1ISnXS\0"
10653 "RVAE1OSnXS\0"
10654 "RVAAE1OSnXS\0"
10655 "RVALE1OSnXS\0"
10656 "RVAALE1OSnXS\0"
10657 "RVAE1nXS\0"
10658 "RVAAE1nXS\0"
10659 "RVALE1nXS\0"
10660 "RVAALE1nXS\0"
10661 "VAE1nXS\0"
10662 "VAAE1nXS\0"
10663 "VALE1nXS\0"
10664 "VAALE1nXS\0"
10665 "IPAS2E1IS\0"
10666 "RIPAS2E1IS\0"
10667 "IPAS2LE1IS\0"
10668 "RIPAS2LE1IS\0"
10669 "VAE2OS\0"
10670 "VALE2OS\0"
10671 "RVAE2IS\0"
10672 "RVALE2IS\0"
10673 "VAE2IS\0"
10674 "VALE2IS\0"
10675 "IPAS2E1OS\0"
10676 "IPAS2E1\0"
10677 "RIPAS2E1\0"
10678 "RIPAS2E1OS\0"
10679 "IPAS2LE1OS\0"
10680 "IPAS2LE1\0"
10681 "RIPAS2LE1\0"
10682 "RIPAS2LE1OS\0"
10683 "RVAE2OS\0"
10684 "RVALE2OS\0"
10685 "RVAE2\0"
10686 "RVALE2\0"
10687 "VAE2\0"
10688 "VALE2\0"
10689 "IPAS2E1ISnXS\0"
10690 "RIPAS2E1ISnXS\0"
10691 "IPAS2LE1ISnXS\0"
10692 "RIPAS2LE1ISnXS\0"
10693 "VAE2OSnXS\0"
10694 "VALE2OSnXS\0"
10695 "RVAE2ISnXS\0"
10696 "RVALE2ISnXS\0"
10697 "VAE2ISnXS\0"
10698 "VALE2ISnXS\0"
10699 "IPAS2E1OSnXS\0"
10700 "IPAS2E1nXS\0"
10701 "RIPAS2E1nXS\0"
10702 "RIPAS2E1OSnXS\0"
10703 "IPAS2LE1OSnXS\0"
10704 "IPAS2LE1nXS\0"
10705 "RIPAS2LE1nXS\0"
10706 "RIPAS2LE1OSnXS\0"
10707 "RVAE2OSnXS\0"
10708 "RVALE2OSnXS\0"
10709 "RVAE2nXS\0"
10710 "RVALE2nXS\0"
10711 "VAE2nXS\0"
10712 "VALE2nXS\0"
10713 "VAE3OS\0"
10714 "VALE3OS\0"
10715 "RVAE3IS\0"
10716 "RVALE3IS\0"
10717 "VAE3IS\0"
10718 "VALE3IS\0"
10719 "RVAE3OS\0"
10720 "RVALE3OS\0"
10721 "RVAE3\0"
10722 "RVALE3\0"
10723 "VAE3\0"
10724 "VALE3\0"
10725 "VAE3OSnXS\0"
10726 "VALE3OSnXS\0"
10727 "RVAE3ISnXS\0"
10728 "RVALE3ISnXS\0"
10729 "VAE3ISnXS\0"
10730 "VALE3ISnXS\0"
10731 "RVAE3OSnXS\0"
10732 "RVALE3OSnXS\0"
10733 "RVAE3nXS\0"
10734 "RVALE3nXS\0"
10735 "VAE3nXS\0"
10736 "VALE3nXS\0"
10737 "IPAS2E1ISNXS\0"
10738 "IPAS2E1NXS\0"
10739 "IPAS2E1OSNXS\0"
10740 "IPAS2LE1ISNXS\0"
10741 "IPAS2LE1NXS\0"
10742 "IPAS2LE1OSNXS\0"
10743 "RIPAS2E1ISNXS\0"
10744 "RIPAS2E1NXS\0"
10745 "RIPAS2E1OSNXS\0"
10746 "RIPAS2LE1ISNXS\0"
10747 "RIPAS2LE1NXS\0"
10748 "RIPAS2LE1OSNXS\0"
10749 "RVAAE1ISNXS\0"
10750 "RVAAE1NXS\0"
10751 "RVAAE1OSNXS\0"
10752 "RVAALE1ISNXS\0"
10753 "RVAALE1NXS\0"
10754 "RVAALE1OSNXS\0"
10755 "RVAE1ISNXS\0"
10756 "RVAE1NXS\0"
10757 "RVAE1OSNXS\0"
10758 "RVAE2ISNXS\0"
10759 "RVAE2NXS\0"
10760 "RVAE2OSNXS\0"
10761 "RVAE3ISNXS\0"
10762 "RVAE3NXS\0"
10763 "RVAE3OSNXS\0"
10764 "RVALE1ISNXS\0"
10765 "RVALE1NXS\0"
10766 "RVALE1OSNXS\0"
10767 "RVALE2ISNXS\0"
10768 "RVALE2NXS\0"
10769 "RVALE2OSNXS\0"
10770 "RVALE3ISNXS\0"
10771 "RVALE3NXS\0"
10772 "RVALE3OSNXS\0"
10773 "VAAE1ISNXS\0"
10774 "VAAE1NXS\0"
10775 "VAAE1OSNXS\0"
10776 "VAALE1ISNXS\0"
10777 "VAALE1NXS\0"
10778 "VAALE1OSNXS\0"
10779 "VAE1ISNXS\0"
10780 "VAE1NXS\0"
10781 "VAE1OSNXS\0"
10782 "VAE2ISNXS\0"
10783 "VAE2NXS\0"
10784 "VAE2OSNXS\0"
10785 "VAE3ISNXS\0"
10786 "VAE3NXS\0"
10787 "VAE3OSNXS\0"
10788 "VALE1ISNXS\0"
10789 "VALE1NXS\0"
10790 "VALE1OSNXS\0"
10791 "VALE2ISNXS\0"
10792 "VALE2NXS\0"
10793 "VALE2OSNXS\0"
10794 "VALE3ISNXS\0"
10795 "VALE3NXS\0"
10796 "VALE3OSNXS\0"
10797 ;
10798#ifdef __GNUC__
10799#pragma GCC diagnostic pop
10800#endif
10801
10802static constexpr llvm::StringTable
10803TLBIPTableStrings = TLBIPTableStringsStorage;
10804
10805StringRef getTLBIPStr(StringTable::Offset Offset) {
10806 return TLBIPTableStrings[Offset];
10807}
10808
10809const TLBIP *lookupTLBIPByEncoding(uint16_t Encoding) {
10810 struct KeyType {
10811 uint16_t Encoding;
10812 };
10813 KeyType Key = {Encoding};
10814 struct Comp {
10815 bool operator()(const TLBIP &LHS, const KeyType &RHS) const {
10816 if (LHS.Encoding < RHS.Encoding)
10817 return true;
10818 if (LHS.Encoding > RHS.Encoding)
10819 return false;
10820 return false;
10821 }
10822 };
10823 auto Table = ArrayRef(TLBIPTable);
10824 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
10825 if (Idx == Table.end() ||
10826 Key.Encoding != Idx->Encoding)
10827 return nullptr;
10828
10829 return &*Idx;
10830}
10831
10832const TLBIP *lookupTLBIPByName(StringRef Name) {
10833 struct IndexType {
10834 unsigned Name;
10835 unsigned _index;
10836 };
10837 static const struct IndexType Index[] = {
10838 { 550 /* "IPAS2E1" */, 59 },
10839 { 449 /* "IPAS2E1IS" */, 48 },
10840 { 1157 /* "IPAS2E1ISNXS" */, 72 },
10841 { 1170 /* "IPAS2E1NXS" */, 83 },
10842 { 540 /* "IPAS2E1OS" */, 58 },
10843 { 1181 /* "IPAS2E1OSNXS" */, 82 },
10844 { 589 /* "IPAS2LE1" */, 63 },
10845 { 470 /* "IPAS2LE1IS" */, 50 },
10846 { 1194 /* "IPAS2LE1ISNXS" */, 74 },
10847 { 1208 /* "IPAS2LE1NXS" */, 87 },
10848 { 578 /* "IPAS2LE1OS" */, 62 },
10849 { 1220 /* "IPAS2LE1OSNXS" */, 86 },
10850 { 558 /* "RIPAS2E1" */, 60 },
10851 { 459 /* "RIPAS2E1IS" */, 49 },
10852 { 1234 /* "RIPAS2E1ISNXS" */, 73 },
10853 { 1248 /* "RIPAS2E1NXS" */, 84 },
10854 { 567 /* "RIPAS2E1OS" */, 61 },
10855 { 1260 /* "RIPAS2E1OSNXS" */, 85 },
10856 { 598 /* "RIPAS2LE1" */, 64 },
10857 { 481 /* "RIPAS2LE1IS" */, 51 },
10858 { 1274 /* "RIPAS2LE1ISNXS" */, 75 },
10859 { 1289 /* "RIPAS2LE1NXS" */, 88 },
10860 { 608 /* "RIPAS2LE1OS" */, 65 },
10861 { 1302 /* "RIPAS2LE1OSNXS" */, 89 },
10862 { 143 /* "RVAAE1" */, 17 },
10863 { 41 /* "RVAAE1IS" */, 5 },
10864 { 1317 /* "RVAAE1ISNXS" */, 29 },
10865 { 1329 /* "RVAAE1NXS" */, 41 },
10866 { 109 /* "RVAAE1OS" */, 13 },
10867 { 1339 /* "RVAAE1OSNXS" */, 37 },
10868 { 157 /* "RVAALE1" */, 19 },
10869 { 59 /* "RVAALE1IS" */, 7 },
10870 { 1351 /* "RVAALE1ISNXS" */, 31 },
10871 { 1364 /* "RVAALE1NXS" */, 43 },
10872 { 127 /* "RVAALE1OS" */, 15 },
10873 { 1375 /* "RVAALE1OSNXS" */, 39 },
10874 { 137 /* "RVAE1" */, 16 },
10875 { 33 /* "RVAE1IS" */, 4 },
10876 { 1388 /* "RVAE1ISNXS" */, 28 },
10877 { 1399 /* "RVAE1NXS" */, 40 },
10878 { 101 /* "RVAE1OS" */, 12 },
10879 { 1408 /* "RVAE1OSNXS" */, 36 },
10880 { 637 /* "RVAE2" */, 68 },
10881 { 508 /* "RVAE2IS" */, 54 },
10882 { 1419 /* "RVAE2ISNXS" */, 78 },
10883 { 1430 /* "RVAE2NXS" */, 92 },
10884 { 620 /* "RVAE2OS" */, 66 },
10885 { 1439 /* "RVAE2OSNXS" */, 90 },
10886 { 1009 /* "RVAE3" */, 104 },
10887 { 960 /* "RVAE3IS" */, 98 },
10888 { 1450 /* "RVAE3ISNXS" */, 110 },
10889 { 1461 /* "RVAE3NXS" */, 116 },
10890 { 992 /* "RVAE3OS" */, 102 },
10891 { 1470 /* "RVAE3OSNXS" */, 114 },
10892 { 150 /* "RVALE1" */, 18 },
10893 { 50 /* "RVALE1IS" */, 6 },
10894 { 1481 /* "RVALE1ISNXS" */, 30 },
10895 { 1493 /* "RVALE1NXS" */, 42 },
10896 { 118 /* "RVALE1OS" */, 14 },
10897 { 1503 /* "RVALE1OSNXS" */, 38 },
10898 { 643 /* "RVALE2" */, 69 },
10899 { 516 /* "RVALE2IS" */, 55 },
10900 { 1515 /* "RVALE2ISNXS" */, 79 },
10901 { 1527 /* "RVALE2NXS" */, 93 },
10902 { 628 /* "RVALE2OS" */, 67 },
10903 { 1537 /* "RVALE2OSNXS" */, 91 },
10904 { 1015 /* "RVALE3" */, 105 },
10905 { 968 /* "RVALE3IS" */, 99 },
10906 { 1549 /* "RVALE3ISNXS" */, 111 },
10907 { 1561 /* "RVALE3NXS" */, 117 },
10908 { 1000 /* "RVALE3OS" */, 103 },
10909 { 1571 /* "RVALE3OSNXS" */, 115 },
10910 { 170 /* "VAAE1" */, 21 },
10911 { 76 /* "VAAE1IS" */, 9 },
10912 { 1583 /* "VAAE1ISNXS" */, 33 },
10913 { 1594 /* "VAAE1NXS" */, 45 },
10914 { 8 /* "VAAE1OS" */, 1 },
10915 { 1603 /* "VAAE1OSNXS" */, 25 },
10916 { 182 /* "VAALE1" */, 23 },
10917 { 92 /* "VAALE1IS" */, 11 },
10918 { 1614 /* "VAALE1ISNXS" */, 35 },
10919 { 1626 /* "VAALE1NXS" */, 47 },
10920 { 24 /* "VAALE1OS" */, 3 },
10921 { 1636 /* "VAALE1OSNXS" */, 27 },
10922 { 165 /* "VAE1" */, 20 },
10923 { 69 /* "VAE1IS" */, 8 },
10924 { 1648 /* "VAE1ISNXS" */, 32 },
10925 { 1658 /* "VAE1NXS" */, 44 },
10926 { 1 /* "VAE1OS" */, 0 },
10927 { 1666 /* "VAE1OSNXS" */, 24 },
10928 { 650 /* "VAE2" */, 70 },
10929 { 525 /* "VAE2IS" */, 56 },
10930 { 1676 /* "VAE2ISNXS" */, 80 },
10931 { 1686 /* "VAE2NXS" */, 94 },
10932 { 493 /* "VAE2OS" */, 52 },
10933 { 1694 /* "VAE2OSNXS" */, 76 },
10934 { 1022 /* "VAE3" */, 106 },
10935 { 977 /* "VAE3IS" */, 100 },
10936 { 1704 /* "VAE3ISNXS" */, 112 },
10937 { 1714 /* "VAE3NXS" */, 118 },
10938 { 945 /* "VAE3OS" */, 96 },
10939 { 1722 /* "VAE3OSNXS" */, 108 },
10940 { 176 /* "VALE1" */, 22 },
10941 { 84 /* "VALE1IS" */, 10 },
10942 { 1732 /* "VALE1ISNXS" */, 34 },
10943 { 1743 /* "VALE1NXS" */, 46 },
10944 { 16 /* "VALE1OS" */, 2 },
10945 { 1752 /* "VALE1OSNXS" */, 26 },
10946 { 655 /* "VALE2" */, 71 },
10947 { 532 /* "VALE2IS" */, 57 },
10948 { 1763 /* "VALE2ISNXS" */, 81 },
10949 { 1774 /* "VALE2NXS" */, 95 },
10950 { 500 /* "VALE2OS" */, 53 },
10951 { 1783 /* "VALE2OSNXS" */, 77 },
10952 { 1027 /* "VALE3" */, 107 },
10953 { 984 /* "VALE3IS" */, 101 },
10954 { 1794 /* "VALE3ISNXS" */, 113 },
10955 { 1805 /* "VALE3NXS" */, 119 },
10956 { 952 /* "VALE3OS" */, 97 },
10957 { 1814 /* "VALE3OSNXS" */, 109 },
10958 };
10959
10960 struct KeyType {
10961 std::string Name;
10962 };
10963 KeyType Key = {Name.upper()};
10964 struct Comp {
10965 bool operator()(const IndexType &LHS, const KeyType &RHS) const {
10966 StringRef LHSNameStr = TLBIPTableStrings[LHS.Name];
10967 StringRef RHSNameStr = RHS.Name;
10968 int CmpName = LHSNameStr.compare(RHSNameStr);
10969 if (CmpName < 0) return true;
10970 if (CmpName > 0) return false;
10971 return false;
10972 }
10973 };
10974 auto Table = ArrayRef(Index);
10975 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
10976 if (Idx == Table.end() ||
10977 Key.Name != TLBIPTableStrings[Idx->Name])
10978 return nullptr;
10979
10980 return &TLBIPTable[Idx->_index];
10981}
10982#endif
10983
10984#ifdef GET_TLBITable_DECL
10985const TLBI *lookupTLBIByEncoding(uint16_t Encoding);
10986const TLBI *lookupTLBIByName(StringRef Name);
10987StringRef getTLBIStr(StringTable::Offset);
10988#endif
10989
10990#ifdef GET_TLBITable_IMPL
10991constexpr TLBI TLBITable[] = {
10992 { 1 /* "VMALLE1OS" */, 0x408, REG_OPTIONAL, { AArch64::FeatureTLB_RMI } }, // 0
10993 { 11 /* "VAE1OS" */, 0x409, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 1
10994 { 18 /* "ASIDE1OS" */, 0x40A, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 2
10995 { 27 /* "VAAE1OS" */, 0x40B, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 3
10996 { 35 /* "VALE1OS" */, 0x40D, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 4
10997 { 43 /* "VAALE1OS" */, 0x40F, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 5
10998 { 52 /* "RVAE1IS" */, 0x411, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 6
10999 { 60 /* "RVAAE1IS" */, 0x413, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 7
11000 { 69 /* "RVALE1IS" */, 0x415, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 8
11001 { 78 /* "RVAALE1IS" */, 0x417, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 9
11002 { 88 /* "VMALLE1IS" */, 0x418, REG_OPTIONAL, { } }, // 10
11003 { 98 /* "VAE1IS" */, 0x419, REG_REQUIRED, { } }, // 11
11004 { 105 /* "ASIDE1IS" */, 0x41A, REG_REQUIRED, { } }, // 12
11005 { 114 /* "VAAE1IS" */, 0x41B, REG_REQUIRED, { } }, // 13
11006 { 122 /* "VALE1IS" */, 0x41D, REG_REQUIRED, { } }, // 14
11007 { 130 /* "VAALE1IS" */, 0x41F, REG_REQUIRED, { } }, // 15
11008 { 139 /* "RVAE1OS" */, 0x429, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 16
11009 { 147 /* "RVAAE1OS" */, 0x42B, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 17
11010 { 156 /* "RVALE1OS" */, 0x42D, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 18
11011 { 165 /* "RVAALE1OS" */, 0x42F, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 19
11012 { 175 /* "RVAE1" */, 0x431, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 20
11013 { 181 /* "RVAAE1" */, 0x433, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 21
11014 { 188 /* "RVALE1" */, 0x435, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 22
11015 { 195 /* "RVAALE1" */, 0x437, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 23
11016 { 203 /* "VMALLE1" */, 0x438, REG_NONE, { } }, // 24
11017 { 211 /* "VAE1" */, 0x439, REG_REQUIRED, { } }, // 25
11018 { 216 /* "ASIDE1" */, 0x43A, REG_REQUIRED, { } }, // 26
11019 { 223 /* "VAAE1" */, 0x43B, REG_REQUIRED, { } }, // 27
11020 { 229 /* "VALE1" */, 0x43D, REG_REQUIRED, { } }, // 28
11021 { 235 /* "VAALE1" */, 0x43F, REG_REQUIRED, { } }, // 29
11022 { 242 /* "VMALLE1OSnXS" */, 0x488, REG_OPTIONAL, { AArch64::FeatureXS } }, // 30
11023 { 255 /* "VAE1OSnXS" */, 0x489, REG_REQUIRED, { AArch64::FeatureXS } }, // 31
11024 { 265 /* "ASIDE1OSnXS" */, 0x48A, REG_REQUIRED, { AArch64::FeatureXS } }, // 32
11025 { 277 /* "VAAE1OSnXS" */, 0x48B, REG_REQUIRED, { AArch64::FeatureXS } }, // 33
11026 { 288 /* "VALE1OSnXS" */, 0x48D, REG_REQUIRED, { AArch64::FeatureXS } }, // 34
11027 { 299 /* "VAALE1OSnXS" */, 0x48F, REG_REQUIRED, { AArch64::FeatureXS } }, // 35
11028 { 311 /* "RVAE1ISnXS" */, 0x491, REG_REQUIRED, { AArch64::FeatureXS } }, // 36
11029 { 322 /* "RVAAE1ISnXS" */, 0x493, REG_REQUIRED, { AArch64::FeatureXS } }, // 37
11030 { 334 /* "RVALE1ISnXS" */, 0x495, REG_REQUIRED, { AArch64::FeatureXS } }, // 38
11031 { 346 /* "RVAALE1ISnXS" */, 0x497, REG_REQUIRED, { AArch64::FeatureXS } }, // 39
11032 { 359 /* "VMALLE1ISnXS" */, 0x498, REG_OPTIONAL, { AArch64::FeatureXS } }, // 40
11033 { 372 /* "VAE1ISnXS" */, 0x499, REG_REQUIRED, { AArch64::FeatureXS } }, // 41
11034 { 382 /* "ASIDE1ISnXS" */, 0x49A, REG_REQUIRED, { AArch64::FeatureXS } }, // 42
11035 { 394 /* "VAAE1ISnXS" */, 0x49B, REG_REQUIRED, { AArch64::FeatureXS } }, // 43
11036 { 405 /* "VALE1ISnXS" */, 0x49D, REG_REQUIRED, { AArch64::FeatureXS } }, // 44
11037 { 416 /* "VAALE1ISnXS" */, 0x49F, REG_REQUIRED, { AArch64::FeatureXS } }, // 45
11038 { 428 /* "RVAE1OSnXS" */, 0x4A9, REG_REQUIRED, { AArch64::FeatureXS } }, // 46
11039 { 439 /* "RVAAE1OSnXS" */, 0x4AB, REG_REQUIRED, { AArch64::FeatureXS } }, // 47
11040 { 451 /* "RVALE1OSnXS" */, 0x4AD, REG_REQUIRED, { AArch64::FeatureXS } }, // 48
11041 { 463 /* "RVAALE1OSnXS" */, 0x4AF, REG_REQUIRED, { AArch64::FeatureXS } }, // 49
11042 { 476 /* "RVAE1nXS" */, 0x4B1, REG_REQUIRED, { AArch64::FeatureXS } }, // 50
11043 { 485 /* "RVAAE1nXS" */, 0x4B3, REG_REQUIRED, { AArch64::FeatureXS } }, // 51
11044 { 495 /* "RVALE1nXS" */, 0x4B5, REG_REQUIRED, { AArch64::FeatureXS } }, // 52
11045 { 505 /* "RVAALE1nXS" */, 0x4B7, REG_REQUIRED, { AArch64::FeatureXS } }, // 53
11046 { 516 /* "VMALLE1nXS" */, 0x4B8, REG_NONE, { AArch64::FeatureXS } }, // 54
11047 { 527 /* "VAE1nXS" */, 0x4B9, REG_REQUIRED, { AArch64::FeatureXS } }, // 55
11048 { 535 /* "ASIDE1nXS" */, 0x4BA, REG_REQUIRED, { AArch64::FeatureXS } }, // 56
11049 { 545 /* "VAAE1nXS" */, 0x4BB, REG_REQUIRED, { AArch64::FeatureXS } }, // 57
11050 { 554 /* "VALE1nXS" */, 0x4BD, REG_REQUIRED, { AArch64::FeatureXS } }, // 58
11051 { 563 /* "VAALE1nXS" */, 0x4BF, REG_REQUIRED, { AArch64::FeatureXS } }, // 59
11052 { 573 /* "IPAS2E1IS" */, 0x2401, REG_REQUIRED, { } }, // 60
11053 { 583 /* "RIPAS2E1IS" */, 0x2402, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 61
11054 { 594 /* "IPAS2LE1IS" */, 0x2405, REG_REQUIRED, { } }, // 62
11055 { 605 /* "RIPAS2LE1IS" */, 0x2406, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 63
11056 { 617 /* "ALLE2OS" */, 0x2408, REG_OPTIONAL, { AArch64::FeatureTLB_RMI } }, // 64
11057 { 625 /* "VAE2OS" */, 0x2409, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 65
11058 { 632 /* "ALLE1OS" */, 0x240C, REG_OPTIONAL, { AArch64::FeatureTLB_RMI } }, // 66
11059 { 640 /* "VALE2OS" */, 0x240D, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 67
11060 { 648 /* "VMALLS12E1OS" */, 0x240E, REG_OPTIONAL, { AArch64::FeatureTLB_RMI } }, // 68
11061 { 661 /* "RVAE2IS" */, 0x2411, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 69
11062 { 669 /* "VMALLWS2E1IS" */, 0x2412, REG_OPTIONAL, { AArch64::FeatureTLBIW } }, // 70
11063 { 682 /* "RVALE2IS" */, 0x2415, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 71
11064 { 691 /* "ALLE2IS" */, 0x2418, REG_OPTIONAL, { } }, // 72
11065 { 699 /* "VAE2IS" */, 0x2419, REG_REQUIRED, { } }, // 73
11066 { 706 /* "ALLE1IS" */, 0x241C, REG_OPTIONAL, { } }, // 74
11067 { 714 /* "VALE2IS" */, 0x241D, REG_REQUIRED, { } }, // 75
11068 { 722 /* "VMALLS12E1IS" */, 0x241E, REG_OPTIONAL, { } }, // 76
11069 { 735 /* "IPAS2E1OS" */, 0x2420, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 77
11070 { 745 /* "IPAS2E1" */, 0x2421, REG_REQUIRED, { } }, // 78
11071 { 753 /* "RIPAS2E1" */, 0x2422, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 79
11072 { 762 /* "RIPAS2E1OS" */, 0x2423, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 80
11073 { 773 /* "IPAS2LE1OS" */, 0x2424, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 81
11074 { 784 /* "IPAS2LE1" */, 0x2425, REG_REQUIRED, { } }, // 82
11075 { 793 /* "RIPAS2LE1" */, 0x2426, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 83
11076 { 803 /* "RIPAS2LE1OS" */, 0x2427, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 84
11077 { 815 /* "RVAE2OS" */, 0x2429, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 85
11078 { 823 /* "VMALLWS2E1OS" */, 0x242A, REG_OPTIONAL, { AArch64::FeatureTLBIW } }, // 86
11079 { 836 /* "RVALE2OS" */, 0x242D, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 87
11080 { 845 /* "RVAE2" */, 0x2431, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 88
11081 { 851 /* "VMALLWS2E1" */, 0x2432, REG_NONE, { AArch64::FeatureTLBIW } }, // 89
11082 { 862 /* "RVALE2" */, 0x2435, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 90
11083 { 869 /* "ALLE2" */, 0x2438, REG_NONE, { } }, // 91
11084 { 875 /* "VAE2" */, 0x2439, REG_REQUIRED, { } }, // 92
11085 { 880 /* "ALLE1" */, 0x243C, REG_NONE, { } }, // 93
11086 { 886 /* "VALE2" */, 0x243D, REG_REQUIRED, { } }, // 94
11087 { 892 /* "VMALLS12E1" */, 0x243E, REG_NONE, { } }, // 95
11088 { 903 /* "IPAS2E1ISnXS" */, 0x2481, REG_REQUIRED, { AArch64::FeatureXS } }, // 96
11089 { 916 /* "RIPAS2E1ISnXS" */, 0x2482, REG_REQUIRED, { AArch64::FeatureXS } }, // 97
11090 { 930 /* "IPAS2LE1ISnXS" */, 0x2485, REG_REQUIRED, { AArch64::FeatureXS } }, // 98
11091 { 944 /* "RIPAS2LE1ISnXS" */, 0x2486, REG_REQUIRED, { AArch64::FeatureXS } }, // 99
11092 { 959 /* "ALLE2OSnXS" */, 0x2488, REG_OPTIONAL, { AArch64::FeatureXS } }, // 100
11093 { 970 /* "VAE2OSnXS" */, 0x2489, REG_REQUIRED, { AArch64::FeatureXS } }, // 101
11094 { 980 /* "ALLE1OSnXS" */, 0x248C, REG_OPTIONAL, { AArch64::FeatureXS } }, // 102
11095 { 991 /* "VALE2OSnXS" */, 0x248D, REG_REQUIRED, { AArch64::FeatureXS } }, // 103
11096 { 1002 /* "VMALLS12E1OSnXS" */, 0x248E, REG_OPTIONAL, { AArch64::FeatureXS } }, // 104
11097 { 1018 /* "RVAE2ISnXS" */, 0x2491, REG_REQUIRED, { AArch64::FeatureXS } }, // 105
11098 { 1029 /* "VMALLWS2E1ISnXS" */, 0x2492, REG_OPTIONAL, { AArch64::FeatureTLBIW } }, // 106
11099 { 1045 /* "RVALE2ISnXS" */, 0x2495, REG_REQUIRED, { AArch64::FeatureXS } }, // 107
11100 { 1057 /* "ALLE2ISnXS" */, 0x2498, REG_OPTIONAL, { AArch64::FeatureXS } }, // 108
11101 { 1068 /* "VAE2ISnXS" */, 0x2499, REG_REQUIRED, { AArch64::FeatureXS } }, // 109
11102 { 1078 /* "ALLE1ISnXS" */, 0x249C, REG_OPTIONAL, { AArch64::FeatureXS } }, // 110
11103 { 1089 /* "VALE2ISnXS" */, 0x249D, REG_REQUIRED, { AArch64::FeatureXS } }, // 111
11104 { 1100 /* "VMALLS12E1ISnXS" */, 0x249E, REG_OPTIONAL, { AArch64::FeatureXS } }, // 112
11105 { 1116 /* "IPAS2E1OSnXS" */, 0x24A0, REG_REQUIRED, { AArch64::FeatureXS } }, // 113
11106 { 1129 /* "IPAS2E1nXS" */, 0x24A1, REG_REQUIRED, { AArch64::FeatureXS } }, // 114
11107 { 1140 /* "RIPAS2E1nXS" */, 0x24A2, REG_REQUIRED, { AArch64::FeatureXS } }, // 115
11108 { 1152 /* "RIPAS2E1OSnXS" */, 0x24A3, REG_REQUIRED, { AArch64::FeatureXS } }, // 116
11109 { 1166 /* "IPAS2LE1OSnXS" */, 0x24A4, REG_REQUIRED, { AArch64::FeatureXS } }, // 117
11110 { 1180 /* "IPAS2LE1nXS" */, 0x24A5, REG_REQUIRED, { AArch64::FeatureXS } }, // 118
11111 { 1192 /* "RIPAS2LE1nXS" */, 0x24A6, REG_REQUIRED, { AArch64::FeatureXS } }, // 119
11112 { 1205 /* "RIPAS2LE1OSnXS" */, 0x24A7, REG_REQUIRED, { AArch64::FeatureXS } }, // 120
11113 { 1220 /* "RVAE2OSnXS" */, 0x24A9, REG_REQUIRED, { AArch64::FeatureXS } }, // 121
11114 { 1231 /* "VMALLWS2E1OSnXS" */, 0x24AA, REG_OPTIONAL, { AArch64::FeatureTLBIW } }, // 122
11115 { 1247 /* "RVALE2OSnXS" */, 0x24AD, REG_REQUIRED, { AArch64::FeatureXS } }, // 123
11116 { 1259 /* "RVAE2nXS" */, 0x24B1, REG_REQUIRED, { AArch64::FeatureXS } }, // 124
11117 { 1268 /* "VMALLWS2E1nXS" */, 0x24B2, REG_NONE, { AArch64::FeatureTLBIW } }, // 125
11118 { 1282 /* "RVALE2nXS" */, 0x24B5, REG_REQUIRED, { AArch64::FeatureXS } }, // 126
11119 { 1292 /* "ALLE2nXS" */, 0x24B8, REG_NONE, { AArch64::FeatureXS } }, // 127
11120 { 1301 /* "VAE2nXS" */, 0x24B9, REG_REQUIRED, { AArch64::FeatureXS } }, // 128
11121 { 1309 /* "ALLE1nXS" */, 0x24BC, REG_NONE, { AArch64::FeatureXS } }, // 129
11122 { 1318 /* "VALE2nXS" */, 0x24BD, REG_REQUIRED, { AArch64::FeatureXS } }, // 130
11123 { 1327 /* "VMALLS12E1nXS" */, 0x24BE, REG_NONE, { AArch64::FeatureXS } }, // 131
11124 { 1341 /* "ALLE3OS" */, 0x3408, REG_OPTIONAL, { AArch64::FeatureTLB_RMI } }, // 132
11125 { 1349 /* "VAE3OS" */, 0x3409, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 133
11126 { 1356 /* "PAALLOS" */, 0x340C, REG_NONE, { AArch64::FeatureRME } }, // 134
11127 { 1364 /* "VALE3OS" */, 0x340D, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 135
11128 { 1372 /* "RVAE3IS" */, 0x3411, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 136
11129 { 1380 /* "RVALE3IS" */, 0x3415, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 137
11130 { 1389 /* "ALLE3IS" */, 0x3418, REG_OPTIONAL, { } }, // 138
11131 { 1397 /* "VAE3IS" */, 0x3419, REG_REQUIRED, { } }, // 139
11132 { 1404 /* "VALE3IS" */, 0x341D, REG_REQUIRED, { } }, // 140
11133 { 1412 /* "RPAOS" */, 0x3423, REG_REQUIRED, { AArch64::FeatureRME } }, // 141
11134 { 1418 /* "RPALOS" */, 0x3427, REG_REQUIRED, { AArch64::FeatureRME } }, // 142
11135 { 1425 /* "RVAE3OS" */, 0x3429, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 143
11136 { 1433 /* "RVALE3OS" */, 0x342D, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 144
11137 { 1442 /* "RVAE3" */, 0x3431, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 145
11138 { 1448 /* "RVALE3" */, 0x3435, REG_REQUIRED, { AArch64::FeatureTLB_RMI } }, // 146
11139 { 1455 /* "ALLE3" */, 0x3438, REG_NONE, { } }, // 147
11140 { 1461 /* "VAE3" */, 0x3439, REG_REQUIRED, { } }, // 148
11141 { 1466 /* "PAALL" */, 0x343C, REG_NONE, { AArch64::FeatureRME } }, // 149
11142 { 1472 /* "VALE3" */, 0x343D, REG_REQUIRED, { } }, // 150
11143 { 1478 /* "ALLE3OSnXS" */, 0x3488, REG_OPTIONAL, { AArch64::FeatureXS } }, // 151
11144 { 1489 /* "VAE3OSnXS" */, 0x3489, REG_REQUIRED, { AArch64::FeatureXS } }, // 152
11145 { 1499 /* "VALE3OSnXS" */, 0x348D, REG_REQUIRED, { AArch64::FeatureXS } }, // 153
11146 { 1510 /* "RVAE3ISnXS" */, 0x3491, REG_REQUIRED, { AArch64::FeatureXS } }, // 154
11147 { 1521 /* "RVALE3ISnXS" */, 0x3495, REG_REQUIRED, { AArch64::FeatureXS } }, // 155
11148 { 1533 /* "ALLE3ISnXS" */, 0x3498, REG_OPTIONAL, { AArch64::FeatureXS } }, // 156
11149 { 1544 /* "VAE3ISnXS" */, 0x3499, REG_REQUIRED, { AArch64::FeatureXS } }, // 157
11150 { 1554 /* "VALE3ISnXS" */, 0x349D, REG_REQUIRED, { AArch64::FeatureXS } }, // 158
11151 { 1565 /* "RVAE3OSnXS" */, 0x34A9, REG_REQUIRED, { AArch64::FeatureXS } }, // 159
11152 { 1576 /* "RVALE3OSnXS" */, 0x34AD, REG_REQUIRED, { AArch64::FeatureXS } }, // 160
11153 { 1588 /* "RVAE3nXS" */, 0x34B1, REG_REQUIRED, { AArch64::FeatureXS } }, // 161
11154 { 1597 /* "RVALE3nXS" */, 0x34B5, REG_REQUIRED, { AArch64::FeatureXS } }, // 162
11155 { 1607 /* "ALLE3nXS" */, 0x34B8, REG_NONE, { AArch64::FeatureXS } }, // 163
11156 { 1616 /* "VAE3nXS" */, 0x34B9, REG_REQUIRED, { AArch64::FeatureXS } }, // 164
11157 { 1624 /* "VALE3nXS" */, 0x34BD, REG_REQUIRED, { AArch64::FeatureXS } }, // 165
11158 };
11159
11160#ifdef __GNUC__
11161#pragma GCC diagnostic push
11162#pragma GCC diagnostic ignored "-Woverlength-strings"
11163#endif
11164static constexpr char TLBITableStringsStorage[] =
11165 "\0"
11166 "VMALLE1OS\0"
11167 "VAE1OS\0"
11168 "ASIDE1OS\0"
11169 "VAAE1OS\0"
11170 "VALE1OS\0"
11171 "VAALE1OS\0"
11172 "RVAE1IS\0"
11173 "RVAAE1IS\0"
11174 "RVALE1IS\0"
11175 "RVAALE1IS\0"
11176 "VMALLE1IS\0"
11177 "VAE1IS\0"
11178 "ASIDE1IS\0"
11179 "VAAE1IS\0"
11180 "VALE1IS\0"
11181 "VAALE1IS\0"
11182 "RVAE1OS\0"
11183 "RVAAE1OS\0"
11184 "RVALE1OS\0"
11185 "RVAALE1OS\0"
11186 "RVAE1\0"
11187 "RVAAE1\0"
11188 "RVALE1\0"
11189 "RVAALE1\0"
11190 "VMALLE1\0"
11191 "VAE1\0"
11192 "ASIDE1\0"
11193 "VAAE1\0"
11194 "VALE1\0"
11195 "VAALE1\0"
11196 "VMALLE1OSnXS\0"
11197 "VAE1OSnXS\0"
11198 "ASIDE1OSnXS\0"
11199 "VAAE1OSnXS\0"
11200 "VALE1OSnXS\0"
11201 "VAALE1OSnXS\0"
11202 "RVAE1ISnXS\0"
11203 "RVAAE1ISnXS\0"
11204 "RVALE1ISnXS\0"
11205 "RVAALE1ISnXS\0"
11206 "VMALLE1ISnXS\0"
11207 "VAE1ISnXS\0"
11208 "ASIDE1ISnXS\0"
11209 "VAAE1ISnXS\0"
11210 "VALE1ISnXS\0"
11211 "VAALE1ISnXS\0"
11212 "RVAE1OSnXS\0"
11213 "RVAAE1OSnXS\0"
11214 "RVALE1OSnXS\0"
11215 "RVAALE1OSnXS\0"
11216 "RVAE1nXS\0"
11217 "RVAAE1nXS\0"
11218 "RVALE1nXS\0"
11219 "RVAALE1nXS\0"
11220 "VMALLE1nXS\0"
11221 "VAE1nXS\0"
11222 "ASIDE1nXS\0"
11223 "VAAE1nXS\0"
11224 "VALE1nXS\0"
11225 "VAALE1nXS\0"
11226 "IPAS2E1IS\0"
11227 "RIPAS2E1IS\0"
11228 "IPAS2LE1IS\0"
11229 "RIPAS2LE1IS\0"
11230 "ALLE2OS\0"
11231 "VAE2OS\0"
11232 "ALLE1OS\0"
11233 "VALE2OS\0"
11234 "VMALLS12E1OS\0"
11235 "RVAE2IS\0"
11236 "VMALLWS2E1IS\0"
11237 "RVALE2IS\0"
11238 "ALLE2IS\0"
11239 "VAE2IS\0"
11240 "ALLE1IS\0"
11241 "VALE2IS\0"
11242 "VMALLS12E1IS\0"
11243 "IPAS2E1OS\0"
11244 "IPAS2E1\0"
11245 "RIPAS2E1\0"
11246 "RIPAS2E1OS\0"
11247 "IPAS2LE1OS\0"
11248 "IPAS2LE1\0"
11249 "RIPAS2LE1\0"
11250 "RIPAS2LE1OS\0"
11251 "RVAE2OS\0"
11252 "VMALLWS2E1OS\0"
11253 "RVALE2OS\0"
11254 "RVAE2\0"
11255 "VMALLWS2E1\0"
11256 "RVALE2\0"
11257 "ALLE2\0"
11258 "VAE2\0"
11259 "ALLE1\0"
11260 "VALE2\0"
11261 "VMALLS12E1\0"
11262 "IPAS2E1ISnXS\0"
11263 "RIPAS2E1ISnXS\0"
11264 "IPAS2LE1ISnXS\0"
11265 "RIPAS2LE1ISnXS\0"
11266 "ALLE2OSnXS\0"
11267 "VAE2OSnXS\0"
11268 "ALLE1OSnXS\0"
11269 "VALE2OSnXS\0"
11270 "VMALLS12E1OSnXS\0"
11271 "RVAE2ISnXS\0"
11272 "VMALLWS2E1ISnXS\0"
11273 "RVALE2ISnXS\0"
11274 "ALLE2ISnXS\0"
11275 "VAE2ISnXS\0"
11276 "ALLE1ISnXS\0"
11277 "VALE2ISnXS\0"
11278 "VMALLS12E1ISnXS\0"
11279 "IPAS2E1OSnXS\0"
11280 "IPAS2E1nXS\0"
11281 "RIPAS2E1nXS\0"
11282 "RIPAS2E1OSnXS\0"
11283 "IPAS2LE1OSnXS\0"
11284 "IPAS2LE1nXS\0"
11285 "RIPAS2LE1nXS\0"
11286 "RIPAS2LE1OSnXS\0"
11287 "RVAE2OSnXS\0"
11288 "VMALLWS2E1OSnXS\0"
11289 "RVALE2OSnXS\0"
11290 "RVAE2nXS\0"
11291 "VMALLWS2E1nXS\0"
11292 "RVALE2nXS\0"
11293 "ALLE2nXS\0"
11294 "VAE2nXS\0"
11295 "ALLE1nXS\0"
11296 "VALE2nXS\0"
11297 "VMALLS12E1nXS\0"
11298 "ALLE3OS\0"
11299 "VAE3OS\0"
11300 "PAALLOS\0"
11301 "VALE3OS\0"
11302 "RVAE3IS\0"
11303 "RVALE3IS\0"
11304 "ALLE3IS\0"
11305 "VAE3IS\0"
11306 "VALE3IS\0"
11307 "RPAOS\0"
11308 "RPALOS\0"
11309 "RVAE3OS\0"
11310 "RVALE3OS\0"
11311 "RVAE3\0"
11312 "RVALE3\0"
11313 "ALLE3\0"
11314 "VAE3\0"
11315 "PAALL\0"
11316 "VALE3\0"
11317 "ALLE3OSnXS\0"
11318 "VAE3OSnXS\0"
11319 "VALE3OSnXS\0"
11320 "RVAE3ISnXS\0"
11321 "RVALE3ISnXS\0"
11322 "ALLE3ISnXS\0"
11323 "VAE3ISnXS\0"
11324 "VALE3ISnXS\0"
11325 "RVAE3OSnXS\0"
11326 "RVALE3OSnXS\0"
11327 "RVAE3nXS\0"
11328 "RVALE3nXS\0"
11329 "ALLE3nXS\0"
11330 "VAE3nXS\0"
11331 "VALE3nXS\0"
11332 "ALLE1ISNXS\0"
11333 "ALLE1NXS\0"
11334 "ALLE1OSNXS\0"
11335 "ALLE2ISNXS\0"
11336 "ALLE2NXS\0"
11337 "ALLE2OSNXS\0"
11338 "ALLE3ISNXS\0"
11339 "ALLE3NXS\0"
11340 "ALLE3OSNXS\0"
11341 "ASIDE1ISNXS\0"
11342 "ASIDE1NXS\0"
11343 "ASIDE1OSNXS\0"
11344 "IPAS2E1ISNXS\0"
11345 "IPAS2E1NXS\0"
11346 "IPAS2E1OSNXS\0"
11347 "IPAS2LE1ISNXS\0"
11348 "IPAS2LE1NXS\0"
11349 "IPAS2LE1OSNXS\0"
11350 "RIPAS2E1ISNXS\0"
11351 "RIPAS2E1NXS\0"
11352 "RIPAS2E1OSNXS\0"
11353 "RIPAS2LE1ISNXS\0"
11354 "RIPAS2LE1NXS\0"
11355 "RIPAS2LE1OSNXS\0"
11356 "RVAAE1ISNXS\0"
11357 "RVAAE1NXS\0"
11358 "RVAAE1OSNXS\0"
11359 "RVAALE1ISNXS\0"
11360 "RVAALE1NXS\0"
11361 "RVAALE1OSNXS\0"
11362 "RVAE1ISNXS\0"
11363 "RVAE1NXS\0"
11364 "RVAE1OSNXS\0"
11365 "RVAE2ISNXS\0"
11366 "RVAE2NXS\0"
11367 "RVAE2OSNXS\0"
11368 "RVAE3ISNXS\0"
11369 "RVAE3NXS\0"
11370 "RVAE3OSNXS\0"
11371 "RVALE1ISNXS\0"
11372 "RVALE1NXS\0"
11373 "RVALE1OSNXS\0"
11374 "RVALE2ISNXS\0"
11375 "RVALE2NXS\0"
11376 "RVALE2OSNXS\0"
11377 "RVALE3ISNXS\0"
11378 "RVALE3NXS\0"
11379 "RVALE3OSNXS\0"
11380 "VAAE1ISNXS\0"
11381 "VAAE1NXS\0"
11382 "VAAE1OSNXS\0"
11383 "VAALE1ISNXS\0"
11384 "VAALE1NXS\0"
11385 "VAALE1OSNXS\0"
11386 "VAE1ISNXS\0"
11387 "VAE1NXS\0"
11388 "VAE1OSNXS\0"
11389 "VAE2ISNXS\0"
11390 "VAE2NXS\0"
11391 "VAE2OSNXS\0"
11392 "VAE3ISNXS\0"
11393 "VAE3NXS\0"
11394 "VAE3OSNXS\0"
11395 "VALE1ISNXS\0"
11396 "VALE1NXS\0"
11397 "VALE1OSNXS\0"
11398 "VALE2ISNXS\0"
11399 "VALE2NXS\0"
11400 "VALE2OSNXS\0"
11401 "VALE3ISNXS\0"
11402 "VALE3NXS\0"
11403 "VALE3OSNXS\0"
11404 "VMALLE1ISNXS\0"
11405 "VMALLE1NXS\0"
11406 "VMALLE1OSNXS\0"
11407 "VMALLS12E1ISNXS\0"
11408 "VMALLS12E1NXS\0"
11409 "VMALLS12E1OSNXS\0"
11410 "VMALLWS2E1ISNXS\0"
11411 "VMALLWS2E1NXS\0"
11412 "VMALLWS2E1OSNXS\0"
11413 ;
11414#ifdef __GNUC__
11415#pragma GCC diagnostic pop
11416#endif
11417
11418static constexpr llvm::StringTable
11419TLBITableStrings = TLBITableStringsStorage;
11420
11421StringRef getTLBIStr(StringTable::Offset Offset) {
11422 return TLBITableStrings[Offset];
11423}
11424
11425const TLBI *lookupTLBIByEncoding(uint16_t Encoding) {
11426 struct KeyType {
11427 uint16_t Encoding;
11428 };
11429 KeyType Key = {Encoding};
11430 struct Comp {
11431 bool operator()(const TLBI &LHS, const KeyType &RHS) const {
11432 if (LHS.Encoding < RHS.Encoding)
11433 return true;
11434 if (LHS.Encoding > RHS.Encoding)
11435 return false;
11436 return false;
11437 }
11438 };
11439 auto Table = ArrayRef(TLBITable);
11440 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
11441 if (Idx == Table.end() ||
11442 Key.Encoding != Idx->Encoding)
11443 return nullptr;
11444
11445 return &*Idx;
11446}
11447
11448const TLBI *lookupTLBIByName(StringRef Name) {
11449 struct IndexType {
11450 unsigned Name;
11451 unsigned _index;
11452 };
11453 static const struct IndexType Index[] = {
11454 { 880 /* "ALLE1" */, 93 },
11455 { 706 /* "ALLE1IS" */, 74 },
11456 { 1633 /* "ALLE1ISNXS" */, 110 },
11457 { 1644 /* "ALLE1NXS" */, 129 },
11458 { 632 /* "ALLE1OS" */, 66 },
11459 { 1653 /* "ALLE1OSNXS" */, 102 },
11460 { 869 /* "ALLE2" */, 91 },
11461 { 691 /* "ALLE2IS" */, 72 },
11462 { 1664 /* "ALLE2ISNXS" */, 108 },
11463 { 1675 /* "ALLE2NXS" */, 127 },
11464 { 617 /* "ALLE2OS" */, 64 },
11465 { 1684 /* "ALLE2OSNXS" */, 100 },
11466 { 1455 /* "ALLE3" */, 147 },
11467 { 1389 /* "ALLE3IS" */, 138 },
11468 { 1695 /* "ALLE3ISNXS" */, 156 },
11469 { 1706 /* "ALLE3NXS" */, 163 },
11470 { 1341 /* "ALLE3OS" */, 132 },
11471 { 1715 /* "ALLE3OSNXS" */, 151 },
11472 { 216 /* "ASIDE1" */, 26 },
11473 { 105 /* "ASIDE1IS" */, 12 },
11474 { 1726 /* "ASIDE1ISNXS" */, 42 },
11475 { 1738 /* "ASIDE1NXS" */, 56 },
11476 { 18 /* "ASIDE1OS" */, 2 },
11477 { 1748 /* "ASIDE1OSNXS" */, 32 },
11478 { 745 /* "IPAS2E1" */, 78 },
11479 { 573 /* "IPAS2E1IS" */, 60 },
11480 { 1760 /* "IPAS2E1ISNXS" */, 96 },
11481 { 1773 /* "IPAS2E1NXS" */, 114 },
11482 { 735 /* "IPAS2E1OS" */, 77 },
11483 { 1784 /* "IPAS2E1OSNXS" */, 113 },
11484 { 784 /* "IPAS2LE1" */, 82 },
11485 { 594 /* "IPAS2LE1IS" */, 62 },
11486 { 1797 /* "IPAS2LE1ISNXS" */, 98 },
11487 { 1811 /* "IPAS2LE1NXS" */, 118 },
11488 { 773 /* "IPAS2LE1OS" */, 81 },
11489 { 1823 /* "IPAS2LE1OSNXS" */, 117 },
11490 { 1466 /* "PAALL" */, 149 },
11491 { 1356 /* "PAALLOS" */, 134 },
11492 { 753 /* "RIPAS2E1" */, 79 },
11493 { 583 /* "RIPAS2E1IS" */, 61 },
11494 { 1837 /* "RIPAS2E1ISNXS" */, 97 },
11495 { 1851 /* "RIPAS2E1NXS" */, 115 },
11496 { 762 /* "RIPAS2E1OS" */, 80 },
11497 { 1863 /* "RIPAS2E1OSNXS" */, 116 },
11498 { 793 /* "RIPAS2LE1" */, 83 },
11499 { 605 /* "RIPAS2LE1IS" */, 63 },
11500 { 1877 /* "RIPAS2LE1ISNXS" */, 99 },
11501 { 1892 /* "RIPAS2LE1NXS" */, 119 },
11502 { 803 /* "RIPAS2LE1OS" */, 84 },
11503 { 1905 /* "RIPAS2LE1OSNXS" */, 120 },
11504 { 1418 /* "RPALOS" */, 142 },
11505 { 1412 /* "RPAOS" */, 141 },
11506 { 181 /* "RVAAE1" */, 21 },
11507 { 60 /* "RVAAE1IS" */, 7 },
11508 { 1920 /* "RVAAE1ISNXS" */, 37 },
11509 { 1932 /* "RVAAE1NXS" */, 51 },
11510 { 147 /* "RVAAE1OS" */, 17 },
11511 { 1942 /* "RVAAE1OSNXS" */, 47 },
11512 { 195 /* "RVAALE1" */, 23 },
11513 { 78 /* "RVAALE1IS" */, 9 },
11514 { 1954 /* "RVAALE1ISNXS" */, 39 },
11515 { 1967 /* "RVAALE1NXS" */, 53 },
11516 { 165 /* "RVAALE1OS" */, 19 },
11517 { 1978 /* "RVAALE1OSNXS" */, 49 },
11518 { 175 /* "RVAE1" */, 20 },
11519 { 52 /* "RVAE1IS" */, 6 },
11520 { 1991 /* "RVAE1ISNXS" */, 36 },
11521 { 2002 /* "RVAE1NXS" */, 50 },
11522 { 139 /* "RVAE1OS" */, 16 },
11523 { 2011 /* "RVAE1OSNXS" */, 46 },
11524 { 845 /* "RVAE2" */, 88 },
11525 { 661 /* "RVAE2IS" */, 69 },
11526 { 2022 /* "RVAE2ISNXS" */, 105 },
11527 { 2033 /* "RVAE2NXS" */, 124 },
11528 { 815 /* "RVAE2OS" */, 85 },
11529 { 2042 /* "RVAE2OSNXS" */, 121 },
11530 { 1442 /* "RVAE3" */, 145 },
11531 { 1372 /* "RVAE3IS" */, 136 },
11532 { 2053 /* "RVAE3ISNXS" */, 154 },
11533 { 2064 /* "RVAE3NXS" */, 161 },
11534 { 1425 /* "RVAE3OS" */, 143 },
11535 { 2073 /* "RVAE3OSNXS" */, 159 },
11536 { 188 /* "RVALE1" */, 22 },
11537 { 69 /* "RVALE1IS" */, 8 },
11538 { 2084 /* "RVALE1ISNXS" */, 38 },
11539 { 2096 /* "RVALE1NXS" */, 52 },
11540 { 156 /* "RVALE1OS" */, 18 },
11541 { 2106 /* "RVALE1OSNXS" */, 48 },
11542 { 862 /* "RVALE2" */, 90 },
11543 { 682 /* "RVALE2IS" */, 71 },
11544 { 2118 /* "RVALE2ISNXS" */, 107 },
11545 { 2130 /* "RVALE2NXS" */, 126 },
11546 { 836 /* "RVALE2OS" */, 87 },
11547 { 2140 /* "RVALE2OSNXS" */, 123 },
11548 { 1448 /* "RVALE3" */, 146 },
11549 { 1380 /* "RVALE3IS" */, 137 },
11550 { 2152 /* "RVALE3ISNXS" */, 155 },
11551 { 2164 /* "RVALE3NXS" */, 162 },
11552 { 1433 /* "RVALE3OS" */, 144 },
11553 { 2174 /* "RVALE3OSNXS" */, 160 },
11554 { 223 /* "VAAE1" */, 27 },
11555 { 114 /* "VAAE1IS" */, 13 },
11556 { 2186 /* "VAAE1ISNXS" */, 43 },
11557 { 2197 /* "VAAE1NXS" */, 57 },
11558 { 27 /* "VAAE1OS" */, 3 },
11559 { 2206 /* "VAAE1OSNXS" */, 33 },
11560 { 235 /* "VAALE1" */, 29 },
11561 { 130 /* "VAALE1IS" */, 15 },
11562 { 2217 /* "VAALE1ISNXS" */, 45 },
11563 { 2229 /* "VAALE1NXS" */, 59 },
11564 { 43 /* "VAALE1OS" */, 5 },
11565 { 2239 /* "VAALE1OSNXS" */, 35 },
11566 { 211 /* "VAE1" */, 25 },
11567 { 98 /* "VAE1IS" */, 11 },
11568 { 2251 /* "VAE1ISNXS" */, 41 },
11569 { 2261 /* "VAE1NXS" */, 55 },
11570 { 11 /* "VAE1OS" */, 1 },
11571 { 2269 /* "VAE1OSNXS" */, 31 },
11572 { 875 /* "VAE2" */, 92 },
11573 { 699 /* "VAE2IS" */, 73 },
11574 { 2279 /* "VAE2ISNXS" */, 109 },
11575 { 2289 /* "VAE2NXS" */, 128 },
11576 { 625 /* "VAE2OS" */, 65 },
11577 { 2297 /* "VAE2OSNXS" */, 101 },
11578 { 1461 /* "VAE3" */, 148 },
11579 { 1397 /* "VAE3IS" */, 139 },
11580 { 2307 /* "VAE3ISNXS" */, 157 },
11581 { 2317 /* "VAE3NXS" */, 164 },
11582 { 1349 /* "VAE3OS" */, 133 },
11583 { 2325 /* "VAE3OSNXS" */, 152 },
11584 { 229 /* "VALE1" */, 28 },
11585 { 122 /* "VALE1IS" */, 14 },
11586 { 2335 /* "VALE1ISNXS" */, 44 },
11587 { 2346 /* "VALE1NXS" */, 58 },
11588 { 35 /* "VALE1OS" */, 4 },
11589 { 2355 /* "VALE1OSNXS" */, 34 },
11590 { 886 /* "VALE2" */, 94 },
11591 { 714 /* "VALE2IS" */, 75 },
11592 { 2366 /* "VALE2ISNXS" */, 111 },
11593 { 2377 /* "VALE2NXS" */, 130 },
11594 { 640 /* "VALE2OS" */, 67 },
11595 { 2386 /* "VALE2OSNXS" */, 103 },
11596 { 1472 /* "VALE3" */, 150 },
11597 { 1404 /* "VALE3IS" */, 140 },
11598 { 2397 /* "VALE3ISNXS" */, 158 },
11599 { 2408 /* "VALE3NXS" */, 165 },
11600 { 1364 /* "VALE3OS" */, 135 },
11601 { 2417 /* "VALE3OSNXS" */, 153 },
11602 { 203 /* "VMALLE1" */, 24 },
11603 { 88 /* "VMALLE1IS" */, 10 },
11604 { 2428 /* "VMALLE1ISNXS" */, 40 },
11605 { 2441 /* "VMALLE1NXS" */, 54 },
11606 { 1 /* "VMALLE1OS" */, 0 },
11607 { 2452 /* "VMALLE1OSNXS" */, 30 },
11608 { 892 /* "VMALLS12E1" */, 95 },
11609 { 722 /* "VMALLS12E1IS" */, 76 },
11610 { 2465 /* "VMALLS12E1ISNXS" */, 112 },
11611 { 2481 /* "VMALLS12E1NXS" */, 131 },
11612 { 648 /* "VMALLS12E1OS" */, 68 },
11613 { 2495 /* "VMALLS12E1OSNXS" */, 104 },
11614 { 851 /* "VMALLWS2E1" */, 89 },
11615 { 669 /* "VMALLWS2E1IS" */, 70 },
11616 { 2511 /* "VMALLWS2E1ISNXS" */, 106 },
11617 { 2527 /* "VMALLWS2E1NXS" */, 125 },
11618 { 823 /* "VMALLWS2E1OS" */, 86 },
11619 { 2541 /* "VMALLWS2E1OSNXS" */, 122 },
11620 };
11621
11622 struct KeyType {
11623 std::string Name;
11624 };
11625 KeyType Key = {Name.upper()};
11626 struct Comp {
11627 bool operator()(const IndexType &LHS, const KeyType &RHS) const {
11628 StringRef LHSNameStr = TLBITableStrings[LHS.Name];
11629 StringRef RHSNameStr = RHS.Name;
11630 int CmpName = LHSNameStr.compare(RHSNameStr);
11631 if (CmpName < 0) return true;
11632 if (CmpName > 0) return false;
11633 return false;
11634 }
11635 };
11636 auto Table = ArrayRef(Index);
11637 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
11638 if (Idx == Table.end() ||
11639 Key.Name != TLBITableStrings[Idx->Name])
11640 return nullptr;
11641
11642 return &TLBITable[Idx->_index];
11643}
11644#endif
11645
11646#ifdef GET_TINDEX_DECL
11647const TIndex *lookupTIndexByName(StringRef Name);
11648const TIndex *lookupTIndexByEncoding(uint8_t Encoding);
11649StringRef getTIndexStr(StringTable::Offset);
11650#endif
11651
11652#ifdef GET_TINDEX_IMPL
11653constexpr TIndex TIndexsList[] = {
11654 { 1 /* "nb" */, 0x1 }, // 0
11655 };
11656
11657#ifdef __GNUC__
11658#pragma GCC diagnostic push
11659#pragma GCC diagnostic ignored "-Woverlength-strings"
11660#endif
11661static constexpr char TIndexsListStringsStorage[] =
11662 "\0"
11663 "nb\0"
11664 "NB\0"
11665 ;
11666#ifdef __GNUC__
11667#pragma GCC diagnostic pop
11668#endif
11669
11670static constexpr llvm::StringTable
11671TIndexsListStrings = TIndexsListStringsStorage;
11672
11673StringRef getTIndexStr(StringTable::Offset Offset) {
11674 return TIndexsListStrings[Offset];
11675}
11676
11677const TIndex *lookupTIndexByName(StringRef Name) {
11678 struct IndexType {
11679 unsigned Name;
11680 unsigned _index;
11681 };
11682 static const struct IndexType Index[] = {
11683 { 4 /* "NB" */, 0 },
11684 };
11685
11686 struct KeyType {
11687 std::string Name;
11688 };
11689 KeyType Key = {Name.upper()};
11690 struct Comp {
11691 bool operator()(const IndexType &LHS, const KeyType &RHS) const {
11692 StringRef LHSNameStr = TIndexsListStrings[LHS.Name];
11693 StringRef RHSNameStr = RHS.Name;
11694 int CmpName = LHSNameStr.compare(RHSNameStr);
11695 if (CmpName < 0) return true;
11696 if (CmpName > 0) return false;
11697 return false;
11698 }
11699 };
11700 auto Table = ArrayRef(Index);
11701 auto Idx = std::lower_bound(Table.begin(), Table.end(), Key, Comp());
11702 if (Idx == Table.end() ||
11703 Key.Name != TIndexsListStrings[Idx->Name])
11704 return nullptr;
11705
11706 return &TIndexsList[Idx->_index];
11707}
11708
11709const TIndex *lookupTIndexByEncoding(uint8_t Encoding) {
11710 struct IndexType {
11711 uint8_t Encoding;
11712 unsigned _index;
11713 };
11714 static const struct IndexType Index[] = {
11715 { 0x1, 0 },
11716 };
11717
11718 if ((uint8_t)Encoding != std::clamp<uint8_t>(Encoding, 0x1, 0x1))
11719 return nullptr;
11720
11721 auto Table = ArrayRef(Index);
11722 size_t Idx = Encoding - 0x1;
11723 return &TIndexsList[Table[Idx]._index];
11724}
11725#endif
11726
11727#undef GET_ATValues_DECL
11728#undef GET_ATsList_DECL
11729#undef GET_ATsList_IMPL
11730#undef GET_DBValues_DECL
11731#undef GET_DBnXSValues_DECL
11732#undef GET_DBnXSsList_DECL
11733#undef GET_DBnXSsList_IMPL
11734#undef GET_DBsList_DECL
11735#undef GET_DBsList_IMPL
11736#undef GET_DCValues_DECL
11737#undef GET_DCsList_DECL
11738#undef GET_DCsList_IMPL
11739#undef GET_ExactFPImmValues_DECL
11740#undef GET_ExactFPImmsList_DECL
11741#undef GET_ExactFPImmsList_IMPL
11742#undef GET_GICRTable_DECL
11743#undef GET_GICRTable_IMPL
11744#undef GET_GICTable_DECL
11745#undef GET_GICTable_IMPL
11746#undef GET_GSBTable_DECL
11747#undef GET_GSBTable_IMPL
11748#undef GET_ICValues_DECL
11749#undef GET_ICsList_DECL
11750#undef GET_ICsList_IMPL
11751#undef GET_ISBValues_DECL
11752#undef GET_ISBsList_DECL
11753#undef GET_ISBsList_IMPL
11754#undef GET_LFIVariantTable_DECL
11755#undef GET_LFIVariantTable_IMPL
11756#undef GET_MemInfoTable_DECL
11757#undef GET_MemInfoTable_IMPL
11758#undef GET_PLBITable_DECL
11759#undef GET_PLBITable_IMPL
11760#undef GET_PRFMValues_DECL
11761#undef GET_PRFMsList_DECL
11762#undef GET_PRFMsList_IMPL
11763#undef GET_PStateImm0_15Values_DECL
11764#undef GET_PStateImm0_15sList_DECL
11765#undef GET_PStateImm0_15sList_IMPL
11766#undef GET_PStateImm0_1Values_DECL
11767#undef GET_PStateImm0_1sList_DECL
11768#undef GET_PStateImm0_1sList_IMPL
11769#undef GET_PairVariantTable_DECL
11770#undef GET_PairVariantTable_IMPL
11771#undef GET_RPRFMValues_DECL
11772#undef GET_RPRFMsList_DECL
11773#undef GET_RPRFMsList_IMPL
11774#undef GET_SIMDPostTable_DECL
11775#undef GET_SIMDPostTable_IMPL
11776#undef GET_SVCRValues_DECL
11777#undef GET_SVCRsList_DECL
11778#undef GET_SVCRsList_IMPL
11779#undef GET_SVEPREDPATValues_DECL
11780#undef GET_SVEPREDPATsList_DECL
11781#undef GET_SVEPREDPATsList_IMPL
11782#undef GET_SVEPRFMValues_DECL
11783#undef GET_SVEPRFMsList_DECL
11784#undef GET_SVEPRFMsList_IMPL
11785#undef GET_SVEVECLENSPECIFIERValues_DECL
11786#undef GET_SVEVECLENSPECIFIERsList_DECL
11787#undef GET_SVEVECLENSPECIFIERsList_IMPL
11788#undef GET_SysAliasRegUse_DECL
11789#undef GET_SysRegValues_DECL
11790#undef GET_SysRegsList_DECL
11791#undef GET_SysRegsList_IMPL
11792#undef GET_TINDEX_DECL
11793#undef GET_TINDEX_IMPL
11794#undef GET_TLBIPTable_DECL
11795#undef GET_TLBIPTable_IMPL
11796#undef GET_TLBITable_DECL
11797#undef GET_TLBITable_IMPL
11798