1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Target Register Enum Values *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9namespace llvm {
10
11class MCRegisterClass;
12extern const MCRegisterClass HexagonMCRegisterClasses[];
13
14namespace Hexagon {
15
16enum : unsigned {
17 NoRegister,
18 BADVA = 1,
19 CCR = 2,
20 CFGBASE = 3,
21 CS = 4,
22 DIAG = 5,
23 ELR = 6,
24 EVB = 7,
25 FRAMEKEY = 8,
26 FRAMELIMIT = 9,
27 GELR = 10,
28 GOSP = 11,
29 GP = 12,
30 GPCYCLEHI = 13,
31 GPCYCLELO = 14,
32 GSR = 15,
33 HTID = 16,
34 IMASK = 17,
35 ISDBEN = 18,
36 ISDBGPR = 19,
37 ISDBMBXIN = 20,
38 ISDBMBXOUT = 21,
39 ISDBST = 22,
40 MODECTL = 23,
41 PC = 24,
42 PCYCLEHI = 25,
43 PCYCLELO = 26,
44 PKTCOUNT = 27,
45 PKTCOUNTHI = 28,
46 PKTCOUNTLO = 29,
47 PMUCFG = 30,
48 PMUEVTCFG = 31,
49 REV = 32,
50 SSR = 33,
51 STID = 34,
52 SYSCFG = 35,
53 UGP = 36,
54 UPCYCLE = 37,
55 UPCYCLEHI = 38,
56 UPCYCLELO = 39,
57 USR = 40,
58 USR_OVF = 41,
59 UTIMER = 42,
60 UTIMERHI = 43,
61 UTIMERLO = 44,
62 VID = 45,
63 VTMP = 46,
64 BADVA0 = 47,
65 BADVA1 = 48,
66 BRKPTCFG0 = 49,
67 BRKPTCFG1 = 50,
68 BRKPTPC0 = 51,
69 BRKPTPC1 = 52,
70 C5 = 53,
71 C8 = 54,
72 CS0 = 55,
73 CS1 = 56,
74 D0 = 57,
75 D1 = 58,
76 D2 = 59,
77 D3 = 60,
78 D4 = 61,
79 D5 = 62,
80 D6 = 63,
81 D7 = 64,
82 D8 = 65,
83 D9 = 66,
84 D10 = 67,
85 D11 = 68,
86 D12 = 69,
87 D13 = 70,
88 D14 = 71,
89 D15 = 72,
90 G3 = 73,
91 G4 = 74,
92 G5 = 75,
93 G6 = 76,
94 G7 = 77,
95 G8 = 78,
96 G9 = 79,
97 G10 = 80,
98 G11 = 81,
99 G12 = 82,
100 G13 = 83,
101 G14 = 84,
102 G15 = 85,
103 G20 = 86,
104 G21 = 87,
105 G22 = 88,
106 G23 = 89,
107 G30 = 90,
108 G31 = 91,
109 GPMUCNT0 = 92,
110 GPMUCNT1 = 93,
111 GPMUCNT2 = 94,
112 GPMUCNT3 = 95,
113 GPMUCNT4 = 96,
114 GPMUCNT5 = 97,
115 GPMUCNT6 = 98,
116 GPMUCNT7 = 99,
117 ISDBCFG0 = 100,
118 ISDBCFG1 = 101,
119 LC0 = 102,
120 LC1 = 103,
121 M0 = 104,
122 M1 = 105,
123 P0 = 106,
124 P1 = 107,
125 P2 = 108,
126 P3 = 109,
127 PMUCNT0 = 110,
128 PMUCNT1 = 111,
129 PMUCNT2 = 112,
130 PMUCNT3 = 113,
131 Q0 = 114,
132 Q1 = 115,
133 Q2 = 116,
134 Q3 = 117,
135 R0 = 118,
136 R1 = 119,
137 R2 = 120,
138 R3 = 121,
139 R4 = 122,
140 R5 = 123,
141 R6 = 124,
142 R7 = 125,
143 R8 = 126,
144 R9 = 127,
145 R10 = 128,
146 R11 = 129,
147 R12 = 130,
148 R13 = 131,
149 R14 = 132,
150 R15 = 133,
151 R16 = 134,
152 R17 = 135,
153 R18 = 136,
154 R19 = 137,
155 R20 = 138,
156 R21 = 139,
157 R22 = 140,
158 R23 = 141,
159 R24 = 142,
160 R25 = 143,
161 R26 = 144,
162 R27 = 145,
163 R28 = 146,
164 R29 = 147,
165 R30 = 148,
166 R31 = 149,
167 S11 = 150,
168 S12 = 151,
169 S13 = 152,
170 S14 = 153,
171 S15 = 154,
172 S19 = 155,
173 S20 = 156,
174 S22 = 157,
175 S23 = 158,
176 S24 = 159,
177 S25 = 160,
178 S26 = 161,
179 S35 = 162,
180 S44 = 163,
181 S45 = 164,
182 S46 = 165,
183 S47 = 166,
184 S54 = 167,
185 S55 = 168,
186 S56 = 169,
187 S57 = 170,
188 S58 = 171,
189 S59 = 172,
190 S60 = 173,
191 S61 = 174,
192 S62 = 175,
193 S63 = 176,
194 S64 = 177,
195 S65 = 178,
196 S66 = 179,
197 S67 = 180,
198 S68 = 181,
199 S69 = 182,
200 S70 = 183,
201 S71 = 184,
202 S72 = 185,
203 S73 = 186,
204 S74 = 187,
205 S75 = 188,
206 S76 = 189,
207 S77 = 190,
208 S78 = 191,
209 S79 = 192,
210 S80 = 193,
211 SA0 = 194,
212 SA1 = 195,
213 SGP0 = 196,
214 SGP1 = 197,
215 V0 = 198,
216 V1 = 199,
217 V2 = 200,
218 V3 = 201,
219 V4 = 202,
220 V5 = 203,
221 V6 = 204,
222 V7 = 205,
223 V8 = 206,
224 V9 = 207,
225 V10 = 208,
226 V11 = 209,
227 V12 = 210,
228 V13 = 211,
229 V14 = 212,
230 V15 = 213,
231 V16 = 214,
232 V17 = 215,
233 V18 = 216,
234 V19 = 217,
235 V20 = 218,
236 V21 = 219,
237 V22 = 220,
238 V23 = 221,
239 V24 = 222,
240 V25 = 223,
241 V26 = 224,
242 V27 = 225,
243 V28 = 226,
244 V29 = 227,
245 V30 = 228,
246 V31 = 229,
247 VF0 = 230,
248 VF1 = 231,
249 VF2 = 232,
250 VF3 = 233,
251 VF4 = 234,
252 VF5 = 235,
253 VF6 = 236,
254 VF7 = 237,
255 VF8 = 238,
256 VF9 = 239,
257 VF10 = 240,
258 VF11 = 241,
259 VF12 = 242,
260 VF13 = 243,
261 VF14 = 244,
262 VF15 = 245,
263 VF16 = 246,
264 VF17 = 247,
265 VF18 = 248,
266 VF19 = 249,
267 VF20 = 250,
268 VF21 = 251,
269 VF22 = 252,
270 VF23 = 253,
271 VF24 = 254,
272 VF25 = 255,
273 VF26 = 256,
274 VF27 = 257,
275 VF28 = 258,
276 VF29 = 259,
277 VF30 = 260,
278 VF31 = 261,
279 VFR0 = 262,
280 VFR1 = 263,
281 VFR2 = 264,
282 VFR3 = 265,
283 VFR4 = 266,
284 VFR5 = 267,
285 VFR6 = 268,
286 VFR7 = 269,
287 VFR8 = 270,
288 VFR9 = 271,
289 VFR10 = 272,
290 VFR11 = 273,
291 VFR12 = 274,
292 VFR13 = 275,
293 VFR14 = 276,
294 VFR15 = 277,
295 VFR16 = 278,
296 VFR17 = 279,
297 VFR18 = 280,
298 VFR19 = 281,
299 VFR20 = 282,
300 VFR21 = 283,
301 VFR22 = 284,
302 VFR23 = 285,
303 VFR24 = 286,
304 VFR25 = 287,
305 VFR26 = 288,
306 VFR27 = 289,
307 VFR28 = 290,
308 VFR29 = 291,
309 VFR30 = 292,
310 VFR31 = 293,
311 VQ0 = 294,
312 VQ1 = 295,
313 VQ2 = 296,
314 VQ3 = 297,
315 VQ4 = 298,
316 VQ5 = 299,
317 VQ6 = 300,
318 VQ7 = 301,
319 W0 = 302,
320 W1 = 303,
321 W2 = 304,
322 W3 = 305,
323 W4 = 306,
324 W5 = 307,
325 W6 = 308,
326 W7 = 309,
327 W8 = 310,
328 W9 = 311,
329 W10 = 312,
330 W11 = 313,
331 W12 = 314,
332 W13 = 315,
333 W14 = 316,
334 W15 = 317,
335 WR0 = 318,
336 WR1 = 319,
337 WR2 = 320,
338 WR3 = 321,
339 WR4 = 322,
340 WR5 = 323,
341 WR6 = 324,
342 WR7 = 325,
343 WR8 = 326,
344 WR9 = 327,
345 WR10 = 328,
346 WR11 = 329,
347 WR12 = 330,
348 WR13 = 331,
349 WR14 = 332,
350 WR15 = 333,
351 C1_0 = 334,
352 C3_2 = 335,
353 C5_4 = 336,
354 C7_6 = 337,
355 C9_8 = 338,
356 C11_10 = 339,
357 C17_16 = 340,
358 G1_0 = 341,
359 G3_2 = 342,
360 G5_4 = 343,
361 G7_6 = 344,
362 G9_8 = 345,
363 G11_10 = 346,
364 G13_12 = 347,
365 G15_14 = 348,
366 G17_16 = 349,
367 G19_18 = 350,
368 G21_20 = 351,
369 G23_22 = 352,
370 G25_24 = 353,
371 G27_26 = 354,
372 G29_28 = 355,
373 G31_30 = 356,
374 P3_0 = 357,
375 S3_2 = 358,
376 S5_4 = 359,
377 S7_6 = 360,
378 S9_8 = 361,
379 S11_10 = 362,
380 S13_12 = 363,
381 S15_14 = 364,
382 S17_16 = 365,
383 S19_18 = 366,
384 S21_20 = 367,
385 S23_22 = 368,
386 S25_24 = 369,
387 S27_26 = 370,
388 S29_28 = 371,
389 S31_30 = 372,
390 S33_32 = 373,
391 S35_34 = 374,
392 S37_36 = 375,
393 S39_38 = 376,
394 S41_40 = 377,
395 S43_42 = 378,
396 S45_44 = 379,
397 S47_46 = 380,
398 S49_48 = 381,
399 S51_50 = 382,
400 S53_52 = 383,
401 S55_54 = 384,
402 S57_56 = 385,
403 S59_58 = 386,
404 S61_60 = 387,
405 S63_62 = 388,
406 S65_64 = 389,
407 S67_66 = 390,
408 S69_68 = 391,
409 S71_70 = 392,
410 S73_72 = 393,
411 S75_74 = 394,
412 S77_76 = 395,
413 S79_78 = 396,
414 SGP1_0 = 397,
415 NUM_TARGET_REGS // 398
416};
417
418} // namespace Hexagon
419
420// Register classes
421
422namespace Hexagon {
423
424enum {
425 UsrBitsRegClassID = 0,
426 SysRegsRegClassID = 1,
427 GuestRegsRegClassID = 2,
428 IntRegsRegClassID = 3,
429 CtrRegsRegClassID = 4,
430 GeneralSubRegsRegClassID = 5,
431 V62RegsRegClassID = 6,
432 IntRegsLow8RegClassID = 7,
433 CtrRegs_and_V62RegsRegClassID = 8,
434 PredRegsRegClassID = 9,
435 V62Regs_with_isub_hiRegClassID = 10,
436 ModRegsRegClassID = 11,
437 CtrRegs_with_subreg_overflowRegClassID = 12,
438 V65RegsRegClassID = 13,
439 SysRegs64RegClassID = 14,
440 DoubleRegsRegClassID = 15,
441 GuestRegs64RegClassID = 16,
442 VectRegRevRegClassID = 17,
443 CtrRegs64RegClassID = 18,
444 GeneralDoubleLow8RegsRegClassID = 19,
445 DoubleRegs_with_isub_hi_in_IntRegsLow8RegClassID = 20,
446 CtrRegs64_and_V62RegsRegClassID = 21,
447 CtrRegs64_with_isub_hi_in_ModRegsRegClassID = 22,
448 HvxQRRegClassID = 23,
449 HvxVRRegClassID = 24,
450 HvxVR_and_V65RegsRegClassID = 25,
451 HvxWRRegClassID = 26,
452 HvxWR_and_VectRegRevRegClassID = 27,
453 HvxVQRRegClassID = 28,
454
455};
456
457} // namespace Hexagon
458
459// Subregister indices
460
461namespace Hexagon {
462
463enum : uint16_t {
464 NoSubRegister,
465 isub_hi, // 1
466 isub_lo, // 2
467 subreg_overflow, // 3
468 vsub_fake, // 4
469 vsub_hi, // 5
470 vsub_lo, // 6
471 wsub_hi, // 7
472 wsub_lo, // 8
473 wsub_hi_then_vsub_fake, // 9
474 wsub_hi_then_vsub_hi, // 10
475 wsub_hi_then_vsub_lo, // 11
476 NUM_TARGET_SUBREGS
477};
478
479} // namespace Hexagon
480// Register pressure sets enum.
481namespace Hexagon {
482
483enum RegisterPressureSets {
484 HvxVR_and_V65Regs = 0,
485 ModRegs = 1,
486 HvxQR = 2,
487 IntRegsLow8 = 3,
488 PredRegs = 4,
489 GeneralSubRegs = 5,
490 IntRegs = 6,
491 HvxVR = 7,
492};
493
494} // namespace Hexagon
495
496} // namespace llvm
497