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 {
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} // end namespace Hexagon
417
418// Register classes
419
420namespace Hexagon {
421enum {
422 UsrBitsRegClassID = 0,
423 SysRegsRegClassID = 1,
424 GuestRegsRegClassID = 2,
425 IntRegsRegClassID = 3,
426 CtrRegsRegClassID = 4,
427 GeneralSubRegsRegClassID = 5,
428 V62RegsRegClassID = 6,
429 IntRegsLow8RegClassID = 7,
430 CtrRegs_and_V62RegsRegClassID = 8,
431 PredRegsRegClassID = 9,
432 V62Regs_with_isub_hiRegClassID = 10,
433 ModRegsRegClassID = 11,
434 CtrRegs_with_subreg_overflowRegClassID = 12,
435 V65RegsRegClassID = 13,
436 SysRegs64RegClassID = 14,
437 DoubleRegsRegClassID = 15,
438 GuestRegs64RegClassID = 16,
439 VectRegRevRegClassID = 17,
440 CtrRegs64RegClassID = 18,
441 GeneralDoubleLow8RegsRegClassID = 19,
442 DoubleRegs_with_isub_hi_in_IntRegsLow8RegClassID = 20,
443 CtrRegs64_and_V62RegsRegClassID = 21,
444 CtrRegs64_with_isub_hi_in_ModRegsRegClassID = 22,
445 HvxQRRegClassID = 23,
446 HvxVRRegClassID = 24,
447 HvxVR_and_V65RegsRegClassID = 25,
448 HvxWRRegClassID = 26,
449 HvxWR_and_VectRegRevRegClassID = 27,
450 HvxVQRRegClassID = 28,
451
452};
453} // end namespace Hexagon
454
455
456// Subregister indices
457
458namespace Hexagon {
459enum : uint16_t {
460 NoSubRegister,
461 isub_hi, // 1
462 isub_lo, // 2
463 subreg_overflow, // 3
464 vsub_fake, // 4
465 vsub_hi, // 5
466 vsub_lo, // 6
467 wsub_hi, // 7
468 wsub_lo, // 8
469 wsub_hi_then_vsub_fake, // 9
470 wsub_hi_then_vsub_hi, // 10
471 wsub_hi_then_vsub_lo, // 11
472 NUM_TARGET_SUBREGS
473};
474} // end namespace Hexagon
475
476// Register pressure sets enum.
477namespace Hexagon {
478enum RegisterPressureSets {
479 HvxVR_and_V65Regs = 0,
480 ModRegs = 1,
481 HvxQR = 2,
482 IntRegsLow8 = 3,
483 PredRegs = 4,
484 GeneralSubRegs = 5,
485 IntRegs = 6,
486 HvxVR = 7,
487};
488} // end namespace Hexagon
489
490} // end namespace llvm
491
492