1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* MC Register Information *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9namespace llvm {
10
11extern const int16_t SystemZRegDiffLists[] = {
12 /* 0 */ -64, 72, -40, -30, 72, -40, 0,
13 /* 7 */ -62, 72, -40, -30, 72, -40, 0,
14 /* 14 */ -60, 72, -40, -30, 72, -40, 0,
15 /* 21 */ -58, 72, -40, -30, 72, -40, 0,
16 /* 28 */ 32, 72, -40, 0,
17 /* 32 */ 40, -72, -32, 0,
18 /* 36 */ -48, 32, -16, -15, 32, -16, 0,
19 /* 43 */ -47, 32, -16, -15, 32, -16, 0,
20 /* 50 */ -46, 32, -16, -15, 32, -16, 0,
21 /* 57 */ -45, 32, -16, -15, 32, -16, 0,
22 /* 64 */ -44, 32, -16, -15, 32, -16, 0,
23 /* 71 */ -43, 32, -16, -15, 32, -16, 0,
24 /* 78 */ -42, 32, -16, -15, 32, -16, 0,
25 /* 85 */ -41, 32, -16, -15, 32, -16, 0,
26 /* 92 */ 1, 1, 1, 0,
27 /* 96 */ 2, 0,
28 /* 98 */ -32, 40, 0,
29 /* 101 */ -16, 40, 0,
30 /* 104 */ -32, 41, 0,
31 /* 107 */ -16, 41, 0,
32 /* 110 */ -32, 42, 0,
33 /* 113 */ -16, 42, 0,
34 /* 116 */ -32, 43, 0,
35 /* 119 */ -16, 43, 0,
36 /* 122 */ -32, 44, 0,
37 /* 125 */ -16, 44, 0,
38 /* 128 */ -32, 45, 0,
39 /* 131 */ -16, 45, 0,
40 /* 134 */ -32, 46, 0,
41 /* 137 */ -16, 46, 0,
42 /* 140 */ -32, 47, 0,
43 /* 143 */ -16, 47, 0,
44 /* 146 */ -32, 48, 0,
45 /* 149 */ -16, 48, 0,
46 /* 152 */ 40, -72, -32, 88, 0,
47 /* 157 */ 40, -72, -32, 90, 0,
48 /* 162 */ 40, -72, -32, 92, 0,
49 /* 167 */ 40, -72, -32, 94, 0,
50 /* 172 */ 40, -72, -32, 96, 0,
51};
52
53extern const LaneBitmask SystemZLaneMaskLists[] = {
54 /* 0 */ LaneBitmask(0x0000000000000002), LaneBitmask(0x0000000000000001),
55 /* 2 */ LaneBitmask(0x0000000000000001), LaneBitmask(0x0000000000000008),
56 /* 4 */ LaneBitmask(0x0000000000000002), LaneBitmask(0x0000000000000001), LaneBitmask(0x0000000000000004), LaneBitmask(0x0000000000000008),
57 /* 8 */ LaneBitmask(0xFFFFFFFFFFFFFFFF),
58};
59
60extern const uint16_t SystemZSubRegIdxLists[] = {
61 /* 0 */ 3, 2, 1,
62 /* 3 */ 4, 2,
63 /* 5 */ 3, 4, 2, 5, 7, 6,
64 /* 11 */ 3, 2, 1, 5, 6, 8,
65};
66
67
68#ifdef __GNUC__
69#pragma GCC diagnostic push
70#pragma GCC diagnostic ignored "-Woverlength-strings"
71#endif
72extern const char SystemZRegStrings[] = {
73 /* 0 */ "A10\000"
74 /* 4 */ "C10\000"
75 /* 8 */ "V10\000"
76 /* 12 */ "V20\000"
77 /* 16 */ "V30\000"
78 /* 20 */ "A0\000"
79 /* 23 */ "C0\000"
80 /* 26 */ "V0\000"
81 /* 29 */ "A11\000"
82 /* 33 */ "C11\000"
83 /* 37 */ "V11\000"
84 /* 41 */ "V21\000"
85 /* 45 */ "V31\000"
86 /* 49 */ "A1\000"
87 /* 52 */ "C1\000"
88 /* 55 */ "V1\000"
89 /* 58 */ "A12\000"
90 /* 62 */ "C12\000"
91 /* 66 */ "V12\000"
92 /* 70 */ "V22\000"
93 /* 74 */ "A2\000"
94 /* 77 */ "C2\000"
95 /* 80 */ "V2\000"
96 /* 83 */ "A13\000"
97 /* 87 */ "C13\000"
98 /* 91 */ "V13\000"
99 /* 95 */ "V23\000"
100 /* 99 */ "A3\000"
101 /* 102 */ "C3\000"
102 /* 105 */ "V3\000"
103 /* 108 */ "A14\000"
104 /* 112 */ "C14\000"
105 /* 116 */ "V14\000"
106 /* 120 */ "V24\000"
107 /* 124 */ "A4\000"
108 /* 127 */ "C4\000"
109 /* 130 */ "V4\000"
110 /* 133 */ "A15\000"
111 /* 137 */ "C15\000"
112 /* 141 */ "V15\000"
113 /* 145 */ "V25\000"
114 /* 149 */ "A5\000"
115 /* 152 */ "C5\000"
116 /* 155 */ "V5\000"
117 /* 158 */ "V16\000"
118 /* 162 */ "V26\000"
119 /* 166 */ "A6\000"
120 /* 169 */ "C6\000"
121 /* 172 */ "V6\000"
122 /* 175 */ "V17\000"
123 /* 179 */ "V27\000"
124 /* 183 */ "A7\000"
125 /* 186 */ "C7\000"
126 /* 189 */ "V7\000"
127 /* 192 */ "V18\000"
128 /* 196 */ "V28\000"
129 /* 200 */ "A8\000"
130 /* 203 */ "C8\000"
131 /* 206 */ "V8\000"
132 /* 209 */ "V19\000"
133 /* 213 */ "V29\000"
134 /* 217 */ "A9\000"
135 /* 220 */ "C9\000"
136 /* 223 */ "V9\000"
137 /* 226 */ "CC\000"
138 /* 229 */ "FPC\000"
139 /* 233 */ "F10D\000"
140 /* 238 */ "R10D\000"
141 /* 243 */ "F20D\000"
142 /* 248 */ "F30D\000"
143 /* 253 */ "F0D\000"
144 /* 257 */ "R0D\000"
145 /* 261 */ "F11D\000"
146 /* 266 */ "R11D\000"
147 /* 271 */ "F21D\000"
148 /* 276 */ "F31D\000"
149 /* 281 */ "F1D\000"
150 /* 285 */ "R1D\000"
151 /* 289 */ "F12D\000"
152 /* 294 */ "R12D\000"
153 /* 299 */ "F22D\000"
154 /* 304 */ "F2D\000"
155 /* 308 */ "R2D\000"
156 /* 312 */ "F13D\000"
157 /* 317 */ "R13D\000"
158 /* 322 */ "F23D\000"
159 /* 327 */ "F3D\000"
160 /* 331 */ "R3D\000"
161 /* 335 */ "F14D\000"
162 /* 340 */ "R14D\000"
163 /* 345 */ "F24D\000"
164 /* 350 */ "F4D\000"
165 /* 354 */ "R4D\000"
166 /* 358 */ "F15D\000"
167 /* 363 */ "R15D\000"
168 /* 368 */ "F25D\000"
169 /* 373 */ "F5D\000"
170 /* 377 */ "R5D\000"
171 /* 381 */ "F16D\000"
172 /* 386 */ "F26D\000"
173 /* 391 */ "F6D\000"
174 /* 395 */ "R6D\000"
175 /* 399 */ "F17D\000"
176 /* 404 */ "F27D\000"
177 /* 409 */ "F7D\000"
178 /* 413 */ "R7D\000"
179 /* 417 */ "F18D\000"
180 /* 422 */ "F28D\000"
181 /* 427 */ "F8D\000"
182 /* 431 */ "R8D\000"
183 /* 435 */ "F19D\000"
184 /* 440 */ "F29D\000"
185 /* 445 */ "F9D\000"
186 /* 449 */ "R9D\000"
187 /* 453 */ "F10H\000"
188 /* 458 */ "R10H\000"
189 /* 463 */ "F20H\000"
190 /* 468 */ "F30H\000"
191 /* 473 */ "F0H\000"
192 /* 477 */ "R0H\000"
193 /* 481 */ "F11H\000"
194 /* 486 */ "R11H\000"
195 /* 491 */ "F21H\000"
196 /* 496 */ "F31H\000"
197 /* 501 */ "F1H\000"
198 /* 505 */ "R1H\000"
199 /* 509 */ "F12H\000"
200 /* 514 */ "R12H\000"
201 /* 519 */ "F22H\000"
202 /* 524 */ "F2H\000"
203 /* 528 */ "R2H\000"
204 /* 532 */ "F13H\000"
205 /* 537 */ "R13H\000"
206 /* 542 */ "F23H\000"
207 /* 547 */ "F3H\000"
208 /* 551 */ "R3H\000"
209 /* 555 */ "F14H\000"
210 /* 560 */ "R14H\000"
211 /* 565 */ "F24H\000"
212 /* 570 */ "F4H\000"
213 /* 574 */ "R4H\000"
214 /* 578 */ "F15H\000"
215 /* 583 */ "R15H\000"
216 /* 588 */ "F25H\000"
217 /* 593 */ "F5H\000"
218 /* 597 */ "R5H\000"
219 /* 601 */ "F16H\000"
220 /* 606 */ "F26H\000"
221 /* 611 */ "F6H\000"
222 /* 615 */ "R6H\000"
223 /* 619 */ "F17H\000"
224 /* 624 */ "F27H\000"
225 /* 629 */ "F7H\000"
226 /* 633 */ "R7H\000"
227 /* 637 */ "F18H\000"
228 /* 642 */ "F28H\000"
229 /* 647 */ "F8H\000"
230 /* 651 */ "R8H\000"
231 /* 655 */ "F19H\000"
232 /* 660 */ "F29H\000"
233 /* 665 */ "F9H\000"
234 /* 669 */ "R9H\000"
235 /* 673 */ "R10L\000"
236 /* 678 */ "R0L\000"
237 /* 682 */ "R11L\000"
238 /* 687 */ "R1L\000"
239 /* 691 */ "R12L\000"
240 /* 696 */ "R2L\000"
241 /* 700 */ "R13L\000"
242 /* 705 */ "R3L\000"
243 /* 709 */ "R14L\000"
244 /* 714 */ "R4L\000"
245 /* 718 */ "R15L\000"
246 /* 723 */ "R5L\000"
247 /* 727 */ "R6L\000"
248 /* 731 */ "R7L\000"
249 /* 735 */ "R8L\000"
250 /* 739 */ "R9L\000"
251 /* 743 */ "R10Q\000"
252 /* 748 */ "F0Q\000"
253 /* 752 */ "R0Q\000"
254 /* 756 */ "F1Q\000"
255 /* 760 */ "F12Q\000"
256 /* 765 */ "R12Q\000"
257 /* 770 */ "R2Q\000"
258 /* 774 */ "F13Q\000"
259 /* 779 */ "R14Q\000"
260 /* 784 */ "F4Q\000"
261 /* 788 */ "R4Q\000"
262 /* 792 */ "F5Q\000"
263 /* 796 */ "R6Q\000"
264 /* 800 */ "F8Q\000"
265 /* 804 */ "R8Q\000"
266 /* 808 */ "F9Q\000"
267 /* 812 */ "F10S\000"
268 /* 817 */ "F20S\000"
269 /* 822 */ "F30S\000"
270 /* 827 */ "F0S\000"
271 /* 831 */ "F11S\000"
272 /* 836 */ "F21S\000"
273 /* 841 */ "F31S\000"
274 /* 846 */ "F1S\000"
275 /* 850 */ "F12S\000"
276 /* 855 */ "F22S\000"
277 /* 860 */ "F2S\000"
278 /* 864 */ "F13S\000"
279 /* 869 */ "F23S\000"
280 /* 874 */ "F3S\000"
281 /* 878 */ "F14S\000"
282 /* 883 */ "F24S\000"
283 /* 888 */ "F4S\000"
284 /* 892 */ "F15S\000"
285 /* 897 */ "F25S\000"
286 /* 902 */ "F5S\000"
287 /* 906 */ "F16S\000"
288 /* 911 */ "F26S\000"
289 /* 916 */ "F6S\000"
290 /* 920 */ "F17S\000"
291 /* 925 */ "F27S\000"
292 /* 930 */ "F7S\000"
293 /* 934 */ "F18S\000"
294 /* 939 */ "F28S\000"
295 /* 944 */ "F8S\000"
296 /* 948 */ "F19S\000"
297 /* 953 */ "F29S\000"
298 /* 958 */ "F9S\000"
299};
300#ifdef __GNUC__
301#pragma GCC diagnostic pop
302#endif
303
304extern const MCRegisterDesc SystemZRegDesc[] = { // Descriptors
305 { .Name: 3, .SubRegs: 0, .SuperRegs: 0, .SubRegIndices: 0, .RegUnits: 0, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
306 { .Name: 226, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24576, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
307 { .Name: 229, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24577, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
308 { .Name: 20, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24578, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
309 { .Name: 49, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24579, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
310 { .Name: 74, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24580, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
311 { .Name: 99, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24581, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
312 { .Name: 124, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24582, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
313 { .Name: 149, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24583, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
314 { .Name: 166, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24584, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
315 { .Name: 183, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24585, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
316 { .Name: 200, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24586, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
317 { .Name: 217, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24587, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
318 { .Name: 0, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24588, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
319 { .Name: 29, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24589, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
320 { .Name: 58, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24590, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
321 { .Name: 83, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24591, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
322 { .Name: 108, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24592, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
323 { .Name: 133, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24593, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
324 { .Name: 23, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24594, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
325 { .Name: 52, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24595, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
326 { .Name: 77, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24596, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
327 { .Name: 102, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24597, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
328 { .Name: 127, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24598, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
329 { .Name: 152, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24599, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
330 { .Name: 169, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24600, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
331 { .Name: 186, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24601, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
332 { .Name: 203, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24602, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
333 { .Name: 220, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24603, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
334 { .Name: 4, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24604, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
335 { .Name: 33, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24605, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
336 { .Name: 62, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24606, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
337 { .Name: 87, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24607, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
338 { .Name: 112, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24608, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
339 { .Name: 137, .SubRegs: 6, .SuperRegs: 6, .SubRegIndices: 3, .RegUnits: 24609, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
340 { .Name: 26, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24610, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
341 { .Name: 55, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24611, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
342 { .Name: 80, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24612, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
343 { .Name: 105, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24613, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
344 { .Name: 130, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24614, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
345 { .Name: 155, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24615, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
346 { .Name: 172, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24616, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
347 { .Name: 189, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24617, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
348 { .Name: 206, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24618, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
349 { .Name: 223, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24619, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
350 { .Name: 8, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24620, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
351 { .Name: 37, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24621, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
352 { .Name: 66, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24622, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
353 { .Name: 91, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24623, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
354 { .Name: 116, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24624, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
355 { .Name: 141, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24625, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
356 { .Name: 158, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24626, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
357 { .Name: 175, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24627, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
358 { .Name: 192, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24628, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
359 { .Name: 209, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24629, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
360 { .Name: 12, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24630, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
361 { .Name: 41, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24631, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
362 { .Name: 70, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24632, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
363 { .Name: 95, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24633, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
364 { .Name: 120, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24634, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
365 { .Name: 145, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24635, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
366 { .Name: 162, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24636, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
367 { .Name: 179, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24637, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
368 { .Name: 196, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24638, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
369 { .Name: 213, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24639, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
370 { .Name: 16, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24640, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
371 { .Name: 45, .SubRegs: 28, .SuperRegs: 6, .SubRegIndices: 0, .RegUnits: 24641, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
372 { .Name: 253, .SubRegs: 4, .SuperRegs: 174, .SubRegIndices: 1, .RegUnits: 24610, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
373 { .Name: 281, .SubRegs: 4, .SuperRegs: 174, .SubRegIndices: 1, .RegUnits: 24611, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
374 { .Name: 304, .SubRegs: 4, .SuperRegs: 169, .SubRegIndices: 1, .RegUnits: 24612, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
375 { .Name: 327, .SubRegs: 4, .SuperRegs: 169, .SubRegIndices: 1, .RegUnits: 24613, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
376 { .Name: 350, .SubRegs: 4, .SuperRegs: 169, .SubRegIndices: 1, .RegUnits: 24614, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
377 { .Name: 373, .SubRegs: 4, .SuperRegs: 169, .SubRegIndices: 1, .RegUnits: 24615, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
378 { .Name: 391, .SubRegs: 4, .SuperRegs: 164, .SubRegIndices: 1, .RegUnits: 24616, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
379 { .Name: 409, .SubRegs: 4, .SuperRegs: 164, .SubRegIndices: 1, .RegUnits: 24617, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
380 { .Name: 427, .SubRegs: 4, .SuperRegs: 164, .SubRegIndices: 1, .RegUnits: 24618, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
381 { .Name: 445, .SubRegs: 4, .SuperRegs: 164, .SubRegIndices: 1, .RegUnits: 24619, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
382 { .Name: 233, .SubRegs: 4, .SuperRegs: 159, .SubRegIndices: 1, .RegUnits: 24620, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
383 { .Name: 261, .SubRegs: 4, .SuperRegs: 159, .SubRegIndices: 1, .RegUnits: 24621, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
384 { .Name: 289, .SubRegs: 4, .SuperRegs: 159, .SubRegIndices: 1, .RegUnits: 24622, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
385 { .Name: 312, .SubRegs: 4, .SuperRegs: 159, .SubRegIndices: 1, .RegUnits: 24623, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
386 { .Name: 335, .SubRegs: 4, .SuperRegs: 154, .SubRegIndices: 1, .RegUnits: 24624, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
387 { .Name: 358, .SubRegs: 4, .SuperRegs: 154, .SubRegIndices: 1, .RegUnits: 24625, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
388 { .Name: 381, .SubRegs: 4, .SuperRegs: 34, .SubRegIndices: 1, .RegUnits: 24626, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
389 { .Name: 399, .SubRegs: 4, .SuperRegs: 34, .SubRegIndices: 1, .RegUnits: 24627, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
390 { .Name: 417, .SubRegs: 4, .SuperRegs: 34, .SubRegIndices: 1, .RegUnits: 24628, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
391 { .Name: 435, .SubRegs: 4, .SuperRegs: 34, .SubRegIndices: 1, .RegUnits: 24629, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
392 { .Name: 243, .SubRegs: 4, .SuperRegs: 34, .SubRegIndices: 1, .RegUnits: 24630, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
393 { .Name: 271, .SubRegs: 4, .SuperRegs: 34, .SubRegIndices: 1, .RegUnits: 24631, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
394 { .Name: 299, .SubRegs: 4, .SuperRegs: 34, .SubRegIndices: 1, .RegUnits: 24632, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
395 { .Name: 322, .SubRegs: 4, .SuperRegs: 34, .SubRegIndices: 1, .RegUnits: 24633, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
396 { .Name: 345, .SubRegs: 4, .SuperRegs: 34, .SubRegIndices: 1, .RegUnits: 24634, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
397 { .Name: 368, .SubRegs: 4, .SuperRegs: 34, .SubRegIndices: 1, .RegUnits: 24635, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
398 { .Name: 386, .SubRegs: 4, .SuperRegs: 34, .SubRegIndices: 1, .RegUnits: 24636, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
399 { .Name: 404, .SubRegs: 4, .SuperRegs: 34, .SubRegIndices: 1, .RegUnits: 24637, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
400 { .Name: 422, .SubRegs: 4, .SuperRegs: 34, .SubRegIndices: 1, .RegUnits: 24638, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
401 { .Name: 440, .SubRegs: 4, .SuperRegs: 34, .SubRegIndices: 1, .RegUnits: 24639, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
402 { .Name: 248, .SubRegs: 4, .SuperRegs: 34, .SubRegIndices: 1, .RegUnits: 24640, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
403 { .Name: 276, .SubRegs: 4, .SuperRegs: 34, .SubRegIndices: 1, .RegUnits: 24641, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
404 { .Name: 473, .SubRegs: 6, .SuperRegs: 172, .SubRegIndices: 3, .RegUnits: 24610, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
405 { .Name: 501, .SubRegs: 6, .SuperRegs: 172, .SubRegIndices: 3, .RegUnits: 24611, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
406 { .Name: 524, .SubRegs: 6, .SuperRegs: 167, .SubRegIndices: 3, .RegUnits: 24612, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
407 { .Name: 547, .SubRegs: 6, .SuperRegs: 167, .SubRegIndices: 3, .RegUnits: 24613, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
408 { .Name: 570, .SubRegs: 6, .SuperRegs: 167, .SubRegIndices: 3, .RegUnits: 24614, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
409 { .Name: 593, .SubRegs: 6, .SuperRegs: 167, .SubRegIndices: 3, .RegUnits: 24615, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
410 { .Name: 611, .SubRegs: 6, .SuperRegs: 162, .SubRegIndices: 3, .RegUnits: 24616, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
411 { .Name: 629, .SubRegs: 6, .SuperRegs: 162, .SubRegIndices: 3, .RegUnits: 24617, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
412 { .Name: 647, .SubRegs: 6, .SuperRegs: 162, .SubRegIndices: 3, .RegUnits: 24618, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
413 { .Name: 665, .SubRegs: 6, .SuperRegs: 162, .SubRegIndices: 3, .RegUnits: 24619, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
414 { .Name: 453, .SubRegs: 6, .SuperRegs: 157, .SubRegIndices: 3, .RegUnits: 24620, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
415 { .Name: 481, .SubRegs: 6, .SuperRegs: 157, .SubRegIndices: 3, .RegUnits: 24621, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
416 { .Name: 509, .SubRegs: 6, .SuperRegs: 157, .SubRegIndices: 3, .RegUnits: 24622, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
417 { .Name: 532, .SubRegs: 6, .SuperRegs: 157, .SubRegIndices: 3, .RegUnits: 24623, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
418 { .Name: 555, .SubRegs: 6, .SuperRegs: 152, .SubRegIndices: 3, .RegUnits: 24624, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
419 { .Name: 578, .SubRegs: 6, .SuperRegs: 152, .SubRegIndices: 3, .RegUnits: 24625, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
420 { .Name: 601, .SubRegs: 6, .SuperRegs: 32, .SubRegIndices: 3, .RegUnits: 24626, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
421 { .Name: 619, .SubRegs: 6, .SuperRegs: 32, .SubRegIndices: 3, .RegUnits: 24627, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
422 { .Name: 637, .SubRegs: 6, .SuperRegs: 32, .SubRegIndices: 3, .RegUnits: 24628, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
423 { .Name: 655, .SubRegs: 6, .SuperRegs: 32, .SubRegIndices: 3, .RegUnits: 24629, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
424 { .Name: 463, .SubRegs: 6, .SuperRegs: 32, .SubRegIndices: 3, .RegUnits: 24630, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
425 { .Name: 491, .SubRegs: 6, .SuperRegs: 32, .SubRegIndices: 3, .RegUnits: 24631, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
426 { .Name: 519, .SubRegs: 6, .SuperRegs: 32, .SubRegIndices: 3, .RegUnits: 24632, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
427 { .Name: 542, .SubRegs: 6, .SuperRegs: 32, .SubRegIndices: 3, .RegUnits: 24633, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
428 { .Name: 565, .SubRegs: 6, .SuperRegs: 32, .SubRegIndices: 3, .RegUnits: 24634, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
429 { .Name: 588, .SubRegs: 6, .SuperRegs: 32, .SubRegIndices: 3, .RegUnits: 24635, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
430 { .Name: 606, .SubRegs: 6, .SuperRegs: 32, .SubRegIndices: 3, .RegUnits: 24636, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
431 { .Name: 624, .SubRegs: 6, .SuperRegs: 32, .SubRegIndices: 3, .RegUnits: 24637, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
432 { .Name: 642, .SubRegs: 6, .SuperRegs: 32, .SubRegIndices: 3, .RegUnits: 24638, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
433 { .Name: 660, .SubRegs: 6, .SuperRegs: 32, .SubRegIndices: 3, .RegUnits: 24639, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
434 { .Name: 468, .SubRegs: 6, .SuperRegs: 32, .SubRegIndices: 3, .RegUnits: 24640, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
435 { .Name: 496, .SubRegs: 6, .SuperRegs: 32, .SubRegIndices: 3, .RegUnits: 24641, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
436 { .Name: 748, .SubRegs: 0, .SuperRegs: 6, .SubRegIndices: 11, .RegUnits: 393250, .RegUnitLaneMasks: 2, .IsConstant: 0, .IsArtificial: 0 },
437 { .Name: 756, .SubRegs: 0, .SuperRegs: 6, .SubRegIndices: 11, .RegUnits: 393251, .RegUnitLaneMasks: 2, .IsConstant: 0, .IsArtificial: 0 },
438 { .Name: 784, .SubRegs: 7, .SuperRegs: 6, .SubRegIndices: 11, .RegUnits: 393254, .RegUnitLaneMasks: 2, .IsConstant: 0, .IsArtificial: 0 },
439 { .Name: 792, .SubRegs: 7, .SuperRegs: 6, .SubRegIndices: 11, .RegUnits: 393255, .RegUnitLaneMasks: 2, .IsConstant: 0, .IsArtificial: 0 },
440 { .Name: 800, .SubRegs: 14, .SuperRegs: 6, .SubRegIndices: 11, .RegUnits: 393258, .RegUnitLaneMasks: 2, .IsConstant: 0, .IsArtificial: 0 },
441 { .Name: 808, .SubRegs: 14, .SuperRegs: 6, .SubRegIndices: 11, .RegUnits: 393259, .RegUnitLaneMasks: 2, .IsConstant: 0, .IsArtificial: 0 },
442 { .Name: 760, .SubRegs: 21, .SuperRegs: 6, .SubRegIndices: 11, .RegUnits: 393262, .RegUnitLaneMasks: 2, .IsConstant: 0, .IsArtificial: 0 },
443 { .Name: 774, .SubRegs: 21, .SuperRegs: 6, .SubRegIndices: 11, .RegUnits: 393263, .RegUnitLaneMasks: 2, .IsConstant: 0, .IsArtificial: 0 },
444 { .Name: 827, .SubRegs: 5, .SuperRegs: 173, .SubRegIndices: 2, .RegUnits: 24610, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
445 { .Name: 846, .SubRegs: 5, .SuperRegs: 173, .SubRegIndices: 2, .RegUnits: 24611, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
446 { .Name: 860, .SubRegs: 5, .SuperRegs: 168, .SubRegIndices: 2, .RegUnits: 24612, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
447 { .Name: 874, .SubRegs: 5, .SuperRegs: 168, .SubRegIndices: 2, .RegUnits: 24613, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
448 { .Name: 888, .SubRegs: 5, .SuperRegs: 168, .SubRegIndices: 2, .RegUnits: 24614, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
449 { .Name: 902, .SubRegs: 5, .SuperRegs: 168, .SubRegIndices: 2, .RegUnits: 24615, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
450 { .Name: 916, .SubRegs: 5, .SuperRegs: 163, .SubRegIndices: 2, .RegUnits: 24616, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
451 { .Name: 930, .SubRegs: 5, .SuperRegs: 163, .SubRegIndices: 2, .RegUnits: 24617, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
452 { .Name: 944, .SubRegs: 5, .SuperRegs: 163, .SubRegIndices: 2, .RegUnits: 24618, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
453 { .Name: 958, .SubRegs: 5, .SuperRegs: 163, .SubRegIndices: 2, .RegUnits: 24619, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
454 { .Name: 812, .SubRegs: 5, .SuperRegs: 158, .SubRegIndices: 2, .RegUnits: 24620, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
455 { .Name: 831, .SubRegs: 5, .SuperRegs: 158, .SubRegIndices: 2, .RegUnits: 24621, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
456 { .Name: 850, .SubRegs: 5, .SuperRegs: 158, .SubRegIndices: 2, .RegUnits: 24622, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
457 { .Name: 864, .SubRegs: 5, .SuperRegs: 158, .SubRegIndices: 2, .RegUnits: 24623, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
458 { .Name: 878, .SubRegs: 5, .SuperRegs: 153, .SubRegIndices: 2, .RegUnits: 24624, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
459 { .Name: 892, .SubRegs: 5, .SuperRegs: 153, .SubRegIndices: 2, .RegUnits: 24625, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
460 { .Name: 906, .SubRegs: 5, .SuperRegs: 33, .SubRegIndices: 2, .RegUnits: 24626, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
461 { .Name: 920, .SubRegs: 5, .SuperRegs: 33, .SubRegIndices: 2, .RegUnits: 24627, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
462 { .Name: 934, .SubRegs: 5, .SuperRegs: 33, .SubRegIndices: 2, .RegUnits: 24628, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
463 { .Name: 948, .SubRegs: 5, .SuperRegs: 33, .SubRegIndices: 2, .RegUnits: 24629, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
464 { .Name: 817, .SubRegs: 5, .SuperRegs: 33, .SubRegIndices: 2, .RegUnits: 24630, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
465 { .Name: 836, .SubRegs: 5, .SuperRegs: 33, .SubRegIndices: 2, .RegUnits: 24631, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
466 { .Name: 855, .SubRegs: 5, .SuperRegs: 33, .SubRegIndices: 2, .RegUnits: 24632, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
467 { .Name: 869, .SubRegs: 5, .SuperRegs: 33, .SubRegIndices: 2, .RegUnits: 24633, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
468 { .Name: 883, .SubRegs: 5, .SuperRegs: 33, .SubRegIndices: 2, .RegUnits: 24634, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
469 { .Name: 897, .SubRegs: 5, .SuperRegs: 33, .SubRegIndices: 2, .RegUnits: 24635, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
470 { .Name: 911, .SubRegs: 5, .SuperRegs: 33, .SubRegIndices: 2, .RegUnits: 24636, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
471 { .Name: 925, .SubRegs: 5, .SuperRegs: 33, .SubRegIndices: 2, .RegUnits: 24637, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
472 { .Name: 939, .SubRegs: 5, .SuperRegs: 33, .SubRegIndices: 2, .RegUnits: 24638, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
473 { .Name: 953, .SubRegs: 5, .SuperRegs: 33, .SubRegIndices: 2, .RegUnits: 24639, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
474 { .Name: 822, .SubRegs: 5, .SuperRegs: 33, .SubRegIndices: 2, .RegUnits: 24640, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
475 { .Name: 841, .SubRegs: 5, .SuperRegs: 33, .SubRegIndices: 2, .RegUnits: 24641, .RegUnitLaneMasks: 1, .IsConstant: 0, .IsArtificial: 0 },
476 { .Name: 257, .SubRegs: 40, .SuperRegs: 147, .SubRegIndices: 3, .RegUnits: 385090, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
477 { .Name: 285, .SubRegs: 40, .SuperRegs: 141, .SubRegIndices: 3, .RegUnits: 385092, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
478 { .Name: 308, .SubRegs: 40, .SuperRegs: 141, .SubRegIndices: 3, .RegUnits: 385094, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
479 { .Name: 331, .SubRegs: 40, .SuperRegs: 135, .SubRegIndices: 3, .RegUnits: 385096, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
480 { .Name: 354, .SubRegs: 40, .SuperRegs: 135, .SubRegIndices: 3, .RegUnits: 385098, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
481 { .Name: 377, .SubRegs: 40, .SuperRegs: 129, .SubRegIndices: 3, .RegUnits: 385100, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
482 { .Name: 395, .SubRegs: 40, .SuperRegs: 129, .SubRegIndices: 3, .RegUnits: 385102, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
483 { .Name: 413, .SubRegs: 40, .SuperRegs: 123, .SubRegIndices: 3, .RegUnits: 385104, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
484 { .Name: 431, .SubRegs: 40, .SuperRegs: 123, .SubRegIndices: 3, .RegUnits: 385106, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
485 { .Name: 449, .SubRegs: 40, .SuperRegs: 117, .SubRegIndices: 3, .RegUnits: 385108, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
486 { .Name: 238, .SubRegs: 40, .SuperRegs: 117, .SubRegIndices: 3, .RegUnits: 385110, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
487 { .Name: 266, .SubRegs: 40, .SuperRegs: 111, .SubRegIndices: 3, .RegUnits: 385112, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
488 { .Name: 294, .SubRegs: 40, .SuperRegs: 111, .SubRegIndices: 3, .RegUnits: 385114, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
489 { .Name: 317, .SubRegs: 40, .SuperRegs: 105, .SubRegIndices: 3, .RegUnits: 385116, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
490 { .Name: 340, .SubRegs: 40, .SuperRegs: 105, .SubRegIndices: 3, .RegUnits: 385118, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
491 { .Name: 363, .SubRegs: 40, .SuperRegs: 99, .SubRegIndices: 3, .RegUnits: 385120, .RegUnitLaneMasks: 0, .IsConstant: 0, .IsArtificial: 0 },
492 { .Name: 477, .SubRegs: 6, .SuperRegs: 149, .SubRegIndices: 3, .RegUnits: 24643, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
493 { .Name: 505, .SubRegs: 6, .SuperRegs: 143, .SubRegIndices: 3, .RegUnits: 24645, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
494 { .Name: 528, .SubRegs: 6, .SuperRegs: 143, .SubRegIndices: 3, .RegUnits: 24647, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
495 { .Name: 551, .SubRegs: 6, .SuperRegs: 137, .SubRegIndices: 3, .RegUnits: 24649, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
496 { .Name: 574, .SubRegs: 6, .SuperRegs: 137, .SubRegIndices: 3, .RegUnits: 24651, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
497 { .Name: 597, .SubRegs: 6, .SuperRegs: 131, .SubRegIndices: 3, .RegUnits: 24653, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
498 { .Name: 615, .SubRegs: 6, .SuperRegs: 131, .SubRegIndices: 3, .RegUnits: 24655, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
499 { .Name: 633, .SubRegs: 6, .SuperRegs: 125, .SubRegIndices: 3, .RegUnits: 24657, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
500 { .Name: 651, .SubRegs: 6, .SuperRegs: 125, .SubRegIndices: 3, .RegUnits: 24659, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
501 { .Name: 669, .SubRegs: 6, .SuperRegs: 119, .SubRegIndices: 3, .RegUnits: 24661, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
502 { .Name: 458, .SubRegs: 6, .SuperRegs: 119, .SubRegIndices: 3, .RegUnits: 24663, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
503 { .Name: 486, .SubRegs: 6, .SuperRegs: 113, .SubRegIndices: 3, .RegUnits: 24665, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
504 { .Name: 514, .SubRegs: 6, .SuperRegs: 113, .SubRegIndices: 3, .RegUnits: 24667, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
505 { .Name: 537, .SubRegs: 6, .SuperRegs: 107, .SubRegIndices: 3, .RegUnits: 24669, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
506 { .Name: 560, .SubRegs: 6, .SuperRegs: 107, .SubRegIndices: 3, .RegUnits: 24671, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
507 { .Name: 583, .SubRegs: 6, .SuperRegs: 101, .SubRegIndices: 3, .RegUnits: 24673, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
508 { .Name: 678, .SubRegs: 6, .SuperRegs: 146, .SubRegIndices: 3, .RegUnits: 24642, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
509 { .Name: 687, .SubRegs: 6, .SuperRegs: 140, .SubRegIndices: 3, .RegUnits: 24644, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
510 { .Name: 696, .SubRegs: 6, .SuperRegs: 140, .SubRegIndices: 3, .RegUnits: 24646, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
511 { .Name: 705, .SubRegs: 6, .SuperRegs: 134, .SubRegIndices: 3, .RegUnits: 24648, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
512 { .Name: 714, .SubRegs: 6, .SuperRegs: 134, .SubRegIndices: 3, .RegUnits: 24650, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
513 { .Name: 723, .SubRegs: 6, .SuperRegs: 128, .SubRegIndices: 3, .RegUnits: 24652, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
514 { .Name: 727, .SubRegs: 6, .SuperRegs: 128, .SubRegIndices: 3, .RegUnits: 24654, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
515 { .Name: 731, .SubRegs: 6, .SuperRegs: 122, .SubRegIndices: 3, .RegUnits: 24656, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
516 { .Name: 735, .SubRegs: 6, .SuperRegs: 122, .SubRegIndices: 3, .RegUnits: 24658, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
517 { .Name: 739, .SubRegs: 6, .SuperRegs: 116, .SubRegIndices: 3, .RegUnits: 24660, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
518 { .Name: 673, .SubRegs: 6, .SuperRegs: 116, .SubRegIndices: 3, .RegUnits: 24662, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
519 { .Name: 682, .SubRegs: 6, .SuperRegs: 110, .SubRegIndices: 3, .RegUnits: 24664, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
520 { .Name: 691, .SubRegs: 6, .SuperRegs: 110, .SubRegIndices: 3, .RegUnits: 24666, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
521 { .Name: 700, .SubRegs: 6, .SuperRegs: 104, .SubRegIndices: 3, .RegUnits: 24668, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
522 { .Name: 709, .SubRegs: 6, .SuperRegs: 104, .SubRegIndices: 3, .RegUnits: 24670, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
523 { .Name: 718, .SubRegs: 6, .SuperRegs: 98, .SubRegIndices: 3, .RegUnits: 24672, .RegUnitLaneMasks: 8, .IsConstant: 0, .IsArtificial: 0 },
524 { .Name: 752, .SubRegs: 36, .SuperRegs: 6, .SubRegIndices: 5, .RegUnits: 376898, .RegUnitLaneMasks: 4, .IsConstant: 0, .IsArtificial: 0 },
525 { .Name: 770, .SubRegs: 43, .SuperRegs: 6, .SubRegIndices: 5, .RegUnits: 376902, .RegUnitLaneMasks: 4, .IsConstant: 0, .IsArtificial: 0 },
526 { .Name: 788, .SubRegs: 50, .SuperRegs: 6, .SubRegIndices: 5, .RegUnits: 376906, .RegUnitLaneMasks: 4, .IsConstant: 0, .IsArtificial: 0 },
527 { .Name: 796, .SubRegs: 57, .SuperRegs: 6, .SubRegIndices: 5, .RegUnits: 376910, .RegUnitLaneMasks: 4, .IsConstant: 0, .IsArtificial: 0 },
528 { .Name: 804, .SubRegs: 64, .SuperRegs: 6, .SubRegIndices: 5, .RegUnits: 376914, .RegUnitLaneMasks: 4, .IsConstant: 0, .IsArtificial: 0 },
529 { .Name: 743, .SubRegs: 71, .SuperRegs: 6, .SubRegIndices: 5, .RegUnits: 376918, .RegUnitLaneMasks: 4, .IsConstant: 0, .IsArtificial: 0 },
530 { .Name: 765, .SubRegs: 78, .SuperRegs: 6, .SubRegIndices: 5, .RegUnits: 376922, .RegUnitLaneMasks: 4, .IsConstant: 0, .IsArtificial: 0 },
531 { .Name: 779, .SubRegs: 85, .SuperRegs: 6, .SubRegIndices: 5, .RegUnits: 376926, .RegUnitLaneMasks: 4, .IsConstant: 0, .IsArtificial: 0 },
532};
533
534extern const MCPhysReg SystemZRegUnitRoots[][2] = {
535 { SystemZ::CC },
536 { SystemZ::FPC },
537 { SystemZ::A0 },
538 { SystemZ::A1 },
539 { SystemZ::A2 },
540 { SystemZ::A3 },
541 { SystemZ::A4 },
542 { SystemZ::A5 },
543 { SystemZ::A6 },
544 { SystemZ::A7 },
545 { SystemZ::A8 },
546 { SystemZ::A9 },
547 { SystemZ::A10 },
548 { SystemZ::A11 },
549 { SystemZ::A12 },
550 { SystemZ::A13 },
551 { SystemZ::A14 },
552 { SystemZ::A15 },
553 { SystemZ::C0 },
554 { SystemZ::C1 },
555 { SystemZ::C2 },
556 { SystemZ::C3 },
557 { SystemZ::C4 },
558 { SystemZ::C5 },
559 { SystemZ::C6 },
560 { SystemZ::C7 },
561 { SystemZ::C8 },
562 { SystemZ::C9 },
563 { SystemZ::C10 },
564 { SystemZ::C11 },
565 { SystemZ::C12 },
566 { SystemZ::C13 },
567 { SystemZ::C14 },
568 { SystemZ::C15 },
569 { SystemZ::F0H },
570 { SystemZ::F1H },
571 { SystemZ::F2H },
572 { SystemZ::F3H },
573 { SystemZ::F4H },
574 { SystemZ::F5H },
575 { SystemZ::F6H },
576 { SystemZ::F7H },
577 { SystemZ::F8H },
578 { SystemZ::F9H },
579 { SystemZ::F10H },
580 { SystemZ::F11H },
581 { SystemZ::F12H },
582 { SystemZ::F13H },
583 { SystemZ::F14H },
584 { SystemZ::F15H },
585 { SystemZ::F16H },
586 { SystemZ::F17H },
587 { SystemZ::F18H },
588 { SystemZ::F19H },
589 { SystemZ::F20H },
590 { SystemZ::F21H },
591 { SystemZ::F22H },
592 { SystemZ::F23H },
593 { SystemZ::F24H },
594 { SystemZ::F25H },
595 { SystemZ::F26H },
596 { SystemZ::F27H },
597 { SystemZ::F28H },
598 { SystemZ::F29H },
599 { SystemZ::F30H },
600 { SystemZ::F31H },
601 { SystemZ::R0L },
602 { SystemZ::R0H },
603 { SystemZ::R1L },
604 { SystemZ::R1H },
605 { SystemZ::R2L },
606 { SystemZ::R2H },
607 { SystemZ::R3L },
608 { SystemZ::R3H },
609 { SystemZ::R4L },
610 { SystemZ::R4H },
611 { SystemZ::R5L },
612 { SystemZ::R5H },
613 { SystemZ::R6L },
614 { SystemZ::R6H },
615 { SystemZ::R7L },
616 { SystemZ::R7H },
617 { SystemZ::R8L },
618 { SystemZ::R8H },
619 { SystemZ::R9L },
620 { SystemZ::R9H },
621 { SystemZ::R10L },
622 { SystemZ::R10H },
623 { SystemZ::R11L },
624 { SystemZ::R11H },
625 { SystemZ::R12L },
626 { SystemZ::R12H },
627 { SystemZ::R13L },
628 { SystemZ::R13H },
629 { SystemZ::R14L },
630 { SystemZ::R14H },
631 { SystemZ::R15L },
632 { SystemZ::R15H },
633};
634
635// Register classes...
636
637#ifdef __GNUC__
638#pragma GCC diagnostic push
639#pragma GCC diagnostic ignored "-Woverlength-strings"
640#endif
641extern const char SystemZRegClassStrings[] = {
642 /* 0 */ "AnyRegBit_with_subreg_h64\000"
643 /* 26 */ "AnyRegBit_with_subreg_h16\000"
644 /* 52 */ "CCR\000"
645 /* 56 */ "FPCRegs\000"
646 /* 64 */ "GRH32Bit\000"
647 /* 73 */ "FP32Bit\000"
648 /* 81 */ "AR32Bit\000"
649 /* 89 */ "ADDR32Bit\000"
650 /* 99 */ "GR32Bit\000"
651 /* 107 */ "VR32Bit\000"
652 /* 115 */ "GRX32Bit\000"
653 /* 124 */ "FP64Bit\000"
654 /* 132 */ "CR64Bit\000"
655 /* 140 */ "ADDR64Bit\000"
656 /* 150 */ "GR64Bit\000"
657 /* 158 */ "VR64Bit\000"
658 /* 166 */ "FP16Bit\000"
659 /* 174 */ "VR16Bit\000"
660 /* 182 */ "VF128Bit\000"
661 /* 191 */ "FP128Bit\000"
662 /* 200 */ "ADDR128Bit\000"
663 /* 211 */ "GR128Bit\000"
664 /* 220 */ "VR128Bit\000"
665 /* 229 */ "AnyRegBit\000"
666};
667#ifdef __GNUC__
668#pragma GCC diagnostic pop
669#endif
670
671using SystemZRegisterClassStorage = MCRegisterClassStorage<24, 455, 74, 54, 17, 20>;
672extern const MCRegisterClassStorage<24, 455, 74, 54, 17, 20> SystemZMCRegisterClassStorage = {
673 .Classes: {
674 {
675 offsetof(SystemZRegisterClassStorage, Regs[0]) - 0 * sizeof(MCRegisterClass),
676 offsetof(SystemZRegisterClassStorage, BitSets[0]) - 0 * sizeof(MCRegisterClass),
677 .NameIdx: 174,
678 .RegSizeInBits: 16,
679 .RegsSize: 32,
680 .RegSetBegin: 99, /* MinRegVal */
681 .RegSetSize: 32, /* RegSetSize */
682 .ID: SystemZ::VR16BitRegClassID,
683 .CopyCost: 1, /* CopyCost */
684 .Allocatable: true, /* Allocatable */
685 .BaseClass: false,
686 offsetof(SystemZRegisterClassStorage, SubClassMasks[0]) - 0 * sizeof(MCRegisterClass),
687 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[14]) - 0 * sizeof(MCRegisterClass),
688 .LaneMask: LaneBitmask(0x0000000000000001),
689 .AllocationPriority: 0,
690 .GlobalPriority: false,
691 .TSFlags: 0x00, /* TSFlags */
692 .SpillStackID: 0, /* SpillStackID */
693 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
694 .CoveredBySubRegs: false, /* CoveredBySubRegs */
695 offsetof(SystemZRegisterClassStorage, SuperClasses[0]) - 0 * sizeof(MCRegisterClass),
696 .SuperClassesSize: 0
697 },
698 {
699 offsetof(SystemZRegisterClassStorage, Regs[32]) - 1 * sizeof(MCRegisterClass),
700 offsetof(SystemZRegisterClassStorage, BitSets[4]) - 1 * sizeof(MCRegisterClass),
701 .NameIdx: 166,
702 .RegSizeInBits: 0,
703 .RegsSize: 16,
704 .RegSetBegin: 99, /* MinRegVal */
705 .RegSetSize: 16, /* RegSetSize */
706 .ID: SystemZ::FP16BitRegClassID,
707 .CopyCost: 1, /* CopyCost */
708 .Allocatable: true, /* Allocatable */
709 .BaseClass: false,
710 offsetof(SystemZRegisterClassStorage, SubClassMasks[3]) - 1 * sizeof(MCRegisterClass),
711 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[14]) - 1 * sizeof(MCRegisterClass),
712 .LaneMask: LaneBitmask(0x0000000000000001),
713 .AllocationPriority: 0,
714 .GlobalPriority: false,
715 .TSFlags: 0x00, /* TSFlags */
716 .SpillStackID: 0, /* SpillStackID */
717 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
718 .CoveredBySubRegs: false, /* CoveredBySubRegs */
719 offsetof(SystemZRegisterClassStorage, SuperClasses[0]) - 1 * sizeof(MCRegisterClass),
720 .SuperClassesSize: 1
721 },
722 {
723 offsetof(SystemZRegisterClassStorage, Regs[48]) - 2 * sizeof(MCRegisterClass),
724 offsetof(SystemZRegisterClassStorage, BitSets[6]) - 2 * sizeof(MCRegisterClass),
725 .NameIdx: 115,
726 .RegSizeInBits: 32,
727 .RegsSize: 32,
728 .RegSetBegin: 187, /* MinRegVal */
729 .RegSetSize: 32, /* RegSetSize */
730 .ID: SystemZ::GRX32BitRegClassID,
731 .CopyCost: 1, /* CopyCost */
732 .Allocatable: true, /* Allocatable */
733 .BaseClass: false,
734 offsetof(SystemZRegisterClassStorage, SubClassMasks[6]) - 2 * sizeof(MCRegisterClass),
735 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[9]) - 2 * sizeof(MCRegisterClass),
736 .LaneMask: LaneBitmask(0x0000000000000001),
737 .AllocationPriority: 0,
738 .GlobalPriority: false,
739 .TSFlags: 0x00, /* TSFlags */
740 .SpillStackID: 0, /* SpillStackID */
741 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
742 .CoveredBySubRegs: false, /* CoveredBySubRegs */
743 offsetof(SystemZRegisterClassStorage, SuperClasses[1]) - 2 * sizeof(MCRegisterClass),
744 .SuperClassesSize: 0
745 },
746 {
747 offsetof(SystemZRegisterClassStorage, Regs[80]) - 3 * sizeof(MCRegisterClass),
748 offsetof(SystemZRegisterClassStorage, BitSets[10]) - 3 * sizeof(MCRegisterClass),
749 .NameIdx: 107,
750 .RegSizeInBits: 32,
751 .RegsSize: 32,
752 .RegSetBegin: 139, /* MinRegVal */
753 .RegSetSize: 32, /* RegSetSize */
754 .ID: SystemZ::VR32BitRegClassID,
755 .CopyCost: 1, /* CopyCost */
756 .Allocatable: true, /* Allocatable */
757 .BaseClass: false,
758 offsetof(SystemZRegisterClassStorage, SubClassMasks[11]) - 3 * sizeof(MCRegisterClass),
759 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[3]) - 3 * sizeof(MCRegisterClass),
760 .LaneMask: LaneBitmask(0x0000000000000001),
761 .AllocationPriority: 0,
762 .GlobalPriority: false,
763 .TSFlags: 0x00, /* TSFlags */
764 .SpillStackID: 0, /* SpillStackID */
765 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
766 .CoveredBySubRegs: false, /* CoveredBySubRegs */
767 offsetof(SystemZRegisterClassStorage, SuperClasses[1]) - 3 * sizeof(MCRegisterClass),
768 .SuperClassesSize: 0
769 },
770 {
771 offsetof(SystemZRegisterClassStorage, Regs[112]) - 4 * sizeof(MCRegisterClass),
772 offsetof(SystemZRegisterClassStorage, BitSets[14]) - 4 * sizeof(MCRegisterClass),
773 .NameIdx: 81,
774 .RegSizeInBits: 32,
775 .RegsSize: 16,
776 .RegSetBegin: 3, /* MinRegVal */
777 .RegSetSize: 16, /* RegSetSize */
778 .ID: SystemZ::AR32BitRegClassID,
779 .CopyCost: 1, /* CopyCost */
780 .Allocatable: false, /* Allocatable */
781 .BaseClass: false,
782 offsetof(SystemZRegisterClassStorage, SubClassMasks[14]) - 4 * sizeof(MCRegisterClass),
783 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[2]) - 4 * sizeof(MCRegisterClass),
784 .LaneMask: LaneBitmask(0x0000000000000001),
785 .AllocationPriority: 0,
786 .GlobalPriority: false,
787 .TSFlags: 0x00, /* TSFlags */
788 .SpillStackID: 0, /* SpillStackID */
789 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
790 .CoveredBySubRegs: false, /* CoveredBySubRegs */
791 offsetof(SystemZRegisterClassStorage, SuperClasses[1]) - 4 * sizeof(MCRegisterClass),
792 .SuperClassesSize: 0
793 },
794 {
795 offsetof(SystemZRegisterClassStorage, Regs[128]) - 5 * sizeof(MCRegisterClass),
796 offsetof(SystemZRegisterClassStorage, BitSets[16]) - 5 * sizeof(MCRegisterClass),
797 .NameIdx: 73,
798 .RegSizeInBits: 32,
799 .RegsSize: 16,
800 .RegSetBegin: 139, /* MinRegVal */
801 .RegSetSize: 16, /* RegSetSize */
802 .ID: SystemZ::FP32BitRegClassID,
803 .CopyCost: 1, /* CopyCost */
804 .Allocatable: true, /* Allocatable */
805 .BaseClass: false,
806 offsetof(SystemZRegisterClassStorage, SubClassMasks[15]) - 5 * sizeof(MCRegisterClass),
807 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[3]) - 5 * sizeof(MCRegisterClass),
808 .LaneMask: LaneBitmask(0x0000000000000001),
809 .AllocationPriority: 0,
810 .GlobalPriority: false,
811 .TSFlags: 0x00, /* TSFlags */
812 .SpillStackID: 0, /* SpillStackID */
813 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
814 .CoveredBySubRegs: false, /* CoveredBySubRegs */
815 offsetof(SystemZRegisterClassStorage, SuperClasses[1]) - 5 * sizeof(MCRegisterClass),
816 .SuperClassesSize: 1
817 },
818 {
819 offsetof(SystemZRegisterClassStorage, Regs[144]) - 6 * sizeof(MCRegisterClass),
820 offsetof(SystemZRegisterClassStorage, BitSets[18]) - 6 * sizeof(MCRegisterClass),
821 .NameIdx: 99,
822 .RegSizeInBits: 32,
823 .RegsSize: 16,
824 .RegSetBegin: 203, /* MinRegVal */
825 .RegSetSize: 16, /* RegSetSize */
826 .ID: SystemZ::GR32BitRegClassID,
827 .CopyCost: 1, /* CopyCost */
828 .Allocatable: true, /* Allocatable */
829 .BaseClass: false,
830 offsetof(SystemZRegisterClassStorage, SubClassMasks[18]) - 6 * sizeof(MCRegisterClass),
831 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[6]) - 6 * sizeof(MCRegisterClass),
832 .LaneMask: LaneBitmask(0x0000000000000001),
833 .AllocationPriority: 0,
834 .GlobalPriority: false,
835 .TSFlags: 0x00, /* TSFlags */
836 .SpillStackID: 0, /* SpillStackID */
837 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
838 .CoveredBySubRegs: false, /* CoveredBySubRegs */
839 offsetof(SystemZRegisterClassStorage, SuperClasses[2]) - 6 * sizeof(MCRegisterClass),
840 .SuperClassesSize: 1
841 },
842 {
843 offsetof(SystemZRegisterClassStorage, Regs[160]) - 7 * sizeof(MCRegisterClass),
844 offsetof(SystemZRegisterClassStorage, BitSets[20]) - 7 * sizeof(MCRegisterClass),
845 .NameIdx: 64,
846 .RegSizeInBits: 32,
847 .RegsSize: 16,
848 .RegSetBegin: 187, /* MinRegVal */
849 .RegSetSize: 16, /* RegSetSize */
850 .ID: SystemZ::GRH32BitRegClassID,
851 .CopyCost: 1, /* CopyCost */
852 .Allocatable: true, /* Allocatable */
853 .BaseClass: false,
854 offsetof(SystemZRegisterClassStorage, SubClassMasks[21]) - 7 * sizeof(MCRegisterClass),
855 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[3]) - 7 * sizeof(MCRegisterClass),
856 .LaneMask: LaneBitmask(0x0000000000000001),
857 .AllocationPriority: 0,
858 .GlobalPriority: false,
859 .TSFlags: 0x00, /* TSFlags */
860 .SpillStackID: 0, /* SpillStackID */
861 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
862 .CoveredBySubRegs: false, /* CoveredBySubRegs */
863 offsetof(SystemZRegisterClassStorage, SuperClasses[3]) - 7 * sizeof(MCRegisterClass),
864 .SuperClassesSize: 1
865 },
866 {
867 offsetof(SystemZRegisterClassStorage, Regs[176]) - 8 * sizeof(MCRegisterClass),
868 offsetof(SystemZRegisterClassStorage, BitSets[22]) - 8 * sizeof(MCRegisterClass),
869 .NameIdx: 89,
870 .RegSizeInBits: 32,
871 .RegsSize: 15,
872 .RegSetBegin: 204, /* MinRegVal */
873 .RegSetSize: 15, /* RegSetSize */
874 .ID: SystemZ::ADDR32BitRegClassID,
875 .CopyCost: 1, /* CopyCost */
876 .Allocatable: true, /* Allocatable */
877 .BaseClass: false,
878 offsetof(SystemZRegisterClassStorage, SubClassMasks[24]) - 8 * sizeof(MCRegisterClass),
879 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[6]) - 8 * sizeof(MCRegisterClass),
880 .LaneMask: LaneBitmask(0x0000000000000001),
881 .AllocationPriority: 0,
882 .GlobalPriority: false,
883 .TSFlags: 0x00, /* TSFlags */
884 .SpillStackID: 0, /* SpillStackID */
885 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
886 .CoveredBySubRegs: false, /* CoveredBySubRegs */
887 offsetof(SystemZRegisterClassStorage, SuperClasses[4]) - 8 * sizeof(MCRegisterClass),
888 .SuperClassesSize: 2
889 },
890 {
891 offsetof(SystemZRegisterClassStorage, Regs[191]) - 9 * sizeof(MCRegisterClass),
892 offsetof(SystemZRegisterClassStorage, BitSets[24]) - 9 * sizeof(MCRegisterClass),
893 .NameIdx: 52,
894 .RegSizeInBits: 32,
895 .RegsSize: 1,
896 .RegSetBegin: 1, /* MinRegVal */
897 .RegSetSize: 1, /* RegSetSize */
898 .ID: SystemZ::CCRRegClassID,
899 .CopyCost: 255, /* CopyCost */
900 .Allocatable: false, /* Allocatable */
901 .BaseClass: false,
902 offsetof(SystemZRegisterClassStorage, SubClassMasks[27]) - 9 * sizeof(MCRegisterClass),
903 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[2]) - 9 * sizeof(MCRegisterClass),
904 .LaneMask: LaneBitmask(0x0000000000000001),
905 .AllocationPriority: 0,
906 .GlobalPriority: false,
907 .TSFlags: 0x00, /* TSFlags */
908 .SpillStackID: 0, /* SpillStackID */
909 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
910 .CoveredBySubRegs: false, /* CoveredBySubRegs */
911 offsetof(SystemZRegisterClassStorage, SuperClasses[6]) - 9 * sizeof(MCRegisterClass),
912 .SuperClassesSize: 0
913 },
914 {
915 offsetof(SystemZRegisterClassStorage, Regs[192]) - 10 * sizeof(MCRegisterClass),
916 offsetof(SystemZRegisterClassStorage, BitSets[25]) - 10 * sizeof(MCRegisterClass),
917 .NameIdx: 56,
918 .RegSizeInBits: 32,
919 .RegsSize: 1,
920 .RegSetBegin: 2, /* MinRegVal */
921 .RegSetSize: 1, /* RegSetSize */
922 .ID: SystemZ::FPCRegsRegClassID,
923 .CopyCost: 1, /* CopyCost */
924 .Allocatable: false, /* Allocatable */
925 .BaseClass: false,
926 offsetof(SystemZRegisterClassStorage, SubClassMasks[28]) - 10 * sizeof(MCRegisterClass),
927 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[2]) - 10 * sizeof(MCRegisterClass),
928 .LaneMask: LaneBitmask(0x0000000000000001),
929 .AllocationPriority: 0,
930 .GlobalPriority: false,
931 .TSFlags: 0x00, /* TSFlags */
932 .SpillStackID: 0, /* SpillStackID */
933 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
934 .CoveredBySubRegs: false, /* CoveredBySubRegs */
935 offsetof(SystemZRegisterClassStorage, SuperClasses[6]) - 10 * sizeof(MCRegisterClass),
936 .SuperClassesSize: 0
937 },
938 {
939 offsetof(SystemZRegisterClassStorage, Regs[193]) - 11 * sizeof(MCRegisterClass),
940 offsetof(SystemZRegisterClassStorage, BitSets[26]) - 11 * sizeof(MCRegisterClass),
941 .NameIdx: 229,
942 .RegSizeInBits: 64,
943 .RegsSize: 48,
944 .RegSetBegin: 35, /* MinRegVal */
945 .RegSetSize: 152, /* RegSetSize */
946 .ID: SystemZ::AnyRegBitRegClassID,
947 .CopyCost: 1, /* CopyCost */
948 .Allocatable: false, /* Allocatable */
949 .BaseClass: false,
950 offsetof(SystemZRegisterClassStorage, SubClassMasks[29]) - 11 * sizeof(MCRegisterClass),
951 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[0]) - 11 * sizeof(MCRegisterClass),
952 .LaneMask: LaneBitmask(0x0000000000000003),
953 .AllocationPriority: 0,
954 .GlobalPriority: false,
955 .TSFlags: 0x00, /* TSFlags */
956 .SpillStackID: 0, /* SpillStackID */
957 .HasDisjunctSubRegs: true, /* HasDisjunctSubRegs */
958 .CoveredBySubRegs: false, /* CoveredBySubRegs */
959 offsetof(SystemZRegisterClassStorage, SuperClasses[6]) - 11 * sizeof(MCRegisterClass),
960 .SuperClassesSize: 0
961 },
962 {
963 offsetof(SystemZRegisterClassStorage, Regs[241]) - 12 * sizeof(MCRegisterClass),
964 offsetof(SystemZRegisterClassStorage, BitSets[45]) - 12 * sizeof(MCRegisterClass),
965 .NameIdx: 26,
966 .RegSizeInBits: 64,
967 .RegsSize: 32,
968 .RegSetBegin: 35, /* MinRegVal */
969 .RegSetSize: 48, /* RegSetSize */
970 .ID: SystemZ::AnyRegBit_with_subreg_h16RegClassID,
971 .CopyCost: 1, /* CopyCost */
972 .Allocatable: false, /* Allocatable */
973 .BaseClass: false,
974 offsetof(SystemZRegisterClassStorage, SubClassMasks[32]) - 12 * sizeof(MCRegisterClass),
975 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[0]) - 12 * sizeof(MCRegisterClass),
976 .LaneMask: LaneBitmask(0x0000000000000003),
977 .AllocationPriority: 0,
978 .GlobalPriority: false,
979 .TSFlags: 0x00, /* TSFlags */
980 .SpillStackID: 0, /* SpillStackID */
981 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
982 .CoveredBySubRegs: false, /* CoveredBySubRegs */
983 offsetof(SystemZRegisterClassStorage, SuperClasses[6]) - 12 * sizeof(MCRegisterClass),
984 .SuperClassesSize: 1
985 },
986 {
987 offsetof(SystemZRegisterClassStorage, Regs[273]) - 13 * sizeof(MCRegisterClass),
988 offsetof(SystemZRegisterClassStorage, BitSets[51]) - 13 * sizeof(MCRegisterClass),
989 .NameIdx: 158,
990 .RegSizeInBits: 64,
991 .RegsSize: 32,
992 .RegSetBegin: 67, /* MinRegVal */
993 .RegSetSize: 32, /* RegSetSize */
994 .ID: SystemZ::VR64BitRegClassID,
995 .CopyCost: 1, /* CopyCost */
996 .Allocatable: true, /* Allocatable */
997 .BaseClass: false,
998 offsetof(SystemZRegisterClassStorage, SubClassMasks[35]) - 13 * sizeof(MCRegisterClass),
999 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[0]) - 13 * sizeof(MCRegisterClass),
1000 .LaneMask: LaneBitmask(0x0000000000000001),
1001 .AllocationPriority: 0,
1002 .GlobalPriority: false,
1003 .TSFlags: 0x00, /* TSFlags */
1004 .SpillStackID: 0, /* SpillStackID */
1005 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
1006 .CoveredBySubRegs: false, /* CoveredBySubRegs */
1007 offsetof(SystemZRegisterClassStorage, SuperClasses[7]) - 13 * sizeof(MCRegisterClass),
1008 .SuperClassesSize: 0
1009 },
1010 {
1011 offsetof(SystemZRegisterClassStorage, Regs[305]) - 14 * sizeof(MCRegisterClass),
1012 offsetof(SystemZRegisterClassStorage, BitSets[55]) - 14 * sizeof(MCRegisterClass),
1013 .NameIdx: 0,
1014 .RegSizeInBits: 64,
1015 .RegsSize: 16,
1016 .RegSetBegin: 35, /* MinRegVal */
1017 .RegSetSize: 16, /* RegSetSize */
1018 .ID: SystemZ::AnyRegBit_with_subreg_h64RegClassID,
1019 .CopyCost: 1, /* CopyCost */
1020 .Allocatable: false, /* Allocatable */
1021 .BaseClass: false,
1022 offsetof(SystemZRegisterClassStorage, SubClassMasks[38]) - 14 * sizeof(MCRegisterClass),
1023 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[2]) - 14 * sizeof(MCRegisterClass),
1024 .LaneMask: LaneBitmask(0x0000000000000003),
1025 .AllocationPriority: 0,
1026 .GlobalPriority: false,
1027 .TSFlags: 0x00, /* TSFlags */
1028 .SpillStackID: 0, /* SpillStackID */
1029 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
1030 .CoveredBySubRegs: false, /* CoveredBySubRegs */
1031 offsetof(SystemZRegisterClassStorage, SuperClasses[7]) - 14 * sizeof(MCRegisterClass),
1032 .SuperClassesSize: 2
1033 },
1034 {
1035 offsetof(SystemZRegisterClassStorage, Regs[321]) - 15 * sizeof(MCRegisterClass),
1036 offsetof(SystemZRegisterClassStorage, BitSets[57]) - 15 * sizeof(MCRegisterClass),
1037 .NameIdx: 132,
1038 .RegSizeInBits: 64,
1039 .RegsSize: 16,
1040 .RegSetBegin: 19, /* MinRegVal */
1041 .RegSetSize: 16, /* RegSetSize */
1042 .ID: SystemZ::CR64BitRegClassID,
1043 .CopyCost: 1, /* CopyCost */
1044 .Allocatable: false, /* Allocatable */
1045 .BaseClass: false,
1046 offsetof(SystemZRegisterClassStorage, SubClassMasks[39]) - 15 * sizeof(MCRegisterClass),
1047 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[2]) - 15 * sizeof(MCRegisterClass),
1048 .LaneMask: LaneBitmask(0x0000000000000001),
1049 .AllocationPriority: 0,
1050 .GlobalPriority: false,
1051 .TSFlags: 0x00, /* TSFlags */
1052 .SpillStackID: 0, /* SpillStackID */
1053 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
1054 .CoveredBySubRegs: false, /* CoveredBySubRegs */
1055 offsetof(SystemZRegisterClassStorage, SuperClasses[9]) - 15 * sizeof(MCRegisterClass),
1056 .SuperClassesSize: 0
1057 },
1058 {
1059 offsetof(SystemZRegisterClassStorage, Regs[337]) - 16 * sizeof(MCRegisterClass),
1060 offsetof(SystemZRegisterClassStorage, BitSets[59]) - 16 * sizeof(MCRegisterClass),
1061 .NameIdx: 124,
1062 .RegSizeInBits: 64,
1063 .RegsSize: 16,
1064 .RegSetBegin: 67, /* MinRegVal */
1065 .RegSetSize: 16, /* RegSetSize */
1066 .ID: SystemZ::FP64BitRegClassID,
1067 .CopyCost: 1, /* CopyCost */
1068 .Allocatable: true, /* Allocatable */
1069 .BaseClass: false,
1070 offsetof(SystemZRegisterClassStorage, SubClassMasks[40]) - 16 * sizeof(MCRegisterClass),
1071 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[0]) - 16 * sizeof(MCRegisterClass),
1072 .LaneMask: LaneBitmask(0x0000000000000001),
1073 .AllocationPriority: 0,
1074 .GlobalPriority: false,
1075 .TSFlags: 0x00, /* TSFlags */
1076 .SpillStackID: 0, /* SpillStackID */
1077 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
1078 .CoveredBySubRegs: false, /* CoveredBySubRegs */
1079 offsetof(SystemZRegisterClassStorage, SuperClasses[9]) - 16 * sizeof(MCRegisterClass),
1080 .SuperClassesSize: 3
1081 },
1082 {
1083 offsetof(SystemZRegisterClassStorage, Regs[353]) - 17 * sizeof(MCRegisterClass),
1084 offsetof(SystemZRegisterClassStorage, BitSets[61]) - 17 * sizeof(MCRegisterClass),
1085 .NameIdx: 150,
1086 .RegSizeInBits: 64,
1087 .RegsSize: 16,
1088 .RegSetBegin: 171, /* MinRegVal */
1089 .RegSetSize: 16, /* RegSetSize */
1090 .ID: SystemZ::GR64BitRegClassID,
1091 .CopyCost: 1, /* CopyCost */
1092 .Allocatable: true, /* Allocatable */
1093 .BaseClass: false,
1094 offsetof(SystemZRegisterClassStorage, SubClassMasks[43]) - 17 * sizeof(MCRegisterClass),
1095 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[0]) - 17 * sizeof(MCRegisterClass),
1096 .LaneMask: LaneBitmask(0x0000000000000003),
1097 .AllocationPriority: 0,
1098 .GlobalPriority: false,
1099 .TSFlags: 0x00, /* TSFlags */
1100 .SpillStackID: 0, /* SpillStackID */
1101 .HasDisjunctSubRegs: true, /* HasDisjunctSubRegs */
1102 .CoveredBySubRegs: true, /* CoveredBySubRegs */
1103 offsetof(SystemZRegisterClassStorage, SuperClasses[12]) - 17 * sizeof(MCRegisterClass),
1104 .SuperClassesSize: 1
1105 },
1106 {
1107 offsetof(SystemZRegisterClassStorage, Regs[369]) - 18 * sizeof(MCRegisterClass),
1108 offsetof(SystemZRegisterClassStorage, BitSets[63]) - 18 * sizeof(MCRegisterClass),
1109 .NameIdx: 140,
1110 .RegSizeInBits: 64,
1111 .RegsSize: 15,
1112 .RegSetBegin: 172, /* MinRegVal */
1113 .RegSetSize: 15, /* RegSetSize */
1114 .ID: SystemZ::ADDR64BitRegClassID,
1115 .CopyCost: 1, /* CopyCost */
1116 .Allocatable: true, /* Allocatable */
1117 .BaseClass: false,
1118 offsetof(SystemZRegisterClassStorage, SubClassMasks[46]) - 18 * sizeof(MCRegisterClass),
1119 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[0]) - 18 * sizeof(MCRegisterClass),
1120 .LaneMask: LaneBitmask(0x0000000000000003),
1121 .AllocationPriority: 0,
1122 .GlobalPriority: false,
1123 .TSFlags: 0x00, /* TSFlags */
1124 .SpillStackID: 0, /* SpillStackID */
1125 .HasDisjunctSubRegs: true, /* HasDisjunctSubRegs */
1126 .CoveredBySubRegs: true, /* CoveredBySubRegs */
1127 offsetof(SystemZRegisterClassStorage, SuperClasses[13]) - 18 * sizeof(MCRegisterClass),
1128 .SuperClassesSize: 2
1129 },
1130 {
1131 offsetof(SystemZRegisterClassStorage, Regs[384]) - 19 * sizeof(MCRegisterClass),
1132 offsetof(SystemZRegisterClassStorage, BitSets[65]) - 19 * sizeof(MCRegisterClass),
1133 .NameIdx: 220,
1134 .RegSizeInBits: 128,
1135 .RegsSize: 32,
1136 .RegSetBegin: 35, /* MinRegVal */
1137 .RegSetSize: 32, /* RegSetSize */
1138 .ID: SystemZ::VR128BitRegClassID,
1139 .CopyCost: 1, /* CopyCost */
1140 .Allocatable: true, /* Allocatable */
1141 .BaseClass: false,
1142 offsetof(SystemZRegisterClassStorage, SubClassMasks[49]) - 19 * sizeof(MCRegisterClass),
1143 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[2]) - 19 * sizeof(MCRegisterClass),
1144 .LaneMask: LaneBitmask(0x0000000000000003),
1145 .AllocationPriority: 0,
1146 .GlobalPriority: false,
1147 .TSFlags: 0x00, /* TSFlags */
1148 .SpillStackID: 0, /* SpillStackID */
1149 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
1150 .CoveredBySubRegs: false, /* CoveredBySubRegs */
1151 offsetof(SystemZRegisterClassStorage, SuperClasses[15]) - 19 * sizeof(MCRegisterClass),
1152 .SuperClassesSize: 0
1153 },
1154 {
1155 offsetof(SystemZRegisterClassStorage, Regs[416]) - 20 * sizeof(MCRegisterClass),
1156 offsetof(SystemZRegisterClassStorage, BitSets[69]) - 20 * sizeof(MCRegisterClass),
1157 .NameIdx: 182,
1158 .RegSizeInBits: 128,
1159 .RegsSize: 16,
1160 .RegSetBegin: 35, /* MinRegVal */
1161 .RegSetSize: 16, /* RegSetSize */
1162 .ID: SystemZ::VF128BitRegClassID,
1163 .CopyCost: 1, /* CopyCost */
1164 .Allocatable: true, /* Allocatable */
1165 .BaseClass: false,
1166 offsetof(SystemZRegisterClassStorage, SubClassMasks[50]) - 20 * sizeof(MCRegisterClass),
1167 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[2]) - 20 * sizeof(MCRegisterClass),
1168 .LaneMask: LaneBitmask(0x0000000000000003),
1169 .AllocationPriority: 0,
1170 .GlobalPriority: false,
1171 .TSFlags: 0x00, /* TSFlags */
1172 .SpillStackID: 0, /* SpillStackID */
1173 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
1174 .CoveredBySubRegs: false, /* CoveredBySubRegs */
1175 offsetof(SystemZRegisterClassStorage, SuperClasses[15]) - 20 * sizeof(MCRegisterClass),
1176 .SuperClassesSize: 4
1177 },
1178 {
1179 offsetof(SystemZRegisterClassStorage, Regs[432]) - 21 * sizeof(MCRegisterClass),
1180 offsetof(SystemZRegisterClassStorage, BitSets[71]) - 21 * sizeof(MCRegisterClass),
1181 .NameIdx: 191,
1182 .RegSizeInBits: 128,
1183 .RegsSize: 8,
1184 .RegSetBegin: 131, /* MinRegVal */
1185 .RegSetSize: 8, /* RegSetSize */
1186 .ID: SystemZ::FP128BitRegClassID,
1187 .CopyCost: 1, /* CopyCost */
1188 .Allocatable: true, /* Allocatable */
1189 .BaseClass: false,
1190 offsetof(SystemZRegisterClassStorage, SubClassMasks[51]) - 21 * sizeof(MCRegisterClass),
1191 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[2]) - 21 * sizeof(MCRegisterClass),
1192 .LaneMask: LaneBitmask(0x000000000000000F),
1193 .AllocationPriority: 0,
1194 .GlobalPriority: false,
1195 .TSFlags: 0x00, /* TSFlags */
1196 .SpillStackID: 0, /* SpillStackID */
1197 .HasDisjunctSubRegs: true, /* HasDisjunctSubRegs */
1198 .CoveredBySubRegs: true, /* CoveredBySubRegs */
1199 offsetof(SystemZRegisterClassStorage, SuperClasses[19]) - 21 * sizeof(MCRegisterClass),
1200 .SuperClassesSize: 0
1201 },
1202 {
1203 offsetof(SystemZRegisterClassStorage, Regs[440]) - 22 * sizeof(MCRegisterClass),
1204 offsetof(SystemZRegisterClassStorage, BitSets[72]) - 22 * sizeof(MCRegisterClass),
1205 .NameIdx: 211,
1206 .RegSizeInBits: 128,
1207 .RegsSize: 8,
1208 .RegSetBegin: 219, /* MinRegVal */
1209 .RegSetSize: 8, /* RegSetSize */
1210 .ID: SystemZ::GR128BitRegClassID,
1211 .CopyCost: 1, /* CopyCost */
1212 .Allocatable: true, /* Allocatable */
1213 .BaseClass: false,
1214 offsetof(SystemZRegisterClassStorage, SubClassMasks[52]) - 22 * sizeof(MCRegisterClass),
1215 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[2]) - 22 * sizeof(MCRegisterClass),
1216 .LaneMask: LaneBitmask(0x000000000000000F),
1217 .AllocationPriority: 0,
1218 .GlobalPriority: false,
1219 .TSFlags: 0x00, /* TSFlags */
1220 .SpillStackID: 0, /* SpillStackID */
1221 .HasDisjunctSubRegs: true, /* HasDisjunctSubRegs */
1222 .CoveredBySubRegs: true, /* CoveredBySubRegs */
1223 offsetof(SystemZRegisterClassStorage, SuperClasses[19]) - 22 * sizeof(MCRegisterClass),
1224 .SuperClassesSize: 0
1225 },
1226 {
1227 offsetof(SystemZRegisterClassStorage, Regs[448]) - 23 * sizeof(MCRegisterClass),
1228 offsetof(SystemZRegisterClassStorage, BitSets[73]) - 23 * sizeof(MCRegisterClass),
1229 .NameIdx: 200,
1230 .RegSizeInBits: 128,
1231 .RegsSize: 7,
1232 .RegSetBegin: 220, /* MinRegVal */
1233 .RegSetSize: 7, /* RegSetSize */
1234 .ID: SystemZ::ADDR128BitRegClassID,
1235 .CopyCost: 1, /* CopyCost */
1236 .Allocatable: true, /* Allocatable */
1237 .BaseClass: false,
1238 offsetof(SystemZRegisterClassStorage, SubClassMasks[53]) - 23 * sizeof(MCRegisterClass),
1239 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[2]) - 23 * sizeof(MCRegisterClass),
1240 .LaneMask: LaneBitmask(0x000000000000000F),
1241 .AllocationPriority: 0,
1242 .GlobalPriority: false,
1243 .TSFlags: 0x00, /* TSFlags */
1244 .SpillStackID: 0, /* SpillStackID */
1245 .HasDisjunctSubRegs: true, /* HasDisjunctSubRegs */
1246 .CoveredBySubRegs: true, /* CoveredBySubRegs */
1247 offsetof(SystemZRegisterClassStorage, SuperClasses[19]) - 23 * sizeof(MCRegisterClass),
1248 .SuperClassesSize: 1
1249 },
1250 },
1251 .Regs: {
1252 /* 0 */ SystemZ::F0H, SystemZ::F1H, SystemZ::F2H, SystemZ::F3H, SystemZ::F4H, SystemZ::F5H, SystemZ::F6H, SystemZ::F7H, SystemZ::F16H, SystemZ::F17H, SystemZ::F18H, SystemZ::F19H, SystemZ::F20H, SystemZ::F21H, SystemZ::F22H, SystemZ::F23H, SystemZ::F24H, SystemZ::F25H, SystemZ::F26H, SystemZ::F27H, SystemZ::F28H, SystemZ::F29H, SystemZ::F30H, SystemZ::F31H, SystemZ::F8H, SystemZ::F9H, SystemZ::F10H, SystemZ::F11H, SystemZ::F12H, SystemZ::F13H, SystemZ::F14H, SystemZ::F15H,
1253 /* 32 */ SystemZ::F0H, SystemZ::F1H, SystemZ::F2H, SystemZ::F3H, SystemZ::F4H, SystemZ::F5H, SystemZ::F6H, SystemZ::F7H, SystemZ::F8H, SystemZ::F9H, SystemZ::F10H, SystemZ::F11H, SystemZ::F12H, SystemZ::F13H, SystemZ::F14H, SystemZ::F15H,
1254 /* 48 */ SystemZ::R0L, SystemZ::R1L, SystemZ::R2L, SystemZ::R3L, SystemZ::R4L, SystemZ::R5L, SystemZ::R0H, SystemZ::R1H, SystemZ::R2H, SystemZ::R3H, SystemZ::R4H, SystemZ::R5H, SystemZ::R15L, SystemZ::R15H, SystemZ::R14L, SystemZ::R14H, SystemZ::R13L, SystemZ::R13H, SystemZ::R12L, SystemZ::R12H, SystemZ::R11L, SystemZ::R11H, SystemZ::R10L, SystemZ::R10H, SystemZ::R9L, SystemZ::R9H, SystemZ::R8L, SystemZ::R8H, SystemZ::R7L, SystemZ::R7H, SystemZ::R6L, SystemZ::R6H,
1255 /* 80 */ SystemZ::F0S, SystemZ::F1S, SystemZ::F2S, SystemZ::F3S, SystemZ::F4S, SystemZ::F5S, SystemZ::F6S, SystemZ::F7S, SystemZ::F16S, SystemZ::F17S, SystemZ::F18S, SystemZ::F19S, SystemZ::F20S, SystemZ::F21S, SystemZ::F22S, SystemZ::F23S, SystemZ::F24S, SystemZ::F25S, SystemZ::F26S, SystemZ::F27S, SystemZ::F28S, SystemZ::F29S, SystemZ::F30S, SystemZ::F31S, SystemZ::F8S, SystemZ::F9S, SystemZ::F10S, SystemZ::F11S, SystemZ::F12S, SystemZ::F13S, SystemZ::F14S, SystemZ::F15S,
1256 /* 112 */ SystemZ::A0, SystemZ::A1, SystemZ::A2, SystemZ::A3, SystemZ::A4, SystemZ::A5, SystemZ::A6, SystemZ::A7, SystemZ::A8, SystemZ::A9, SystemZ::A10, SystemZ::A11, SystemZ::A12, SystemZ::A13, SystemZ::A14, SystemZ::A15,
1257 /* 128 */ SystemZ::F0S, SystemZ::F1S, SystemZ::F2S, SystemZ::F3S, SystemZ::F4S, SystemZ::F5S, SystemZ::F6S, SystemZ::F7S, SystemZ::F8S, SystemZ::F9S, SystemZ::F10S, SystemZ::F11S, SystemZ::F12S, SystemZ::F13S, SystemZ::F14S, SystemZ::F15S,
1258 /* 144 */ SystemZ::R0L, SystemZ::R1L, SystemZ::R2L, SystemZ::R3L, SystemZ::R4L, SystemZ::R5L, SystemZ::R15L, SystemZ::R14L, SystemZ::R13L, SystemZ::R12L, SystemZ::R11L, SystemZ::R10L, SystemZ::R9L, SystemZ::R8L, SystemZ::R7L, SystemZ::R6L,
1259 /* 160 */ SystemZ::R0H, SystemZ::R1H, SystemZ::R2H, SystemZ::R3H, SystemZ::R4H, SystemZ::R5H, SystemZ::R15H, SystemZ::R14H, SystemZ::R13H, SystemZ::R12H, SystemZ::R11H, SystemZ::R10H, SystemZ::R9H, SystemZ::R8H, SystemZ::R7H, SystemZ::R6H,
1260 /* 176 */ SystemZ::R1L, SystemZ::R2L, SystemZ::R3L, SystemZ::R4L, SystemZ::R5L, SystemZ::R15L, SystemZ::R14L, SystemZ::R13L, SystemZ::R12L, SystemZ::R11L, SystemZ::R10L, SystemZ::R9L, SystemZ::R8L, SystemZ::R7L, SystemZ::R6L,
1261 /* 191 */ SystemZ::CC,
1262 /* 192 */ SystemZ::FPC,
1263 /* 193 */ SystemZ::R0D, SystemZ::R1D, SystemZ::R2D, SystemZ::R3D, SystemZ::R4D, SystemZ::R5D, SystemZ::R6D, SystemZ::R7D, SystemZ::R8D, SystemZ::R9D, SystemZ::R10D, SystemZ::R11D, SystemZ::R12D, SystemZ::R13D, SystemZ::R14D, SystemZ::R15D, SystemZ::F0D, SystemZ::F1D, SystemZ::F2D, SystemZ::F3D, SystemZ::F4D, SystemZ::F5D, SystemZ::F6D, SystemZ::F7D, SystemZ::F8D, SystemZ::F9D, SystemZ::F10D, SystemZ::F11D, SystemZ::F12D, SystemZ::F13D, SystemZ::F14D, SystemZ::F15D, SystemZ::V0, SystemZ::V1, SystemZ::V2, SystemZ::V3, SystemZ::V4, SystemZ::V5, SystemZ::V6, SystemZ::V7, SystemZ::V8, SystemZ::V9, SystemZ::V10, SystemZ::V11, SystemZ::V12, SystemZ::V13, SystemZ::V14, SystemZ::V15,
1264 /* 241 */ SystemZ::F0D, SystemZ::F1D, SystemZ::F2D, SystemZ::F3D, SystemZ::F4D, SystemZ::F5D, SystemZ::F6D, SystemZ::F7D, SystemZ::F8D, SystemZ::F9D, SystemZ::F10D, SystemZ::F11D, SystemZ::F12D, SystemZ::F13D, SystemZ::F14D, SystemZ::F15D, SystemZ::V0, SystemZ::V1, SystemZ::V2, SystemZ::V3, SystemZ::V4, SystemZ::V5, SystemZ::V6, SystemZ::V7, SystemZ::V8, SystemZ::V9, SystemZ::V10, SystemZ::V11, SystemZ::V12, SystemZ::V13, SystemZ::V14, SystemZ::V15,
1265 /* 273 */ SystemZ::F0D, SystemZ::F1D, SystemZ::F2D, SystemZ::F3D, SystemZ::F4D, SystemZ::F5D, SystemZ::F6D, SystemZ::F7D, SystemZ::F16D, SystemZ::F17D, SystemZ::F18D, SystemZ::F19D, SystemZ::F20D, SystemZ::F21D, SystemZ::F22D, SystemZ::F23D, SystemZ::F24D, SystemZ::F25D, SystemZ::F26D, SystemZ::F27D, SystemZ::F28D, SystemZ::F29D, SystemZ::F30D, SystemZ::F31D, SystemZ::F8D, SystemZ::F9D, SystemZ::F10D, SystemZ::F11D, SystemZ::F12D, SystemZ::F13D, SystemZ::F14D, SystemZ::F15D,
1266 /* 305 */ SystemZ::V0, SystemZ::V1, SystemZ::V2, SystemZ::V3, SystemZ::V4, SystemZ::V5, SystemZ::V6, SystemZ::V7, SystemZ::V8, SystemZ::V9, SystemZ::V10, SystemZ::V11, SystemZ::V12, SystemZ::V13, SystemZ::V14, SystemZ::V15,
1267 /* 321 */ SystemZ::C0, SystemZ::C1, SystemZ::C2, SystemZ::C3, SystemZ::C4, SystemZ::C5, SystemZ::C6, SystemZ::C7, SystemZ::C8, SystemZ::C9, SystemZ::C10, SystemZ::C11, SystemZ::C12, SystemZ::C13, SystemZ::C14, SystemZ::C15,
1268 /* 337 */ SystemZ::F0D, SystemZ::F1D, SystemZ::F2D, SystemZ::F3D, SystemZ::F4D, SystemZ::F5D, SystemZ::F6D, SystemZ::F7D, SystemZ::F8D, SystemZ::F9D, SystemZ::F10D, SystemZ::F11D, SystemZ::F12D, SystemZ::F13D, SystemZ::F14D, SystemZ::F15D,
1269 /* 353 */ SystemZ::R0D, SystemZ::R1D, SystemZ::R2D, SystemZ::R3D, SystemZ::R4D, SystemZ::R5D, SystemZ::R15D, SystemZ::R14D, SystemZ::R13D, SystemZ::R12D, SystemZ::R11D, SystemZ::R10D, SystemZ::R9D, SystemZ::R8D, SystemZ::R7D, SystemZ::R6D,
1270 /* 369 */ SystemZ::R1D, SystemZ::R2D, SystemZ::R3D, SystemZ::R4D, SystemZ::R5D, SystemZ::R15D, SystemZ::R14D, SystemZ::R13D, SystemZ::R12D, SystemZ::R11D, SystemZ::R10D, SystemZ::R9D, SystemZ::R8D, SystemZ::R7D, SystemZ::R6D,
1271 /* 384 */ SystemZ::V0, SystemZ::V1, SystemZ::V2, SystemZ::V3, SystemZ::V4, SystemZ::V5, SystemZ::V6, SystemZ::V7, SystemZ::V16, SystemZ::V17, SystemZ::V18, SystemZ::V19, SystemZ::V20, SystemZ::V21, SystemZ::V22, SystemZ::V23, SystemZ::V24, SystemZ::V25, SystemZ::V26, SystemZ::V27, SystemZ::V28, SystemZ::V29, SystemZ::V30, SystemZ::V31, SystemZ::V8, SystemZ::V9, SystemZ::V10, SystemZ::V11, SystemZ::V12, SystemZ::V13, SystemZ::V14, SystemZ::V15,
1272 /* 416 */ SystemZ::V0, SystemZ::V1, SystemZ::V2, SystemZ::V3, SystemZ::V4, SystemZ::V5, SystemZ::V6, SystemZ::V7, SystemZ::V8, SystemZ::V9, SystemZ::V10, SystemZ::V11, SystemZ::V12, SystemZ::V13, SystemZ::V14, SystemZ::V15,
1273 /* 432 */ SystemZ::F0Q, SystemZ::F1Q, SystemZ::F4Q, SystemZ::F5Q, SystemZ::F8Q, SystemZ::F9Q, SystemZ::F12Q, SystemZ::F13Q,
1274 /* 440 */ SystemZ::R0Q, SystemZ::R2Q, SystemZ::R4Q, SystemZ::R12Q, SystemZ::R10Q, SystemZ::R8Q, SystemZ::R6Q, SystemZ::R14Q,
1275 /* 448 */ SystemZ::R2Q, SystemZ::R4Q, SystemZ::R12Q, SystemZ::R10Q, SystemZ::R8Q, SystemZ::R6Q, SystemZ::R14Q,
1276 },
1277 .BitSets: {
1278 /* 0 */ 0xff, 0xff, 0xff, 0xff,
1279 /* 4 */ 0xff, 0xff,
1280 /* 6 */ 0xff, 0xff, 0xff, 0xff,
1281 /* 10 */ 0xff, 0xff, 0xff, 0xff,
1282 /* 14 */ 0xff, 0xff,
1283 /* 16 */ 0xff, 0xff,
1284 /* 18 */ 0xff, 0xff,
1285 /* 20 */ 0xff, 0xff,
1286 /* 22 */ 0xff, 0x7f,
1287 /* 24 */ 0x01,
1288 /* 25 */ 0x01,
1289 /* 26 */ 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
1290 /* 45 */ 0xff, 0xff, 0x00, 0x00, 0xff, 0xff,
1291 /* 51 */ 0xff, 0xff, 0xff, 0xff,
1292 /* 55 */ 0xff, 0xff,
1293 /* 57 */ 0xff, 0xff,
1294 /* 59 */ 0xff, 0xff,
1295 /* 61 */ 0xff, 0xff,
1296 /* 63 */ 0xff, 0x7f,
1297 /* 65 */ 0xff, 0xff, 0xff, 0xff,
1298 /* 69 */ 0xff, 0xff,
1299 /* 71 */ 0xff,
1300 /* 72 */ 0xff,
1301 /* 73 */ 0x7f,
1302 },
1303 .SubClassMasks: {
1304 // 0 VR16Bit
1305 0x00000003,
1306 0x00397028, // subreg_h16
1307 0x00200000, // subreg_lh32_then_subreg_h16
1308 // 3 FP16Bit
1309 0x00000002,
1310 0x00315020, // subreg_h16
1311 0x00200000, // subreg_lh32_then_subreg_h16
1312 // 6 GRX32Bit
1313 0x000001c4,
1314 0x00c60000, // subreg_h32
1315 0x00c60000, // subreg_l32
1316 0x00c00000, // subreg_lh32
1317 0x00c00000, // subreg_ll32
1318 // 11 VR32Bit
1319 0x00000028,
1320 0x00397000, // subreg_h32
1321 0x00200000, // subreg_lh32
1322 // 14 AR32Bit
1323 0x00000010,
1324 // 15 FP32Bit
1325 0x00000020,
1326 0x00315000, // subreg_h32
1327 0x00200000, // subreg_lh32
1328 // 18 GR32Bit
1329 0x00000140,
1330 0x00c60000, // subreg_l32
1331 0x00c00000, // subreg_ll32
1332 // 21 GRH32Bit
1333 0x00000080,
1334 0x00c60000, // subreg_h32
1335 0x00c00000, // subreg_lh32
1336 // 24 ADDR32Bit
1337 0x00000100,
1338 0x00840000, // subreg_l32
1339 0x00c00000, // subreg_ll32
1340 // 27 CCR
1341 0x00000200,
1342 // 28 FPCRegs
1343 0x00000400,
1344 // 29 AnyRegBit
1345 0x00175800,
1346 0x00f04000, // subreg_h64
1347 0x00e00000, // subreg_l64
1348 // 32 AnyRegBit_with_subreg_h16
1349 0x00115000,
1350 0x00304000, // subreg_h64
1351 0x00200000, // subreg_l64
1352 // 35 VR64Bit
1353 0x00012000,
1354 0x00384000, // subreg_h64
1355 0x00200000, // subreg_l64
1356 // 38 AnyRegBit_with_subreg_h64
1357 0x00104000,
1358 // 39 CR64Bit
1359 0x00008000,
1360 // 40 FP64Bit
1361 0x00010000,
1362 0x00304000, // subreg_h64
1363 0x00200000, // subreg_l64
1364 // 43 GR64Bit
1365 0x00060000,
1366 0x00c00000, // subreg_h64
1367 0x00c00000, // subreg_l64
1368 // 46 ADDR64Bit
1369 0x00040000,
1370 0x00800000, // subreg_h64
1371 0x00c00000, // subreg_l64
1372 // 49 VR128Bit
1373 0x00180000,
1374 // 50 VF128Bit
1375 0x00100000,
1376 // 51 FP128Bit
1377 0x00200000,
1378 // 52 GR128Bit
1379 0x00c00000,
1380 // 53 ADDR128Bit
1381 0x00800000,
1382 },
1383 .SuperRegIdxSeqs: {
1384 /* 0 */ 3, 5, 0,
1385 /* 3 */ 2, 6, 0,
1386 /* 6 */ 4, 7, 0,
1387 /* 9 */ 2, 4, 6, 7, 0,
1388 /* 14 */ 1, 8, 0,
1389 },
1390 .SuperClasses: {
1391 /* 0 VR16Bit */
1392 /* 0 FP16Bit */ SystemZ::VR16BitRegClassID,
1393 /* 1 GRX32Bit */
1394 /* 1 VR32Bit */
1395 /* 1 AR32Bit */
1396 /* 1 FP32Bit */ SystemZ::VR32BitRegClassID,
1397 /* 2 GR32Bit */ SystemZ::GRX32BitRegClassID,
1398 /* 3 GRH32Bit */ SystemZ::GRX32BitRegClassID,
1399 /* 4 ADDR32Bit */ SystemZ::GRX32BitRegClassID, SystemZ::GR32BitRegClassID,
1400 /* 6 CCR */
1401 /* 6 FPCRegs */
1402 /* 6 AnyRegBit */
1403 /* 6 AnyRegBit_with_subreg_h16 */ SystemZ::AnyRegBitRegClassID,
1404 /* 7 VR64Bit */
1405 /* 7 AnyRegBit_with_subreg_h64 */ SystemZ::AnyRegBitRegClassID, SystemZ::AnyRegBit_with_subreg_h16RegClassID,
1406 /* 9 CR64Bit */
1407 /* 9 FP64Bit */ SystemZ::AnyRegBitRegClassID, SystemZ::AnyRegBit_with_subreg_h16RegClassID, SystemZ::VR64BitRegClassID,
1408 /* 12 GR64Bit */ SystemZ::AnyRegBitRegClassID,
1409 /* 13 ADDR64Bit */ SystemZ::AnyRegBitRegClassID, SystemZ::GR64BitRegClassID,
1410 /* 15 VR128Bit */
1411 /* 15 VF128Bit */ SystemZ::AnyRegBitRegClassID, SystemZ::AnyRegBit_with_subreg_h16RegClassID, SystemZ::AnyRegBit_with_subreg_h64RegClassID, SystemZ::VR128BitRegClassID,
1412 /* 19 FP128Bit */
1413 /* 19 GR128Bit */
1414 /* 19 ADDR128Bit */ SystemZ::GR128BitRegClassID,
1415 }
1416};
1417
1418const MCRegisterClass &getSystemZMCRegisterClass(unsigned RC) {
1419 return SystemZMCRegisterClassStorage.Classes[RC];
1420}
1421
1422// SystemZ Dwarf<->LLVM register mappings.
1423extern const MCRegisterInfo::DwarfLLVMRegPair SystemZDwarfFlavour0Dwarf2L[] = {
1424 { .FromReg: 0U, .ToReg: SystemZ::R0D },
1425 { .FromReg: 1U, .ToReg: SystemZ::R1D },
1426 { .FromReg: 2U, .ToReg: SystemZ::R2D },
1427 { .FromReg: 3U, .ToReg: SystemZ::R3D },
1428 { .FromReg: 4U, .ToReg: SystemZ::R4D },
1429 { .FromReg: 5U, .ToReg: SystemZ::R5D },
1430 { .FromReg: 6U, .ToReg: SystemZ::R6D },
1431 { .FromReg: 7U, .ToReg: SystemZ::R7D },
1432 { .FromReg: 8U, .ToReg: SystemZ::R8D },
1433 { .FromReg: 9U, .ToReg: SystemZ::R9D },
1434 { .FromReg: 10U, .ToReg: SystemZ::R10D },
1435 { .FromReg: 11U, .ToReg: SystemZ::R11D },
1436 { .FromReg: 12U, .ToReg: SystemZ::R12D },
1437 { .FromReg: 13U, .ToReg: SystemZ::R13D },
1438 { .FromReg: 14U, .ToReg: SystemZ::R14D },
1439 { .FromReg: 15U, .ToReg: SystemZ::R15D },
1440 { .FromReg: 16U, .ToReg: SystemZ::F0D },
1441 { .FromReg: 17U, .ToReg: SystemZ::F2D },
1442 { .FromReg: 18U, .ToReg: SystemZ::F4D },
1443 { .FromReg: 19U, .ToReg: SystemZ::F6D },
1444 { .FromReg: 20U, .ToReg: SystemZ::F1D },
1445 { .FromReg: 21U, .ToReg: SystemZ::F3D },
1446 { .FromReg: 22U, .ToReg: SystemZ::F5D },
1447 { .FromReg: 23U, .ToReg: SystemZ::F7D },
1448 { .FromReg: 24U, .ToReg: SystemZ::F8D },
1449 { .FromReg: 25U, .ToReg: SystemZ::F10D },
1450 { .FromReg: 26U, .ToReg: SystemZ::F12D },
1451 { .FromReg: 27U, .ToReg: SystemZ::F14D },
1452 { .FromReg: 28U, .ToReg: SystemZ::F9D },
1453 { .FromReg: 29U, .ToReg: SystemZ::F11D },
1454 { .FromReg: 30U, .ToReg: SystemZ::F13D },
1455 { .FromReg: 31U, .ToReg: SystemZ::F15D },
1456 { .FromReg: 32U, .ToReg: SystemZ::C0 },
1457 { .FromReg: 33U, .ToReg: SystemZ::C1 },
1458 { .FromReg: 34U, .ToReg: SystemZ::C2 },
1459 { .FromReg: 35U, .ToReg: SystemZ::C3 },
1460 { .FromReg: 36U, .ToReg: SystemZ::C4 },
1461 { .FromReg: 37U, .ToReg: SystemZ::C5 },
1462 { .FromReg: 38U, .ToReg: SystemZ::C6 },
1463 { .FromReg: 39U, .ToReg: SystemZ::C7 },
1464 { .FromReg: 40U, .ToReg: SystemZ::C8 },
1465 { .FromReg: 41U, .ToReg: SystemZ::C9 },
1466 { .FromReg: 42U, .ToReg: SystemZ::C10 },
1467 { .FromReg: 43U, .ToReg: SystemZ::C11 },
1468 { .FromReg: 44U, .ToReg: SystemZ::C12 },
1469 { .FromReg: 45U, .ToReg: SystemZ::C13 },
1470 { .FromReg: 46U, .ToReg: SystemZ::C14 },
1471 { .FromReg: 47U, .ToReg: SystemZ::C15 },
1472 { .FromReg: 48U, .ToReg: SystemZ::A0 },
1473 { .FromReg: 49U, .ToReg: SystemZ::A1 },
1474 { .FromReg: 50U, .ToReg: SystemZ::A2 },
1475 { .FromReg: 51U, .ToReg: SystemZ::A3 },
1476 { .FromReg: 52U, .ToReg: SystemZ::A4 },
1477 { .FromReg: 53U, .ToReg: SystemZ::A5 },
1478 { .FromReg: 54U, .ToReg: SystemZ::A6 },
1479 { .FromReg: 55U, .ToReg: SystemZ::A7 },
1480 { .FromReg: 56U, .ToReg: SystemZ::A8 },
1481 { .FromReg: 57U, .ToReg: SystemZ::A9 },
1482 { .FromReg: 58U, .ToReg: SystemZ::A10 },
1483 { .FromReg: 59U, .ToReg: SystemZ::A11 },
1484 { .FromReg: 60U, .ToReg: SystemZ::A12 },
1485 { .FromReg: 61U, .ToReg: SystemZ::A13 },
1486 { .FromReg: 62U, .ToReg: SystemZ::A14 },
1487 { .FromReg: 63U, .ToReg: SystemZ::A15 },
1488 { .FromReg: 68U, .ToReg: SystemZ::F16D },
1489 { .FromReg: 69U, .ToReg: SystemZ::F18D },
1490 { .FromReg: 70U, .ToReg: SystemZ::F20D },
1491 { .FromReg: 71U, .ToReg: SystemZ::F22D },
1492 { .FromReg: 72U, .ToReg: SystemZ::F17D },
1493 { .FromReg: 73U, .ToReg: SystemZ::F19D },
1494 { .FromReg: 74U, .ToReg: SystemZ::F21D },
1495 { .FromReg: 75U, .ToReg: SystemZ::F23D },
1496 { .FromReg: 76U, .ToReg: SystemZ::F24D },
1497 { .FromReg: 77U, .ToReg: SystemZ::F26D },
1498 { .FromReg: 78U, .ToReg: SystemZ::F28D },
1499 { .FromReg: 79U, .ToReg: SystemZ::F30D },
1500 { .FromReg: 80U, .ToReg: SystemZ::F25D },
1501 { .FromReg: 81U, .ToReg: SystemZ::F27D },
1502 { .FromReg: 82U, .ToReg: SystemZ::F29D },
1503 { .FromReg: 83U, .ToReg: SystemZ::F31D },
1504};
1505extern const unsigned SystemZDwarfFlavour0Dwarf2LSize = std::size(SystemZDwarfFlavour0Dwarf2L);
1506
1507extern const MCRegisterInfo::DwarfLLVMRegPair SystemZEHFlavour0Dwarf2L[] = {
1508 { .FromReg: 0U, .ToReg: SystemZ::R0D },
1509 { .FromReg: 1U, .ToReg: SystemZ::R1D },
1510 { .FromReg: 2U, .ToReg: SystemZ::R2D },
1511 { .FromReg: 3U, .ToReg: SystemZ::R3D },
1512 { .FromReg: 4U, .ToReg: SystemZ::R4D },
1513 { .FromReg: 5U, .ToReg: SystemZ::R5D },
1514 { .FromReg: 6U, .ToReg: SystemZ::R6D },
1515 { .FromReg: 7U, .ToReg: SystemZ::R7D },
1516 { .FromReg: 8U, .ToReg: SystemZ::R8D },
1517 { .FromReg: 9U, .ToReg: SystemZ::R9D },
1518 { .FromReg: 10U, .ToReg: SystemZ::R10D },
1519 { .FromReg: 11U, .ToReg: SystemZ::R11D },
1520 { .FromReg: 12U, .ToReg: SystemZ::R12D },
1521 { .FromReg: 13U, .ToReg: SystemZ::R13D },
1522 { .FromReg: 14U, .ToReg: SystemZ::R14D },
1523 { .FromReg: 15U, .ToReg: SystemZ::R15D },
1524 { .FromReg: 16U, .ToReg: SystemZ::F0D },
1525 { .FromReg: 17U, .ToReg: SystemZ::F2D },
1526 { .FromReg: 18U, .ToReg: SystemZ::F4D },
1527 { .FromReg: 19U, .ToReg: SystemZ::F6D },
1528 { .FromReg: 20U, .ToReg: SystemZ::F1D },
1529 { .FromReg: 21U, .ToReg: SystemZ::F3D },
1530 { .FromReg: 22U, .ToReg: SystemZ::F5D },
1531 { .FromReg: 23U, .ToReg: SystemZ::F7D },
1532 { .FromReg: 24U, .ToReg: SystemZ::F8D },
1533 { .FromReg: 25U, .ToReg: SystemZ::F10D },
1534 { .FromReg: 26U, .ToReg: SystemZ::F12D },
1535 { .FromReg: 27U, .ToReg: SystemZ::F14D },
1536 { .FromReg: 28U, .ToReg: SystemZ::F9D },
1537 { .FromReg: 29U, .ToReg: SystemZ::F11D },
1538 { .FromReg: 30U, .ToReg: SystemZ::F13D },
1539 { .FromReg: 31U, .ToReg: SystemZ::F15D },
1540 { .FromReg: 32U, .ToReg: SystemZ::C0 },
1541 { .FromReg: 33U, .ToReg: SystemZ::C1 },
1542 { .FromReg: 34U, .ToReg: SystemZ::C2 },
1543 { .FromReg: 35U, .ToReg: SystemZ::C3 },
1544 { .FromReg: 36U, .ToReg: SystemZ::C4 },
1545 { .FromReg: 37U, .ToReg: SystemZ::C5 },
1546 { .FromReg: 38U, .ToReg: SystemZ::C6 },
1547 { .FromReg: 39U, .ToReg: SystemZ::C7 },
1548 { .FromReg: 40U, .ToReg: SystemZ::C8 },
1549 { .FromReg: 41U, .ToReg: SystemZ::C9 },
1550 { .FromReg: 42U, .ToReg: SystemZ::C10 },
1551 { .FromReg: 43U, .ToReg: SystemZ::C11 },
1552 { .FromReg: 44U, .ToReg: SystemZ::C12 },
1553 { .FromReg: 45U, .ToReg: SystemZ::C13 },
1554 { .FromReg: 46U, .ToReg: SystemZ::C14 },
1555 { .FromReg: 47U, .ToReg: SystemZ::C15 },
1556 { .FromReg: 48U, .ToReg: SystemZ::A0 },
1557 { .FromReg: 49U, .ToReg: SystemZ::A1 },
1558 { .FromReg: 50U, .ToReg: SystemZ::A2 },
1559 { .FromReg: 51U, .ToReg: SystemZ::A3 },
1560 { .FromReg: 52U, .ToReg: SystemZ::A4 },
1561 { .FromReg: 53U, .ToReg: SystemZ::A5 },
1562 { .FromReg: 54U, .ToReg: SystemZ::A6 },
1563 { .FromReg: 55U, .ToReg: SystemZ::A7 },
1564 { .FromReg: 56U, .ToReg: SystemZ::A8 },
1565 { .FromReg: 57U, .ToReg: SystemZ::A9 },
1566 { .FromReg: 58U, .ToReg: SystemZ::A10 },
1567 { .FromReg: 59U, .ToReg: SystemZ::A11 },
1568 { .FromReg: 60U, .ToReg: SystemZ::A12 },
1569 { .FromReg: 61U, .ToReg: SystemZ::A13 },
1570 { .FromReg: 62U, .ToReg: SystemZ::A14 },
1571 { .FromReg: 63U, .ToReg: SystemZ::A15 },
1572 { .FromReg: 68U, .ToReg: SystemZ::F16D },
1573 { .FromReg: 69U, .ToReg: SystemZ::F18D },
1574 { .FromReg: 70U, .ToReg: SystemZ::F20D },
1575 { .FromReg: 71U, .ToReg: SystemZ::F22D },
1576 { .FromReg: 72U, .ToReg: SystemZ::F17D },
1577 { .FromReg: 73U, .ToReg: SystemZ::F19D },
1578 { .FromReg: 74U, .ToReg: SystemZ::F21D },
1579 { .FromReg: 75U, .ToReg: SystemZ::F23D },
1580 { .FromReg: 76U, .ToReg: SystemZ::F24D },
1581 { .FromReg: 77U, .ToReg: SystemZ::F26D },
1582 { .FromReg: 78U, .ToReg: SystemZ::F28D },
1583 { .FromReg: 79U, .ToReg: SystemZ::F30D },
1584 { .FromReg: 80U, .ToReg: SystemZ::F25D },
1585 { .FromReg: 81U, .ToReg: SystemZ::F27D },
1586 { .FromReg: 82U, .ToReg: SystemZ::F29D },
1587 { .FromReg: 83U, .ToReg: SystemZ::F31D },
1588};
1589extern const unsigned SystemZEHFlavour0Dwarf2LSize = std::size(SystemZEHFlavour0Dwarf2L);
1590
1591extern const MCRegisterInfo::DwarfLLVMRegPair SystemZDwarfFlavour0L2Dwarf[] = {
1592 { .FromReg: SystemZ::A0, .ToReg: 48U },
1593 { .FromReg: SystemZ::A1, .ToReg: 49U },
1594 { .FromReg: SystemZ::A2, .ToReg: 50U },
1595 { .FromReg: SystemZ::A3, .ToReg: 51U },
1596 { .FromReg: SystemZ::A4, .ToReg: 52U },
1597 { .FromReg: SystemZ::A5, .ToReg: 53U },
1598 { .FromReg: SystemZ::A6, .ToReg: 54U },
1599 { .FromReg: SystemZ::A7, .ToReg: 55U },
1600 { .FromReg: SystemZ::A8, .ToReg: 56U },
1601 { .FromReg: SystemZ::A9, .ToReg: 57U },
1602 { .FromReg: SystemZ::A10, .ToReg: 58U },
1603 { .FromReg: SystemZ::A11, .ToReg: 59U },
1604 { .FromReg: SystemZ::A12, .ToReg: 60U },
1605 { .FromReg: SystemZ::A13, .ToReg: 61U },
1606 { .FromReg: SystemZ::A14, .ToReg: 62U },
1607 { .FromReg: SystemZ::A15, .ToReg: 63U },
1608 { .FromReg: SystemZ::C0, .ToReg: 32U },
1609 { .FromReg: SystemZ::C1, .ToReg: 33U },
1610 { .FromReg: SystemZ::C2, .ToReg: 34U },
1611 { .FromReg: SystemZ::C3, .ToReg: 35U },
1612 { .FromReg: SystemZ::C4, .ToReg: 36U },
1613 { .FromReg: SystemZ::C5, .ToReg: 37U },
1614 { .FromReg: SystemZ::C6, .ToReg: 38U },
1615 { .FromReg: SystemZ::C7, .ToReg: 39U },
1616 { .FromReg: SystemZ::C8, .ToReg: 40U },
1617 { .FromReg: SystemZ::C9, .ToReg: 41U },
1618 { .FromReg: SystemZ::C10, .ToReg: 42U },
1619 { .FromReg: SystemZ::C11, .ToReg: 43U },
1620 { .FromReg: SystemZ::C12, .ToReg: 44U },
1621 { .FromReg: SystemZ::C13, .ToReg: 45U },
1622 { .FromReg: SystemZ::C14, .ToReg: 46U },
1623 { .FromReg: SystemZ::C15, .ToReg: 47U },
1624 { .FromReg: SystemZ::V0, .ToReg: 16U },
1625 { .FromReg: SystemZ::V1, .ToReg: 20U },
1626 { .FromReg: SystemZ::V2, .ToReg: 17U },
1627 { .FromReg: SystemZ::V3, .ToReg: 21U },
1628 { .FromReg: SystemZ::V4, .ToReg: 18U },
1629 { .FromReg: SystemZ::V5, .ToReg: 22U },
1630 { .FromReg: SystemZ::V6, .ToReg: 19U },
1631 { .FromReg: SystemZ::V7, .ToReg: 23U },
1632 { .FromReg: SystemZ::V8, .ToReg: 24U },
1633 { .FromReg: SystemZ::V9, .ToReg: 28U },
1634 { .FromReg: SystemZ::V10, .ToReg: 25U },
1635 { .FromReg: SystemZ::V11, .ToReg: 29U },
1636 { .FromReg: SystemZ::V12, .ToReg: 26U },
1637 { .FromReg: SystemZ::V13, .ToReg: 30U },
1638 { .FromReg: SystemZ::V14, .ToReg: 27U },
1639 { .FromReg: SystemZ::V15, .ToReg: 31U },
1640 { .FromReg: SystemZ::V16, .ToReg: 68U },
1641 { .FromReg: SystemZ::V17, .ToReg: 72U },
1642 { .FromReg: SystemZ::V18, .ToReg: 69U },
1643 { .FromReg: SystemZ::V19, .ToReg: 73U },
1644 { .FromReg: SystemZ::V20, .ToReg: 70U },
1645 { .FromReg: SystemZ::V21, .ToReg: 74U },
1646 { .FromReg: SystemZ::V22, .ToReg: 71U },
1647 { .FromReg: SystemZ::V23, .ToReg: 75U },
1648 { .FromReg: SystemZ::V24, .ToReg: 76U },
1649 { .FromReg: SystemZ::V25, .ToReg: 80U },
1650 { .FromReg: SystemZ::V26, .ToReg: 77U },
1651 { .FromReg: SystemZ::V27, .ToReg: 81U },
1652 { .FromReg: SystemZ::V28, .ToReg: 78U },
1653 { .FromReg: SystemZ::V29, .ToReg: 82U },
1654 { .FromReg: SystemZ::V30, .ToReg: 79U },
1655 { .FromReg: SystemZ::V31, .ToReg: 83U },
1656 { .FromReg: SystemZ::F0D, .ToReg: 16U },
1657 { .FromReg: SystemZ::F1D, .ToReg: 20U },
1658 { .FromReg: SystemZ::F2D, .ToReg: 17U },
1659 { .FromReg: SystemZ::F3D, .ToReg: 21U },
1660 { .FromReg: SystemZ::F4D, .ToReg: 18U },
1661 { .FromReg: SystemZ::F5D, .ToReg: 22U },
1662 { .FromReg: SystemZ::F6D, .ToReg: 19U },
1663 { .FromReg: SystemZ::F7D, .ToReg: 23U },
1664 { .FromReg: SystemZ::F8D, .ToReg: 24U },
1665 { .FromReg: SystemZ::F9D, .ToReg: 28U },
1666 { .FromReg: SystemZ::F10D, .ToReg: 25U },
1667 { .FromReg: SystemZ::F11D, .ToReg: 29U },
1668 { .FromReg: SystemZ::F12D, .ToReg: 26U },
1669 { .FromReg: SystemZ::F13D, .ToReg: 30U },
1670 { .FromReg: SystemZ::F14D, .ToReg: 27U },
1671 { .FromReg: SystemZ::F15D, .ToReg: 31U },
1672 { .FromReg: SystemZ::F16D, .ToReg: 68U },
1673 { .FromReg: SystemZ::F17D, .ToReg: 72U },
1674 { .FromReg: SystemZ::F18D, .ToReg: 69U },
1675 { .FromReg: SystemZ::F19D, .ToReg: 73U },
1676 { .FromReg: SystemZ::F20D, .ToReg: 70U },
1677 { .FromReg: SystemZ::F21D, .ToReg: 74U },
1678 { .FromReg: SystemZ::F22D, .ToReg: 71U },
1679 { .FromReg: SystemZ::F23D, .ToReg: 75U },
1680 { .FromReg: SystemZ::F24D, .ToReg: 76U },
1681 { .FromReg: SystemZ::F25D, .ToReg: 80U },
1682 { .FromReg: SystemZ::F26D, .ToReg: 77U },
1683 { .FromReg: SystemZ::F27D, .ToReg: 81U },
1684 { .FromReg: SystemZ::F28D, .ToReg: 78U },
1685 { .FromReg: SystemZ::F29D, .ToReg: 82U },
1686 { .FromReg: SystemZ::F30D, .ToReg: 79U },
1687 { .FromReg: SystemZ::F31D, .ToReg: 83U },
1688 { .FromReg: SystemZ::R0D, .ToReg: 0U },
1689 { .FromReg: SystemZ::R1D, .ToReg: 1U },
1690 { .FromReg: SystemZ::R2D, .ToReg: 2U },
1691 { .FromReg: SystemZ::R3D, .ToReg: 3U },
1692 { .FromReg: SystemZ::R4D, .ToReg: 4U },
1693 { .FromReg: SystemZ::R5D, .ToReg: 5U },
1694 { .FromReg: SystemZ::R6D, .ToReg: 6U },
1695 { .FromReg: SystemZ::R7D, .ToReg: 7U },
1696 { .FromReg: SystemZ::R8D, .ToReg: 8U },
1697 { .FromReg: SystemZ::R9D, .ToReg: 9U },
1698 { .FromReg: SystemZ::R10D, .ToReg: 10U },
1699 { .FromReg: SystemZ::R11D, .ToReg: 11U },
1700 { .FromReg: SystemZ::R12D, .ToReg: 12U },
1701 { .FromReg: SystemZ::R13D, .ToReg: 13U },
1702 { .FromReg: SystemZ::R14D, .ToReg: 14U },
1703 { .FromReg: SystemZ::R15D, .ToReg: 15U },
1704};
1705extern const unsigned SystemZDwarfFlavour0L2DwarfSize = std::size(SystemZDwarfFlavour0L2Dwarf);
1706
1707extern const MCRegisterInfo::DwarfLLVMRegPair SystemZEHFlavour0L2Dwarf[] = {
1708 { .FromReg: SystemZ::A0, .ToReg: 48U },
1709 { .FromReg: SystemZ::A1, .ToReg: 49U },
1710 { .FromReg: SystemZ::A2, .ToReg: 50U },
1711 { .FromReg: SystemZ::A3, .ToReg: 51U },
1712 { .FromReg: SystemZ::A4, .ToReg: 52U },
1713 { .FromReg: SystemZ::A5, .ToReg: 53U },
1714 { .FromReg: SystemZ::A6, .ToReg: 54U },
1715 { .FromReg: SystemZ::A7, .ToReg: 55U },
1716 { .FromReg: SystemZ::A8, .ToReg: 56U },
1717 { .FromReg: SystemZ::A9, .ToReg: 57U },
1718 { .FromReg: SystemZ::A10, .ToReg: 58U },
1719 { .FromReg: SystemZ::A11, .ToReg: 59U },
1720 { .FromReg: SystemZ::A12, .ToReg: 60U },
1721 { .FromReg: SystemZ::A13, .ToReg: 61U },
1722 { .FromReg: SystemZ::A14, .ToReg: 62U },
1723 { .FromReg: SystemZ::A15, .ToReg: 63U },
1724 { .FromReg: SystemZ::C0, .ToReg: 32U },
1725 { .FromReg: SystemZ::C1, .ToReg: 33U },
1726 { .FromReg: SystemZ::C2, .ToReg: 34U },
1727 { .FromReg: SystemZ::C3, .ToReg: 35U },
1728 { .FromReg: SystemZ::C4, .ToReg: 36U },
1729 { .FromReg: SystemZ::C5, .ToReg: 37U },
1730 { .FromReg: SystemZ::C6, .ToReg: 38U },
1731 { .FromReg: SystemZ::C7, .ToReg: 39U },
1732 { .FromReg: SystemZ::C8, .ToReg: 40U },
1733 { .FromReg: SystemZ::C9, .ToReg: 41U },
1734 { .FromReg: SystemZ::C10, .ToReg: 42U },
1735 { .FromReg: SystemZ::C11, .ToReg: 43U },
1736 { .FromReg: SystemZ::C12, .ToReg: 44U },
1737 { .FromReg: SystemZ::C13, .ToReg: 45U },
1738 { .FromReg: SystemZ::C14, .ToReg: 46U },
1739 { .FromReg: SystemZ::C15, .ToReg: 47U },
1740 { .FromReg: SystemZ::V0, .ToReg: 16U },
1741 { .FromReg: SystemZ::V1, .ToReg: 20U },
1742 { .FromReg: SystemZ::V2, .ToReg: 17U },
1743 { .FromReg: SystemZ::V3, .ToReg: 21U },
1744 { .FromReg: SystemZ::V4, .ToReg: 18U },
1745 { .FromReg: SystemZ::V5, .ToReg: 22U },
1746 { .FromReg: SystemZ::V6, .ToReg: 19U },
1747 { .FromReg: SystemZ::V7, .ToReg: 23U },
1748 { .FromReg: SystemZ::V8, .ToReg: 24U },
1749 { .FromReg: SystemZ::V9, .ToReg: 28U },
1750 { .FromReg: SystemZ::V10, .ToReg: 25U },
1751 { .FromReg: SystemZ::V11, .ToReg: 29U },
1752 { .FromReg: SystemZ::V12, .ToReg: 26U },
1753 { .FromReg: SystemZ::V13, .ToReg: 30U },
1754 { .FromReg: SystemZ::V14, .ToReg: 27U },
1755 { .FromReg: SystemZ::V15, .ToReg: 31U },
1756 { .FromReg: SystemZ::V16, .ToReg: 68U },
1757 { .FromReg: SystemZ::V17, .ToReg: 72U },
1758 { .FromReg: SystemZ::V18, .ToReg: 69U },
1759 { .FromReg: SystemZ::V19, .ToReg: 73U },
1760 { .FromReg: SystemZ::V20, .ToReg: 70U },
1761 { .FromReg: SystemZ::V21, .ToReg: 74U },
1762 { .FromReg: SystemZ::V22, .ToReg: 71U },
1763 { .FromReg: SystemZ::V23, .ToReg: 75U },
1764 { .FromReg: SystemZ::V24, .ToReg: 76U },
1765 { .FromReg: SystemZ::V25, .ToReg: 80U },
1766 { .FromReg: SystemZ::V26, .ToReg: 77U },
1767 { .FromReg: SystemZ::V27, .ToReg: 81U },
1768 { .FromReg: SystemZ::V28, .ToReg: 78U },
1769 { .FromReg: SystemZ::V29, .ToReg: 82U },
1770 { .FromReg: SystemZ::V30, .ToReg: 79U },
1771 { .FromReg: SystemZ::V31, .ToReg: 83U },
1772 { .FromReg: SystemZ::F0D, .ToReg: 16U },
1773 { .FromReg: SystemZ::F1D, .ToReg: 20U },
1774 { .FromReg: SystemZ::F2D, .ToReg: 17U },
1775 { .FromReg: SystemZ::F3D, .ToReg: 21U },
1776 { .FromReg: SystemZ::F4D, .ToReg: 18U },
1777 { .FromReg: SystemZ::F5D, .ToReg: 22U },
1778 { .FromReg: SystemZ::F6D, .ToReg: 19U },
1779 { .FromReg: SystemZ::F7D, .ToReg: 23U },
1780 { .FromReg: SystemZ::F8D, .ToReg: 24U },
1781 { .FromReg: SystemZ::F9D, .ToReg: 28U },
1782 { .FromReg: SystemZ::F10D, .ToReg: 25U },
1783 { .FromReg: SystemZ::F11D, .ToReg: 29U },
1784 { .FromReg: SystemZ::F12D, .ToReg: 26U },
1785 { .FromReg: SystemZ::F13D, .ToReg: 30U },
1786 { .FromReg: SystemZ::F14D, .ToReg: 27U },
1787 { .FromReg: SystemZ::F15D, .ToReg: 31U },
1788 { .FromReg: SystemZ::F16D, .ToReg: 68U },
1789 { .FromReg: SystemZ::F17D, .ToReg: 72U },
1790 { .FromReg: SystemZ::F18D, .ToReg: 69U },
1791 { .FromReg: SystemZ::F19D, .ToReg: 73U },
1792 { .FromReg: SystemZ::F20D, .ToReg: 70U },
1793 { .FromReg: SystemZ::F21D, .ToReg: 74U },
1794 { .FromReg: SystemZ::F22D, .ToReg: 71U },
1795 { .FromReg: SystemZ::F23D, .ToReg: 75U },
1796 { .FromReg: SystemZ::F24D, .ToReg: 76U },
1797 { .FromReg: SystemZ::F25D, .ToReg: 80U },
1798 { .FromReg: SystemZ::F26D, .ToReg: 77U },
1799 { .FromReg: SystemZ::F27D, .ToReg: 81U },
1800 { .FromReg: SystemZ::F28D, .ToReg: 78U },
1801 { .FromReg: SystemZ::F29D, .ToReg: 82U },
1802 { .FromReg: SystemZ::F30D, .ToReg: 79U },
1803 { .FromReg: SystemZ::F31D, .ToReg: 83U },
1804 { .FromReg: SystemZ::R0D, .ToReg: 0U },
1805 { .FromReg: SystemZ::R1D, .ToReg: 1U },
1806 { .FromReg: SystemZ::R2D, .ToReg: 2U },
1807 { .FromReg: SystemZ::R3D, .ToReg: 3U },
1808 { .FromReg: SystemZ::R4D, .ToReg: 4U },
1809 { .FromReg: SystemZ::R5D, .ToReg: 5U },
1810 { .FromReg: SystemZ::R6D, .ToReg: 6U },
1811 { .FromReg: SystemZ::R7D, .ToReg: 7U },
1812 { .FromReg: SystemZ::R8D, .ToReg: 8U },
1813 { .FromReg: SystemZ::R9D, .ToReg: 9U },
1814 { .FromReg: SystemZ::R10D, .ToReg: 10U },
1815 { .FromReg: SystemZ::R11D, .ToReg: 11U },
1816 { .FromReg: SystemZ::R12D, .ToReg: 12U },
1817 { .FromReg: SystemZ::R13D, .ToReg: 13U },
1818 { .FromReg: SystemZ::R14D, .ToReg: 14U },
1819 { .FromReg: SystemZ::R15D, .ToReg: 15U },
1820};
1821extern const unsigned SystemZEHFlavour0L2DwarfSize = std::size(SystemZEHFlavour0L2Dwarf);
1822
1823extern const uint16_t SystemZRegEncodingTable[] = {
1824 0,
1825 0,
1826 0,
1827 0,
1828 1,
1829 2,
1830 3,
1831 4,
1832 5,
1833 6,
1834 7,
1835 8,
1836 9,
1837 10,
1838 11,
1839 12,
1840 13,
1841 14,
1842 15,
1843 0,
1844 1,
1845 2,
1846 3,
1847 4,
1848 5,
1849 6,
1850 7,
1851 8,
1852 9,
1853 10,
1854 11,
1855 12,
1856 13,
1857 14,
1858 15,
1859 0,
1860 1,
1861 2,
1862 3,
1863 4,
1864 5,
1865 6,
1866 7,
1867 8,
1868 9,
1869 10,
1870 11,
1871 12,
1872 13,
1873 14,
1874 15,
1875 16,
1876 17,
1877 18,
1878 19,
1879 20,
1880 21,
1881 22,
1882 23,
1883 24,
1884 25,
1885 26,
1886 27,
1887 28,
1888 29,
1889 30,
1890 31,
1891 0,
1892 1,
1893 2,
1894 3,
1895 4,
1896 5,
1897 6,
1898 7,
1899 8,
1900 9,
1901 10,
1902 11,
1903 12,
1904 13,
1905 14,
1906 15,
1907 16,
1908 17,
1909 18,
1910 19,
1911 20,
1912 21,
1913 22,
1914 23,
1915 24,
1916 25,
1917 26,
1918 27,
1919 28,
1920 29,
1921 30,
1922 31,
1923 0,
1924 1,
1925 2,
1926 3,
1927 4,
1928 5,
1929 6,
1930 7,
1931 8,
1932 9,
1933 10,
1934 11,
1935 12,
1936 13,
1937 14,
1938 15,
1939 16,
1940 17,
1941 18,
1942 19,
1943 20,
1944 21,
1945 22,
1946 23,
1947 24,
1948 25,
1949 26,
1950 27,
1951 28,
1952 29,
1953 30,
1954 31,
1955 0,
1956 1,
1957 4,
1958 5,
1959 8,
1960 9,
1961 12,
1962 13,
1963 0,
1964 1,
1965 2,
1966 3,
1967 4,
1968 5,
1969 6,
1970 7,
1971 8,
1972 9,
1973 10,
1974 11,
1975 12,
1976 13,
1977 14,
1978 15,
1979 16,
1980 17,
1981 18,
1982 19,
1983 20,
1984 21,
1985 22,
1986 23,
1987 24,
1988 25,
1989 26,
1990 27,
1991 28,
1992 29,
1993 30,
1994 31,
1995 0,
1996 1,
1997 2,
1998 3,
1999 4,
2000 5,
2001 6,
2002 7,
2003 8,
2004 9,
2005 10,
2006 11,
2007 12,
2008 13,
2009 14,
2010 15,
2011 0,
2012 1,
2013 2,
2014 3,
2015 4,
2016 5,
2017 6,
2018 7,
2019 8,
2020 9,
2021 10,
2022 11,
2023 12,
2024 13,
2025 14,
2026 15,
2027 0,
2028 1,
2029 2,
2030 3,
2031 4,
2032 5,
2033 6,
2034 7,
2035 8,
2036 9,
2037 10,
2038 11,
2039 12,
2040 13,
2041 14,
2042 15,
2043 0,
2044 2,
2045 4,
2046 6,
2047 8,
2048 10,
2049 12,
2050 14,
2051};
2052static inline void InitSystemZMCRegisterInfo(MCRegisterInfo *RI, unsigned RA, unsigned DwarfFlavour = 0, unsigned EHFlavour = 0, unsigned PC = 0) {
2053 RI->InitMCRegisterInfo(D: SystemZRegDesc, NR: 227, RA, PC, C: SystemZMCRegisterClassStorage.Classes, NC: 24, RURoots: SystemZRegUnitRoots, NRU: 98, DL: SystemZRegDiffLists, RUMS: SystemZLaneMaskLists, Strings: SystemZRegStrings, ClassStrings: SystemZRegClassStrings, SubIndices: SystemZSubRegIdxLists, NumIndices: 9,
2054RET: SystemZRegEncodingTable, RUI: nullptr);
2055
2056 switch (DwarfFlavour) {
2057 default:
2058 llvm_unreachable("Unknown DWARF flavour");
2059 case 0:
2060 RI->mapDwarfRegsToLLVMRegs(Map: SystemZDwarfFlavour0Dwarf2L, Size: SystemZDwarfFlavour0Dwarf2LSize, isEH: false);
2061 break;
2062 }
2063 switch (EHFlavour) {
2064 default:
2065 llvm_unreachable("Unknown DWARF flavour");
2066 case 0:
2067 RI->mapDwarfRegsToLLVMRegs(Map: SystemZEHFlavour0Dwarf2L, Size: SystemZEHFlavour0Dwarf2LSize, isEH: true);
2068 break;
2069 }
2070 switch (DwarfFlavour) {
2071 default:
2072 llvm_unreachable("Unknown DWARF flavour");
2073 case 0:
2074 RI->mapLLVMRegsToDwarfRegs(Map: SystemZDwarfFlavour0L2Dwarf, Size: SystemZDwarfFlavour0L2DwarfSize, isEH: false);
2075 break;
2076 }
2077 switch (EHFlavour) {
2078 default:
2079 llvm_unreachable("Unknown DWARF flavour");
2080 case 0:
2081 RI->mapLLVMRegsToDwarfRegs(Map: SystemZEHFlavour0L2Dwarf, Size: SystemZEHFlavour0L2DwarfSize, isEH: true);
2082 break;
2083 }
2084}
2085
2086
2087} // namespace llvm
2088