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 &getAVRMCRegisterClass(unsigned RC);
13namespace AVR {
14
15enum : unsigned {
16 NoRegister,
17 SP = 1,
18 SPH = 2,
19 SPL = 3,
20 SREG = 4,
21 R0 = 5,
22 R1 = 6,
23 R2 = 7,
24 R3 = 8,
25 R4 = 9,
26 R5 = 10,
27 R6 = 11,
28 R7 = 12,
29 R8 = 13,
30 R9 = 14,
31 R10 = 15,
32 R11 = 16,
33 R12 = 17,
34 R13 = 18,
35 R14 = 19,
36 R15 = 20,
37 R16 = 21,
38 R17 = 22,
39 R18 = 23,
40 R19 = 24,
41 R20 = 25,
42 R21 = 26,
43 R22 = 27,
44 R23 = 28,
45 R24 = 29,
46 R25 = 30,
47 R26 = 31,
48 R27 = 32,
49 R28 = 33,
50 R29 = 34,
51 R30 = 35,
52 R31 = 36,
53 R1R0 = 37,
54 R3R2 = 38,
55 R5R4 = 39,
56 R7R6 = 40,
57 R9R8 = 41,
58 R10R9 = 42,
59 R11R10 = 43,
60 R12R11 = 44,
61 R13R12 = 45,
62 R14R13 = 46,
63 R15R14 = 47,
64 R16R15 = 48,
65 R17R16 = 49,
66 R18R17 = 50,
67 R19R18 = 51,
68 R20R19 = 52,
69 R21R20 = 53,
70 R22R21 = 54,
71 R23R22 = 55,
72 R24R23 = 56,
73 R25R24 = 57,
74 R26R25 = 58,
75 R27R26 = 59,
76 R29R28 = 60,
77 R31R30 = 61,
78 NUM_TARGET_REGS // 62
79};
80
81} // namespace AVR
82
83// Register classes
84
85namespace AVR {
86
87enum {
88 GPR8RegClassID = 0,
89 GPR8NOZRegClassID = 1,
90 GPR8loRegClassID = 2,
91 LD8RegClassID = 3,
92 GPR8NOZ_and_LD8RegClassID = 4,
93 LD8loRegClassID = 5,
94 CCRRegClassID = 6,
95 DREGSRegClassID = 7,
96 DREGSNOZRegClassID = 8,
97 DREGSMOVWRegClassID = 9,
98 DREGSMOVW_and_DREGSNOZRegClassID = 10,
99 DREGS_with_sub_hi_in_LD8RegClassID = 11,
100 DREGSNOZ_and_DREGS_with_sub_hi_in_LD8RegClassID = 12,
101 DREGS_with_sub_lo_in_LD8RegClassID = 13,
102 DREGSNOZ_and_DREGS_with_sub_lo_in_LD8RegClassID = 14,
103 DREGS_with_sub_lo_in_GPR8loRegClassID = 15,
104 DREGS_with_sub_hi_in_GPR8loRegClassID = 16,
105 DLDREGSRegClassID = 17,
106 DREGS_with_sub_hi_in_LD8loRegClassID = 18,
107 DREGS_with_sub_lo_in_LD8loRegClassID = 19,
108 DREGSloRegClassID = 20,
109 DLDREGS_and_DREGSNOZRegClassID = 21,
110 DREGS_with_sub_hi_in_LD8lo_and_DREGS_with_sub_lo_in_LD8RegClassID = 22,
111 DREGSLD8loRegClassID = 23,
112 IWREGSRegClassID = 24,
113 DREGSNOZ_and_IWREGSRegClassID = 25,
114 PTRREGSRegClassID = 26,
115 DREGSNOZ_and_PTRREGSRegClassID = 27,
116 PTRDISPREGSRegClassID = 28,
117 DREGSNOZ_and_PTRDISPREGSRegClassID = 29,
118 DREGS_with_sub_hi_in_LD8_and_DREGS_with_sub_lo_in_GPR8loRegClassID = 30,
119 GPRSPRegClassID = 31,
120 ZREGRegClassID = 32,
121
122};
123
124} // namespace AVR
125
126// Register alternate name indices
127
128namespace AVR {
129
130enum {
131 NoRegAltName, // 0
132 ptr, // 1
133 NUM_TARGET_REG_ALT_NAMES = 2
134};
135
136} // namespace AVR
137
138// Subregister indices
139
140namespace AVR {
141
142enum : uint16_t {
143 NoSubRegister,
144 sub_hi, // 1
145 sub_lo, // 2
146 NUM_TARGET_SUBREGS
147};
148
149} // namespace AVR
150// Register pressure sets enum.
151namespace AVR {
152
153enum RegisterPressureSets {
154 CCR = 0,
155 DREGS_with_sub_hi_in_LD8_and_DREGS_with_sub_lo_in_GPR8lo = 1,
156 GPRSP = 2,
157 IWREGS = 3,
158 LD8lo = 4,
159 LD8 = 5,
160 GPR8lo = 6,
161 GPR8lo_with_LD8lo = 7,
162 GPR8 = 8,
163};
164
165} // namespace AVR
166
167} // namespace llvm
168