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