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 LoongArchMCRegisterClasses[];
13
14namespace LoongArch {
15
16enum : unsigned {
17 NoRegister,
18 F0 = 1,
19 F1 = 2,
20 F2 = 3,
21 F3 = 4,
22 F4 = 5,
23 F5 = 6,
24 F6 = 7,
25 F7 = 8,
26 F8 = 9,
27 F9 = 10,
28 F10 = 11,
29 F11 = 12,
30 F12 = 13,
31 F13 = 14,
32 F14 = 15,
33 F15 = 16,
34 F16 = 17,
35 F17 = 18,
36 F18 = 19,
37 F19 = 20,
38 F20 = 21,
39 F21 = 22,
40 F22 = 23,
41 F23 = 24,
42 F24 = 25,
43 F25 = 26,
44 F26 = 27,
45 F27 = 28,
46 F28 = 29,
47 F29 = 30,
48 F30 = 31,
49 F31 = 32,
50 FCC0 = 33,
51 FCC1 = 34,
52 FCC2 = 35,
53 FCC3 = 36,
54 FCC4 = 37,
55 FCC5 = 38,
56 FCC6 = 39,
57 FCC7 = 40,
58 FCSR0 = 41,
59 FCSR1 = 42,
60 FCSR2 = 43,
61 FCSR3 = 44,
62 R0 = 45,
63 R1 = 46,
64 R2 = 47,
65 R3 = 48,
66 R4 = 49,
67 R5 = 50,
68 R6 = 51,
69 R7 = 52,
70 R8 = 53,
71 R9 = 54,
72 R10 = 55,
73 R11 = 56,
74 R12 = 57,
75 R13 = 58,
76 R14 = 59,
77 R15 = 60,
78 R16 = 61,
79 R17 = 62,
80 R18 = 63,
81 R19 = 64,
82 R20 = 65,
83 R21 = 66,
84 R22 = 67,
85 R23 = 68,
86 R24 = 69,
87 R25 = 70,
88 R26 = 71,
89 R27 = 72,
90 R28 = 73,
91 R29 = 74,
92 R30 = 75,
93 R31 = 76,
94 SCR0 = 77,
95 SCR1 = 78,
96 SCR2 = 79,
97 SCR3 = 80,
98 VR0 = 81,
99 VR1 = 82,
100 VR2 = 83,
101 VR3 = 84,
102 VR4 = 85,
103 VR5 = 86,
104 VR6 = 87,
105 VR7 = 88,
106 VR8 = 89,
107 VR9 = 90,
108 VR10 = 91,
109 VR11 = 92,
110 VR12 = 93,
111 VR13 = 94,
112 VR14 = 95,
113 VR15 = 96,
114 VR16 = 97,
115 VR17 = 98,
116 VR18 = 99,
117 VR19 = 100,
118 VR20 = 101,
119 VR21 = 102,
120 VR22 = 103,
121 VR23 = 104,
122 VR24 = 105,
123 VR25 = 106,
124 VR26 = 107,
125 VR27 = 108,
126 VR28 = 109,
127 VR29 = 110,
128 VR30 = 111,
129 VR31 = 112,
130 XR0 = 113,
131 XR1 = 114,
132 XR2 = 115,
133 XR3 = 116,
134 XR4 = 117,
135 XR5 = 118,
136 XR6 = 119,
137 XR7 = 120,
138 XR8 = 121,
139 XR9 = 122,
140 XR10 = 123,
141 XR11 = 124,
142 XR12 = 125,
143 XR13 = 126,
144 XR14 = 127,
145 XR15 = 128,
146 XR16 = 129,
147 XR17 = 130,
148 XR18 = 131,
149 XR19 = 132,
150 XR20 = 133,
151 XR21 = 134,
152 XR22 = 135,
153 XR23 = 136,
154 XR24 = 137,
155 XR25 = 138,
156 XR26 = 139,
157 XR27 = 140,
158 XR28 = 141,
159 XR29 = 142,
160 XR30 = 143,
161 XR31 = 144,
162 F0_64 = 145,
163 F1_64 = 146,
164 F2_64 = 147,
165 F3_64 = 148,
166 F4_64 = 149,
167 F5_64 = 150,
168 F6_64 = 151,
169 F7_64 = 152,
170 F8_64 = 153,
171 F9_64 = 154,
172 F10_64 = 155,
173 F11_64 = 156,
174 F12_64 = 157,
175 F13_64 = 158,
176 F14_64 = 159,
177 F15_64 = 160,
178 F16_64 = 161,
179 F17_64 = 162,
180 F18_64 = 163,
181 F19_64 = 164,
182 F20_64 = 165,
183 F21_64 = 166,
184 F22_64 = 167,
185 F23_64 = 168,
186 F24_64 = 169,
187 F25_64 = 170,
188 F26_64 = 171,
189 F27_64 = 172,
190 F28_64 = 173,
191 F29_64 = 174,
192 F30_64 = 175,
193 F31_64 = 176,
194 NUM_TARGET_REGS // 177
195};
196
197} // namespace LoongArch
198
199// Register classes
200
201namespace LoongArch {
202
203enum {
204 FPR32RegClassID = 0,
205 GPRRegClassID = 1,
206 GPRJRRegClassID = 2,
207 GPRNoR0R1RegClassID = 3,
208 GPRTRegClassID = 4,
209 CFRRegClassID = 5,
210 FCSRRegClassID = 6,
211 SCRRegClassID = 7,
212 FPR64RegClassID = 8,
213 LSX128RegClassID = 9,
214 LASX256RegClassID = 10,
215
216};
217
218} // namespace LoongArch
219
220// Register alternate name indices
221
222namespace LoongArch {
223
224enum {
225 NoRegAltName, // 0
226 RegAliasName, // 1
227 NUM_TARGET_REG_ALT_NAMES = 2
228};
229
230} // namespace LoongArch
231
232// Subregister indices
233
234namespace LoongArch {
235
236enum : uint16_t {
237 NoSubRegister,
238 sub_32, // 1
239 sub_64, // 2
240 sub_128, // 3
241 NUM_TARGET_SUBREGS
242};
243
244} // namespace LoongArch
245// Register pressure sets enum.
246namespace LoongArch {
247
248enum RegisterPressureSets {
249 CFR = 0,
250 GPRT = 1,
251 FPR32 = 2,
252 GPR = 3,
253};
254
255} // namespace LoongArch
256
257} // namespace llvm
258