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, 400, 54, 17, 20>;
672extern const MCRegisterClassStorage<24, 455, 400, 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 .RegSetSize: 17,
681 .ID: SystemZ::VR16BitRegClassID,
682 .CopyCost: 1, /* CopyCost */
683 .Allocatable: true, /* Allocatable */
684 .BaseClass: false,
685 offsetof(SystemZRegisterClassStorage, SubClassMasks[0]) - 0 * sizeof(MCRegisterClass),
686 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[14]) - 0 * sizeof(MCRegisterClass),
687 .LaneMask: LaneBitmask(0x0000000000000001),
688 .AllocationPriority: 0,
689 .GlobalPriority: false,
690 .TSFlags: 0x00, /* TSFlags */
691 .SpillStackID: 0, /* SpillStackID */
692 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
693 .CoveredBySubRegs: false, /* CoveredBySubRegs */
694 offsetof(SystemZRegisterClassStorage, SuperClasses[0]) - 0 * sizeof(MCRegisterClass),
695 .SuperClassesSize: 0
696 },
697 {
698 offsetof(SystemZRegisterClassStorage, Regs[32]) - 1 * sizeof(MCRegisterClass),
699 offsetof(SystemZRegisterClassStorage, BitSets[17]) - 1 * sizeof(MCRegisterClass),
700 .NameIdx: 166,
701 .RegSizeInBits: 0,
702 .RegsSize: 16,
703 .RegSetSize: 15,
704 .ID: SystemZ::FP16BitRegClassID,
705 .CopyCost: 1, /* CopyCost */
706 .Allocatable: true, /* Allocatable */
707 .BaseClass: false,
708 offsetof(SystemZRegisterClassStorage, SubClassMasks[3]) - 1 * sizeof(MCRegisterClass),
709 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[14]) - 1 * sizeof(MCRegisterClass),
710 .LaneMask: LaneBitmask(0x0000000000000001),
711 .AllocationPriority: 0,
712 .GlobalPriority: false,
713 .TSFlags: 0x00, /* TSFlags */
714 .SpillStackID: 0, /* SpillStackID */
715 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
716 .CoveredBySubRegs: false, /* CoveredBySubRegs */
717 offsetof(SystemZRegisterClassStorage, SuperClasses[0]) - 1 * sizeof(MCRegisterClass),
718 .SuperClassesSize: 1
719 },
720 {
721 offsetof(SystemZRegisterClassStorage, Regs[48]) - 2 * sizeof(MCRegisterClass),
722 offsetof(SystemZRegisterClassStorage, BitSets[32]) - 2 * sizeof(MCRegisterClass),
723 .NameIdx: 115,
724 .RegSizeInBits: 32,
725 .RegsSize: 32,
726 .RegSetSize: 28,
727 .ID: SystemZ::GRX32BitRegClassID,
728 .CopyCost: 1, /* CopyCost */
729 .Allocatable: true, /* Allocatable */
730 .BaseClass: false,
731 offsetof(SystemZRegisterClassStorage, SubClassMasks[6]) - 2 * sizeof(MCRegisterClass),
732 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[9]) - 2 * sizeof(MCRegisterClass),
733 .LaneMask: LaneBitmask(0x0000000000000001),
734 .AllocationPriority: 0,
735 .GlobalPriority: false,
736 .TSFlags: 0x00, /* TSFlags */
737 .SpillStackID: 0, /* SpillStackID */
738 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
739 .CoveredBySubRegs: false, /* CoveredBySubRegs */
740 offsetof(SystemZRegisterClassStorage, SuperClasses[1]) - 2 * sizeof(MCRegisterClass),
741 .SuperClassesSize: 0
742 },
743 {
744 offsetof(SystemZRegisterClassStorage, Regs[80]) - 3 * sizeof(MCRegisterClass),
745 offsetof(SystemZRegisterClassStorage, BitSets[60]) - 3 * sizeof(MCRegisterClass),
746 .NameIdx: 107,
747 .RegSizeInBits: 32,
748 .RegsSize: 32,
749 .RegSetSize: 22,
750 .ID: SystemZ::VR32BitRegClassID,
751 .CopyCost: 1, /* CopyCost */
752 .Allocatable: true, /* Allocatable */
753 .BaseClass: false,
754 offsetof(SystemZRegisterClassStorage, SubClassMasks[11]) - 3 * sizeof(MCRegisterClass),
755 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[3]) - 3 * sizeof(MCRegisterClass),
756 .LaneMask: LaneBitmask(0x0000000000000001),
757 .AllocationPriority: 0,
758 .GlobalPriority: false,
759 .TSFlags: 0x00, /* TSFlags */
760 .SpillStackID: 0, /* SpillStackID */
761 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
762 .CoveredBySubRegs: false, /* CoveredBySubRegs */
763 offsetof(SystemZRegisterClassStorage, SuperClasses[1]) - 3 * sizeof(MCRegisterClass),
764 .SuperClassesSize: 0
765 },
766 {
767 offsetof(SystemZRegisterClassStorage, Regs[112]) - 4 * sizeof(MCRegisterClass),
768 offsetof(SystemZRegisterClassStorage, BitSets[82]) - 4 * sizeof(MCRegisterClass),
769 .NameIdx: 81,
770 .RegSizeInBits: 32,
771 .RegsSize: 16,
772 .RegSetSize: 3,
773 .ID: SystemZ::AR32BitRegClassID,
774 .CopyCost: 1, /* CopyCost */
775 .Allocatable: false, /* Allocatable */
776 .BaseClass: false,
777 offsetof(SystemZRegisterClassStorage, SubClassMasks[14]) - 4 * sizeof(MCRegisterClass),
778 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[2]) - 4 * sizeof(MCRegisterClass),
779 .LaneMask: LaneBitmask(0x0000000000000001),
780 .AllocationPriority: 0,
781 .GlobalPriority: false,
782 .TSFlags: 0x00, /* TSFlags */
783 .SpillStackID: 0, /* SpillStackID */
784 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
785 .CoveredBySubRegs: false, /* CoveredBySubRegs */
786 offsetof(SystemZRegisterClassStorage, SuperClasses[1]) - 4 * sizeof(MCRegisterClass),
787 .SuperClassesSize: 0
788 },
789 {
790 offsetof(SystemZRegisterClassStorage, Regs[128]) - 5 * sizeof(MCRegisterClass),
791 offsetof(SystemZRegisterClassStorage, BitSets[85]) - 5 * sizeof(MCRegisterClass),
792 .NameIdx: 73,
793 .RegSizeInBits: 32,
794 .RegsSize: 16,
795 .RegSetSize: 20,
796 .ID: SystemZ::FP32BitRegClassID,
797 .CopyCost: 1, /* CopyCost */
798 .Allocatable: true, /* Allocatable */
799 .BaseClass: false,
800 offsetof(SystemZRegisterClassStorage, SubClassMasks[15]) - 5 * sizeof(MCRegisterClass),
801 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[3]) - 5 * sizeof(MCRegisterClass),
802 .LaneMask: LaneBitmask(0x0000000000000001),
803 .AllocationPriority: 0,
804 .GlobalPriority: false,
805 .TSFlags: 0x00, /* TSFlags */
806 .SpillStackID: 0, /* SpillStackID */
807 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
808 .CoveredBySubRegs: false, /* CoveredBySubRegs */
809 offsetof(SystemZRegisterClassStorage, SuperClasses[1]) - 5 * sizeof(MCRegisterClass),
810 .SuperClassesSize: 1
811 },
812 {
813 offsetof(SystemZRegisterClassStorage, Regs[144]) - 6 * sizeof(MCRegisterClass),
814 offsetof(SystemZRegisterClassStorage, BitSets[105]) - 6 * sizeof(MCRegisterClass),
815 .NameIdx: 99,
816 .RegSizeInBits: 32,
817 .RegsSize: 16,
818 .RegSetSize: 28,
819 .ID: SystemZ::GR32BitRegClassID,
820 .CopyCost: 1, /* CopyCost */
821 .Allocatable: true, /* Allocatable */
822 .BaseClass: false,
823 offsetof(SystemZRegisterClassStorage, SubClassMasks[18]) - 6 * sizeof(MCRegisterClass),
824 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[6]) - 6 * sizeof(MCRegisterClass),
825 .LaneMask: LaneBitmask(0x0000000000000001),
826 .AllocationPriority: 0,
827 .GlobalPriority: false,
828 .TSFlags: 0x00, /* TSFlags */
829 .SpillStackID: 0, /* SpillStackID */
830 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
831 .CoveredBySubRegs: false, /* CoveredBySubRegs */
832 offsetof(SystemZRegisterClassStorage, SuperClasses[2]) - 6 * sizeof(MCRegisterClass),
833 .SuperClassesSize: 1
834 },
835 {
836 offsetof(SystemZRegisterClassStorage, Regs[160]) - 7 * sizeof(MCRegisterClass),
837 offsetof(SystemZRegisterClassStorage, BitSets[133]) - 7 * sizeof(MCRegisterClass),
838 .NameIdx: 64,
839 .RegSizeInBits: 32,
840 .RegsSize: 16,
841 .RegSetSize: 26,
842 .ID: SystemZ::GRH32BitRegClassID,
843 .CopyCost: 1, /* CopyCost */
844 .Allocatable: true, /* Allocatable */
845 .BaseClass: false,
846 offsetof(SystemZRegisterClassStorage, SubClassMasks[21]) - 7 * sizeof(MCRegisterClass),
847 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[3]) - 7 * sizeof(MCRegisterClass),
848 .LaneMask: LaneBitmask(0x0000000000000001),
849 .AllocationPriority: 0,
850 .GlobalPriority: false,
851 .TSFlags: 0x00, /* TSFlags */
852 .SpillStackID: 0, /* SpillStackID */
853 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
854 .CoveredBySubRegs: false, /* CoveredBySubRegs */
855 offsetof(SystemZRegisterClassStorage, SuperClasses[3]) - 7 * sizeof(MCRegisterClass),
856 .SuperClassesSize: 1
857 },
858 {
859 offsetof(SystemZRegisterClassStorage, Regs[176]) - 8 * sizeof(MCRegisterClass),
860 offsetof(SystemZRegisterClassStorage, BitSets[159]) - 8 * sizeof(MCRegisterClass),
861 .NameIdx: 89,
862 .RegSizeInBits: 32,
863 .RegsSize: 15,
864 .RegSetSize: 28,
865 .ID: SystemZ::ADDR32BitRegClassID,
866 .CopyCost: 1, /* CopyCost */
867 .Allocatable: true, /* Allocatable */
868 .BaseClass: false,
869 offsetof(SystemZRegisterClassStorage, SubClassMasks[24]) - 8 * sizeof(MCRegisterClass),
870 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[6]) - 8 * sizeof(MCRegisterClass),
871 .LaneMask: LaneBitmask(0x0000000000000001),
872 .AllocationPriority: 0,
873 .GlobalPriority: false,
874 .TSFlags: 0x00, /* TSFlags */
875 .SpillStackID: 0, /* SpillStackID */
876 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
877 .CoveredBySubRegs: false, /* CoveredBySubRegs */
878 offsetof(SystemZRegisterClassStorage, SuperClasses[4]) - 8 * sizeof(MCRegisterClass),
879 .SuperClassesSize: 2
880 },
881 {
882 offsetof(SystemZRegisterClassStorage, Regs[191]) - 9 * sizeof(MCRegisterClass),
883 offsetof(SystemZRegisterClassStorage, BitSets[187]) - 9 * sizeof(MCRegisterClass),
884 .NameIdx: 52,
885 .RegSizeInBits: 32,
886 .RegsSize: 1,
887 .RegSetSize: 1,
888 .ID: SystemZ::CCRRegClassID,
889 .CopyCost: 255, /* CopyCost */
890 .Allocatable: false, /* Allocatable */
891 .BaseClass: false,
892 offsetof(SystemZRegisterClassStorage, SubClassMasks[27]) - 9 * sizeof(MCRegisterClass),
893 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[2]) - 9 * sizeof(MCRegisterClass),
894 .LaneMask: LaneBitmask(0x0000000000000001),
895 .AllocationPriority: 0,
896 .GlobalPriority: false,
897 .TSFlags: 0x00, /* TSFlags */
898 .SpillStackID: 0, /* SpillStackID */
899 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
900 .CoveredBySubRegs: false, /* CoveredBySubRegs */
901 offsetof(SystemZRegisterClassStorage, SuperClasses[6]) - 9 * sizeof(MCRegisterClass),
902 .SuperClassesSize: 0
903 },
904 {
905 offsetof(SystemZRegisterClassStorage, Regs[192]) - 10 * sizeof(MCRegisterClass),
906 offsetof(SystemZRegisterClassStorage, BitSets[188]) - 10 * sizeof(MCRegisterClass),
907 .NameIdx: 56,
908 .RegSizeInBits: 32,
909 .RegsSize: 1,
910 .RegSetSize: 1,
911 .ID: SystemZ::FPCRegsRegClassID,
912 .CopyCost: 1, /* CopyCost */
913 .Allocatable: false, /* Allocatable */
914 .BaseClass: false,
915 offsetof(SystemZRegisterClassStorage, SubClassMasks[28]) - 10 * sizeof(MCRegisterClass),
916 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[2]) - 10 * sizeof(MCRegisterClass),
917 .LaneMask: LaneBitmask(0x0000000000000001),
918 .AllocationPriority: 0,
919 .GlobalPriority: false,
920 .TSFlags: 0x00, /* TSFlags */
921 .SpillStackID: 0, /* SpillStackID */
922 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
923 .CoveredBySubRegs: false, /* CoveredBySubRegs */
924 offsetof(SystemZRegisterClassStorage, SuperClasses[6]) - 10 * sizeof(MCRegisterClass),
925 .SuperClassesSize: 0
926 },
927 {
928 offsetof(SystemZRegisterClassStorage, Regs[193]) - 11 * sizeof(MCRegisterClass),
929 offsetof(SystemZRegisterClassStorage, BitSets[189]) - 11 * sizeof(MCRegisterClass),
930 .NameIdx: 229,
931 .RegSizeInBits: 64,
932 .RegsSize: 48,
933 .RegSetSize: 24,
934 .ID: SystemZ::AnyRegBitRegClassID,
935 .CopyCost: 1, /* CopyCost */
936 .Allocatable: false, /* Allocatable */
937 .BaseClass: false,
938 offsetof(SystemZRegisterClassStorage, SubClassMasks[29]) - 11 * sizeof(MCRegisterClass),
939 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[0]) - 11 * sizeof(MCRegisterClass),
940 .LaneMask: LaneBitmask(0x0000000000000003),
941 .AllocationPriority: 0,
942 .GlobalPriority: false,
943 .TSFlags: 0x00, /* TSFlags */
944 .SpillStackID: 0, /* SpillStackID */
945 .HasDisjunctSubRegs: true, /* HasDisjunctSubRegs */
946 .CoveredBySubRegs: false, /* CoveredBySubRegs */
947 offsetof(SystemZRegisterClassStorage, SuperClasses[6]) - 11 * sizeof(MCRegisterClass),
948 .SuperClassesSize: 0
949 },
950 {
951 offsetof(SystemZRegisterClassStorage, Regs[241]) - 12 * sizeof(MCRegisterClass),
952 offsetof(SystemZRegisterClassStorage, BitSets[213]) - 12 * sizeof(MCRegisterClass),
953 .NameIdx: 26,
954 .RegSizeInBits: 64,
955 .RegsSize: 32,
956 .RegSetSize: 11,
957 .ID: SystemZ::AnyRegBit_with_subreg_h16RegClassID,
958 .CopyCost: 1, /* CopyCost */
959 .Allocatable: false, /* Allocatable */
960 .BaseClass: false,
961 offsetof(SystemZRegisterClassStorage, SubClassMasks[32]) - 12 * sizeof(MCRegisterClass),
962 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[0]) - 12 * sizeof(MCRegisterClass),
963 .LaneMask: LaneBitmask(0x0000000000000003),
964 .AllocationPriority: 0,
965 .GlobalPriority: false,
966 .TSFlags: 0x00, /* TSFlags */
967 .SpillStackID: 0, /* SpillStackID */
968 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
969 .CoveredBySubRegs: false, /* CoveredBySubRegs */
970 offsetof(SystemZRegisterClassStorage, SuperClasses[6]) - 12 * sizeof(MCRegisterClass),
971 .SuperClassesSize: 1
972 },
973 {
974 offsetof(SystemZRegisterClassStorage, Regs[273]) - 13 * sizeof(MCRegisterClass),
975 offsetof(SystemZRegisterClassStorage, BitSets[224]) - 13 * sizeof(MCRegisterClass),
976 .NameIdx: 158,
977 .RegSizeInBits: 64,
978 .RegsSize: 32,
979 .RegSetSize: 13,
980 .ID: SystemZ::VR64BitRegClassID,
981 .CopyCost: 1, /* CopyCost */
982 .Allocatable: true, /* Allocatable */
983 .BaseClass: false,
984 offsetof(SystemZRegisterClassStorage, SubClassMasks[35]) - 13 * sizeof(MCRegisterClass),
985 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[0]) - 13 * sizeof(MCRegisterClass),
986 .LaneMask: LaneBitmask(0x0000000000000001),
987 .AllocationPriority: 0,
988 .GlobalPriority: false,
989 .TSFlags: 0x00, /* TSFlags */
990 .SpillStackID: 0, /* SpillStackID */
991 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
992 .CoveredBySubRegs: false, /* CoveredBySubRegs */
993 offsetof(SystemZRegisterClassStorage, SuperClasses[7]) - 13 * sizeof(MCRegisterClass),
994 .SuperClassesSize: 0
995 },
996 {
997 offsetof(SystemZRegisterClassStorage, Regs[305]) - 14 * sizeof(MCRegisterClass),
998 offsetof(SystemZRegisterClassStorage, BitSets[237]) - 14 * sizeof(MCRegisterClass),
999 .NameIdx: 0,
1000 .RegSizeInBits: 64,
1001 .RegsSize: 16,
1002 .RegSetSize: 7,
1003 .ID: SystemZ::AnyRegBit_with_subreg_h64RegClassID,
1004 .CopyCost: 1, /* CopyCost */
1005 .Allocatable: false, /* Allocatable */
1006 .BaseClass: false,
1007 offsetof(SystemZRegisterClassStorage, SubClassMasks[38]) - 14 * sizeof(MCRegisterClass),
1008 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[2]) - 14 * sizeof(MCRegisterClass),
1009 .LaneMask: LaneBitmask(0x0000000000000003),
1010 .AllocationPriority: 0,
1011 .GlobalPriority: false,
1012 .TSFlags: 0x00, /* TSFlags */
1013 .SpillStackID: 0, /* SpillStackID */
1014 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
1015 .CoveredBySubRegs: false, /* CoveredBySubRegs */
1016 offsetof(SystemZRegisterClassStorage, SuperClasses[7]) - 14 * sizeof(MCRegisterClass),
1017 .SuperClassesSize: 2
1018 },
1019 {
1020 offsetof(SystemZRegisterClassStorage, Regs[321]) - 15 * sizeof(MCRegisterClass),
1021 offsetof(SystemZRegisterClassStorage, BitSets[244]) - 15 * sizeof(MCRegisterClass),
1022 .NameIdx: 132,
1023 .RegSizeInBits: 64,
1024 .RegsSize: 16,
1025 .RegSetSize: 5,
1026 .ID: SystemZ::CR64BitRegClassID,
1027 .CopyCost: 1, /* CopyCost */
1028 .Allocatable: false, /* Allocatable */
1029 .BaseClass: false,
1030 offsetof(SystemZRegisterClassStorage, SubClassMasks[39]) - 15 * sizeof(MCRegisterClass),
1031 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[2]) - 15 * sizeof(MCRegisterClass),
1032 .LaneMask: LaneBitmask(0x0000000000000001),
1033 .AllocationPriority: 0,
1034 .GlobalPriority: false,
1035 .TSFlags: 0x00, /* TSFlags */
1036 .SpillStackID: 0, /* SpillStackID */
1037 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
1038 .CoveredBySubRegs: false, /* CoveredBySubRegs */
1039 offsetof(SystemZRegisterClassStorage, SuperClasses[9]) - 15 * sizeof(MCRegisterClass),
1040 .SuperClassesSize: 0
1041 },
1042 {
1043 offsetof(SystemZRegisterClassStorage, Regs[337]) - 16 * sizeof(MCRegisterClass),
1044 offsetof(SystemZRegisterClassStorage, BitSets[249]) - 16 * sizeof(MCRegisterClass),
1045 .NameIdx: 124,
1046 .RegSizeInBits: 64,
1047 .RegsSize: 16,
1048 .RegSetSize: 11,
1049 .ID: SystemZ::FP64BitRegClassID,
1050 .CopyCost: 1, /* CopyCost */
1051 .Allocatable: true, /* Allocatable */
1052 .BaseClass: false,
1053 offsetof(SystemZRegisterClassStorage, SubClassMasks[40]) - 16 * sizeof(MCRegisterClass),
1054 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[0]) - 16 * sizeof(MCRegisterClass),
1055 .LaneMask: LaneBitmask(0x0000000000000001),
1056 .AllocationPriority: 0,
1057 .GlobalPriority: false,
1058 .TSFlags: 0x00, /* TSFlags */
1059 .SpillStackID: 0, /* SpillStackID */
1060 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
1061 .CoveredBySubRegs: false, /* CoveredBySubRegs */
1062 offsetof(SystemZRegisterClassStorage, SuperClasses[9]) - 16 * sizeof(MCRegisterClass),
1063 .SuperClassesSize: 3
1064 },
1065 {
1066 offsetof(SystemZRegisterClassStorage, Regs[353]) - 17 * sizeof(MCRegisterClass),
1067 offsetof(SystemZRegisterClassStorage, BitSets[260]) - 17 * sizeof(MCRegisterClass),
1068 .NameIdx: 150,
1069 .RegSizeInBits: 64,
1070 .RegsSize: 16,
1071 .RegSetSize: 24,
1072 .ID: SystemZ::GR64BitRegClassID,
1073 .CopyCost: 1, /* CopyCost */
1074 .Allocatable: true, /* Allocatable */
1075 .BaseClass: false,
1076 offsetof(SystemZRegisterClassStorage, SubClassMasks[43]) - 17 * sizeof(MCRegisterClass),
1077 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[0]) - 17 * sizeof(MCRegisterClass),
1078 .LaneMask: LaneBitmask(0x0000000000000003),
1079 .AllocationPriority: 0,
1080 .GlobalPriority: false,
1081 .TSFlags: 0x00, /* TSFlags */
1082 .SpillStackID: 0, /* SpillStackID */
1083 .HasDisjunctSubRegs: true, /* HasDisjunctSubRegs */
1084 .CoveredBySubRegs: true, /* CoveredBySubRegs */
1085 offsetof(SystemZRegisterClassStorage, SuperClasses[12]) - 17 * sizeof(MCRegisterClass),
1086 .SuperClassesSize: 1
1087 },
1088 {
1089 offsetof(SystemZRegisterClassStorage, Regs[369]) - 18 * sizeof(MCRegisterClass),
1090 offsetof(SystemZRegisterClassStorage, BitSets[284]) - 18 * sizeof(MCRegisterClass),
1091 .NameIdx: 140,
1092 .RegSizeInBits: 64,
1093 .RegsSize: 15,
1094 .RegSetSize: 24,
1095 .ID: SystemZ::ADDR64BitRegClassID,
1096 .CopyCost: 1, /* CopyCost */
1097 .Allocatable: true, /* Allocatable */
1098 .BaseClass: false,
1099 offsetof(SystemZRegisterClassStorage, SubClassMasks[46]) - 18 * sizeof(MCRegisterClass),
1100 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[0]) - 18 * sizeof(MCRegisterClass),
1101 .LaneMask: LaneBitmask(0x0000000000000003),
1102 .AllocationPriority: 0,
1103 .GlobalPriority: false,
1104 .TSFlags: 0x00, /* TSFlags */
1105 .SpillStackID: 0, /* SpillStackID */
1106 .HasDisjunctSubRegs: true, /* HasDisjunctSubRegs */
1107 .CoveredBySubRegs: true, /* CoveredBySubRegs */
1108 offsetof(SystemZRegisterClassStorage, SuperClasses[13]) - 18 * sizeof(MCRegisterClass),
1109 .SuperClassesSize: 2
1110 },
1111 {
1112 offsetof(SystemZRegisterClassStorage, Regs[384]) - 19 * sizeof(MCRegisterClass),
1113 offsetof(SystemZRegisterClassStorage, BitSets[308]) - 19 * sizeof(MCRegisterClass),
1114 .NameIdx: 220,
1115 .RegSizeInBits: 128,
1116 .RegsSize: 32,
1117 .RegSetSize: 9,
1118 .ID: SystemZ::VR128BitRegClassID,
1119 .CopyCost: 1, /* CopyCost */
1120 .Allocatable: true, /* Allocatable */
1121 .BaseClass: false,
1122 offsetof(SystemZRegisterClassStorage, SubClassMasks[49]) - 19 * sizeof(MCRegisterClass),
1123 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[2]) - 19 * sizeof(MCRegisterClass),
1124 .LaneMask: LaneBitmask(0x0000000000000003),
1125 .AllocationPriority: 0,
1126 .GlobalPriority: false,
1127 .TSFlags: 0x00, /* TSFlags */
1128 .SpillStackID: 0, /* SpillStackID */
1129 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
1130 .CoveredBySubRegs: false, /* CoveredBySubRegs */
1131 offsetof(SystemZRegisterClassStorage, SuperClasses[15]) - 19 * sizeof(MCRegisterClass),
1132 .SuperClassesSize: 0
1133 },
1134 {
1135 offsetof(SystemZRegisterClassStorage, Regs[416]) - 20 * sizeof(MCRegisterClass),
1136 offsetof(SystemZRegisterClassStorage, BitSets[317]) - 20 * sizeof(MCRegisterClass),
1137 .NameIdx: 182,
1138 .RegSizeInBits: 128,
1139 .RegsSize: 16,
1140 .RegSetSize: 7,
1141 .ID: SystemZ::VF128BitRegClassID,
1142 .CopyCost: 1, /* CopyCost */
1143 .Allocatable: true, /* Allocatable */
1144 .BaseClass: false,
1145 offsetof(SystemZRegisterClassStorage, SubClassMasks[50]) - 20 * sizeof(MCRegisterClass),
1146 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[2]) - 20 * sizeof(MCRegisterClass),
1147 .LaneMask: LaneBitmask(0x0000000000000003),
1148 .AllocationPriority: 0,
1149 .GlobalPriority: false,
1150 .TSFlags: 0x00, /* TSFlags */
1151 .SpillStackID: 0, /* SpillStackID */
1152 .HasDisjunctSubRegs: false, /* HasDisjunctSubRegs */
1153 .CoveredBySubRegs: false, /* CoveredBySubRegs */
1154 offsetof(SystemZRegisterClassStorage, SuperClasses[15]) - 20 * sizeof(MCRegisterClass),
1155 .SuperClassesSize: 4
1156 },
1157 {
1158 offsetof(SystemZRegisterClassStorage, Regs[432]) - 21 * sizeof(MCRegisterClass),
1159 offsetof(SystemZRegisterClassStorage, BitSets[324]) - 21 * sizeof(MCRegisterClass),
1160 .NameIdx: 191,
1161 .RegSizeInBits: 128,
1162 .RegsSize: 8,
1163 .RegSetSize: 18,
1164 .ID: SystemZ::FP128BitRegClassID,
1165 .CopyCost: 1, /* CopyCost */
1166 .Allocatable: true, /* Allocatable */
1167 .BaseClass: false,
1168 offsetof(SystemZRegisterClassStorage, SubClassMasks[51]) - 21 * sizeof(MCRegisterClass),
1169 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[2]) - 21 * sizeof(MCRegisterClass),
1170 .LaneMask: LaneBitmask(0x000000000000000F),
1171 .AllocationPriority: 0,
1172 .GlobalPriority: false,
1173 .TSFlags: 0x00, /* TSFlags */
1174 .SpillStackID: 0, /* SpillStackID */
1175 .HasDisjunctSubRegs: true, /* HasDisjunctSubRegs */
1176 .CoveredBySubRegs: true, /* CoveredBySubRegs */
1177 offsetof(SystemZRegisterClassStorage, SuperClasses[19]) - 21 * sizeof(MCRegisterClass),
1178 .SuperClassesSize: 0
1179 },
1180 {
1181 offsetof(SystemZRegisterClassStorage, Regs[440]) - 22 * sizeof(MCRegisterClass),
1182 offsetof(SystemZRegisterClassStorage, BitSets[342]) - 22 * sizeof(MCRegisterClass),
1183 .NameIdx: 211,
1184 .RegSizeInBits: 128,
1185 .RegsSize: 8,
1186 .RegSetSize: 29,
1187 .ID: SystemZ::GR128BitRegClassID,
1188 .CopyCost: 1, /* CopyCost */
1189 .Allocatable: true, /* Allocatable */
1190 .BaseClass: false,
1191 offsetof(SystemZRegisterClassStorage, SubClassMasks[52]) - 22 * sizeof(MCRegisterClass),
1192 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[2]) - 22 * sizeof(MCRegisterClass),
1193 .LaneMask: LaneBitmask(0x000000000000000F),
1194 .AllocationPriority: 0,
1195 .GlobalPriority: false,
1196 .TSFlags: 0x00, /* TSFlags */
1197 .SpillStackID: 0, /* SpillStackID */
1198 .HasDisjunctSubRegs: true, /* HasDisjunctSubRegs */
1199 .CoveredBySubRegs: true, /* CoveredBySubRegs */
1200 offsetof(SystemZRegisterClassStorage, SuperClasses[19]) - 22 * sizeof(MCRegisterClass),
1201 .SuperClassesSize: 0
1202 },
1203 {
1204 offsetof(SystemZRegisterClassStorage, Regs[448]) - 23 * sizeof(MCRegisterClass),
1205 offsetof(SystemZRegisterClassStorage, BitSets[371]) - 23 * sizeof(MCRegisterClass),
1206 .NameIdx: 200,
1207 .RegSizeInBits: 128,
1208 .RegsSize: 7,
1209 .RegSetSize: 29,
1210 .ID: SystemZ::ADDR128BitRegClassID,
1211 .CopyCost: 1, /* CopyCost */
1212 .Allocatable: true, /* Allocatable */
1213 .BaseClass: false,
1214 offsetof(SystemZRegisterClassStorage, SubClassMasks[53]) - 23 * sizeof(MCRegisterClass),
1215 offsetof(SystemZRegisterClassStorage, SuperRegIdxSeqs[2]) - 23 * 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]) - 23 * sizeof(MCRegisterClass),
1224 .SuperClassesSize: 1
1225 },
1226 },
1227 .Regs: {
1228 /* 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,
1229 /* 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,
1230 /* 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,
1231 /* 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,
1232 /* 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,
1233 /* 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,
1234 /* 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,
1235 /* 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,
1236 /* 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,
1237 /* 191 */ SystemZ::CC,
1238 /* 192 */ SystemZ::FPC,
1239 /* 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,
1240 /* 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,
1241 /* 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,
1242 /* 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,
1243 /* 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,
1244 /* 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,
1245 /* 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,
1246 /* 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,
1247 /* 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,
1248 /* 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,
1249 /* 432 */ SystemZ::F0Q, SystemZ::F1Q, SystemZ::F4Q, SystemZ::F5Q, SystemZ::F8Q, SystemZ::F9Q, SystemZ::F12Q, SystemZ::F13Q,
1250 /* 440 */ SystemZ::R0Q, SystemZ::R2Q, SystemZ::R4Q, SystemZ::R12Q, SystemZ::R10Q, SystemZ::R8Q, SystemZ::R6Q, SystemZ::R14Q,
1251 /* 448 */ SystemZ::R2Q, SystemZ::R4Q, SystemZ::R12Q, SystemZ::R10Q, SystemZ::R8Q, SystemZ::R6Q, SystemZ::R14Q,
1252 },
1253 .BitSets: {
1254 /* 0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, 0x07,
1255 /* 17 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0x07,
1256 /* 32 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, 0x07,
1257 /* 60 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, 0x07,
1258 /* 82 */ 0xf8, 0xff, 0x07,
1259 /* 85 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0x07,
1260 /* 105 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0x07,
1261 /* 133 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0x07,
1262 /* 159 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0x07,
1263 /* 187 */ 0x02,
1264 /* 188 */ 0x04,
1265 /* 189 */ 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0x07, 0x00, 0xf8, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0x07,
1266 /* 213 */ 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0x07, 0x00, 0xf8, 0xff, 0x07,
1267 /* 224 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, 0x07,
1268 /* 237 */ 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0x07,
1269 /* 244 */ 0x00, 0x00, 0xf8, 0xff, 0x07,
1270 /* 249 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0x07,
1271 /* 260 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0x07,
1272 /* 284 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0x07,
1273 /* 308 */ 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, 0x07,
1274 /* 317 */ 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0x07,
1275 /* 324 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x07,
1276 /* 342 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x07,
1277 /* 371 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07,
1278 },
1279 .SubClassMasks: {
1280 // 0 VR16Bit
1281 0x00000003,
1282 0x00397028, // subreg_h16
1283 0x00200000, // subreg_lh32_then_subreg_h16
1284 // 3 FP16Bit
1285 0x00000002,
1286 0x00315020, // subreg_h16
1287 0x00200000, // subreg_lh32_then_subreg_h16
1288 // 6 GRX32Bit
1289 0x000001c4,
1290 0x00c60000, // subreg_h32
1291 0x00c60000, // subreg_l32
1292 0x00c00000, // subreg_lh32
1293 0x00c00000, // subreg_ll32
1294 // 11 VR32Bit
1295 0x00000028,
1296 0x00397000, // subreg_h32
1297 0x00200000, // subreg_lh32
1298 // 14 AR32Bit
1299 0x00000010,
1300 // 15 FP32Bit
1301 0x00000020,
1302 0x00315000, // subreg_h32
1303 0x00200000, // subreg_lh32
1304 // 18 GR32Bit
1305 0x00000140,
1306 0x00c60000, // subreg_l32
1307 0x00c00000, // subreg_ll32
1308 // 21 GRH32Bit
1309 0x00000080,
1310 0x00c60000, // subreg_h32
1311 0x00c00000, // subreg_lh32
1312 // 24 ADDR32Bit
1313 0x00000100,
1314 0x00840000, // subreg_l32
1315 0x00c00000, // subreg_ll32
1316 // 27 CCR
1317 0x00000200,
1318 // 28 FPCRegs
1319 0x00000400,
1320 // 29 AnyRegBit
1321 0x00175800,
1322 0x00f04000, // subreg_h64
1323 0x00e00000, // subreg_l64
1324 // 32 AnyRegBit_with_subreg_h16
1325 0x00115000,
1326 0x00304000, // subreg_h64
1327 0x00200000, // subreg_l64
1328 // 35 VR64Bit
1329 0x00012000,
1330 0x00384000, // subreg_h64
1331 0x00200000, // subreg_l64
1332 // 38 AnyRegBit_with_subreg_h64
1333 0x00104000,
1334 // 39 CR64Bit
1335 0x00008000,
1336 // 40 FP64Bit
1337 0x00010000,
1338 0x00304000, // subreg_h64
1339 0x00200000, // subreg_l64
1340 // 43 GR64Bit
1341 0x00060000,
1342 0x00c00000, // subreg_h64
1343 0x00c00000, // subreg_l64
1344 // 46 ADDR64Bit
1345 0x00040000,
1346 0x00800000, // subreg_h64
1347 0x00c00000, // subreg_l64
1348 // 49 VR128Bit
1349 0x00180000,
1350 // 50 VF128Bit
1351 0x00100000,
1352 // 51 FP128Bit
1353 0x00200000,
1354 // 52 GR128Bit
1355 0x00c00000,
1356 // 53 ADDR128Bit
1357 0x00800000,
1358 },
1359 .SuperRegIdxSeqs: {
1360 /* 0 */ 3, 5, 0,
1361 /* 3 */ 2, 6, 0,
1362 /* 6 */ 4, 7, 0,
1363 /* 9 */ 2, 4, 6, 7, 0,
1364 /* 14 */ 1, 8, 0,
1365 },
1366 .SuperClasses: {
1367 /* 0 VR16Bit */
1368 /* 0 FP16Bit */ SystemZ::VR16BitRegClassID,
1369 /* 1 GRX32Bit */
1370 /* 1 VR32Bit */
1371 /* 1 AR32Bit */
1372 /* 1 FP32Bit */ SystemZ::VR32BitRegClassID,
1373 /* 2 GR32Bit */ SystemZ::GRX32BitRegClassID,
1374 /* 3 GRH32Bit */ SystemZ::GRX32BitRegClassID,
1375 /* 4 ADDR32Bit */ SystemZ::GRX32BitRegClassID, SystemZ::GR32BitRegClassID,
1376 /* 6 CCR */
1377 /* 6 FPCRegs */
1378 /* 6 AnyRegBit */
1379 /* 6 AnyRegBit_with_subreg_h16 */ SystemZ::AnyRegBitRegClassID,
1380 /* 7 VR64Bit */
1381 /* 7 AnyRegBit_with_subreg_h64 */ SystemZ::AnyRegBitRegClassID, SystemZ::AnyRegBit_with_subreg_h16RegClassID,
1382 /* 9 CR64Bit */
1383 /* 9 FP64Bit */ SystemZ::AnyRegBitRegClassID, SystemZ::AnyRegBit_with_subreg_h16RegClassID, SystemZ::VR64BitRegClassID,
1384 /* 12 GR64Bit */ SystemZ::AnyRegBitRegClassID,
1385 /* 13 ADDR64Bit */ SystemZ::AnyRegBitRegClassID, SystemZ::GR64BitRegClassID,
1386 /* 15 VR128Bit */
1387 /* 15 VF128Bit */ SystemZ::AnyRegBitRegClassID, SystemZ::AnyRegBit_with_subreg_h16RegClassID, SystemZ::AnyRegBit_with_subreg_h64RegClassID, SystemZ::VR128BitRegClassID,
1388 /* 19 FP128Bit */
1389 /* 19 GR128Bit */
1390 /* 19 ADDR128Bit */ SystemZ::GR128BitRegClassID,
1391 }
1392};
1393
1394const MCRegisterClass &getSystemZMCRegisterClass(unsigned RC) {
1395 return SystemZMCRegisterClassStorage.Classes[RC];
1396}
1397
1398// SystemZ Dwarf<->LLVM register mappings.
1399extern const MCRegisterInfo::DwarfLLVMRegPair SystemZDwarfFlavour0Dwarf2L[] = {
1400 { .FromReg: 0U, .ToReg: SystemZ::R0D },
1401 { .FromReg: 1U, .ToReg: SystemZ::R1D },
1402 { .FromReg: 2U, .ToReg: SystemZ::R2D },
1403 { .FromReg: 3U, .ToReg: SystemZ::R3D },
1404 { .FromReg: 4U, .ToReg: SystemZ::R4D },
1405 { .FromReg: 5U, .ToReg: SystemZ::R5D },
1406 { .FromReg: 6U, .ToReg: SystemZ::R6D },
1407 { .FromReg: 7U, .ToReg: SystemZ::R7D },
1408 { .FromReg: 8U, .ToReg: SystemZ::R8D },
1409 { .FromReg: 9U, .ToReg: SystemZ::R9D },
1410 { .FromReg: 10U, .ToReg: SystemZ::R10D },
1411 { .FromReg: 11U, .ToReg: SystemZ::R11D },
1412 { .FromReg: 12U, .ToReg: SystemZ::R12D },
1413 { .FromReg: 13U, .ToReg: SystemZ::R13D },
1414 { .FromReg: 14U, .ToReg: SystemZ::R14D },
1415 { .FromReg: 15U, .ToReg: SystemZ::R15D },
1416 { .FromReg: 16U, .ToReg: SystemZ::F0D },
1417 { .FromReg: 17U, .ToReg: SystemZ::F2D },
1418 { .FromReg: 18U, .ToReg: SystemZ::F4D },
1419 { .FromReg: 19U, .ToReg: SystemZ::F6D },
1420 { .FromReg: 20U, .ToReg: SystemZ::F1D },
1421 { .FromReg: 21U, .ToReg: SystemZ::F3D },
1422 { .FromReg: 22U, .ToReg: SystemZ::F5D },
1423 { .FromReg: 23U, .ToReg: SystemZ::F7D },
1424 { .FromReg: 24U, .ToReg: SystemZ::F8D },
1425 { .FromReg: 25U, .ToReg: SystemZ::F10D },
1426 { .FromReg: 26U, .ToReg: SystemZ::F12D },
1427 { .FromReg: 27U, .ToReg: SystemZ::F14D },
1428 { .FromReg: 28U, .ToReg: SystemZ::F9D },
1429 { .FromReg: 29U, .ToReg: SystemZ::F11D },
1430 { .FromReg: 30U, .ToReg: SystemZ::F13D },
1431 { .FromReg: 31U, .ToReg: SystemZ::F15D },
1432 { .FromReg: 32U, .ToReg: SystemZ::C0 },
1433 { .FromReg: 33U, .ToReg: SystemZ::C1 },
1434 { .FromReg: 34U, .ToReg: SystemZ::C2 },
1435 { .FromReg: 35U, .ToReg: SystemZ::C3 },
1436 { .FromReg: 36U, .ToReg: SystemZ::C4 },
1437 { .FromReg: 37U, .ToReg: SystemZ::C5 },
1438 { .FromReg: 38U, .ToReg: SystemZ::C6 },
1439 { .FromReg: 39U, .ToReg: SystemZ::C7 },
1440 { .FromReg: 40U, .ToReg: SystemZ::C8 },
1441 { .FromReg: 41U, .ToReg: SystemZ::C9 },
1442 { .FromReg: 42U, .ToReg: SystemZ::C10 },
1443 { .FromReg: 43U, .ToReg: SystemZ::C11 },
1444 { .FromReg: 44U, .ToReg: SystemZ::C12 },
1445 { .FromReg: 45U, .ToReg: SystemZ::C13 },
1446 { .FromReg: 46U, .ToReg: SystemZ::C14 },
1447 { .FromReg: 47U, .ToReg: SystemZ::C15 },
1448 { .FromReg: 48U, .ToReg: SystemZ::A0 },
1449 { .FromReg: 49U, .ToReg: SystemZ::A1 },
1450 { .FromReg: 50U, .ToReg: SystemZ::A2 },
1451 { .FromReg: 51U, .ToReg: SystemZ::A3 },
1452 { .FromReg: 52U, .ToReg: SystemZ::A4 },
1453 { .FromReg: 53U, .ToReg: SystemZ::A5 },
1454 { .FromReg: 54U, .ToReg: SystemZ::A6 },
1455 { .FromReg: 55U, .ToReg: SystemZ::A7 },
1456 { .FromReg: 56U, .ToReg: SystemZ::A8 },
1457 { .FromReg: 57U, .ToReg: SystemZ::A9 },
1458 { .FromReg: 58U, .ToReg: SystemZ::A10 },
1459 { .FromReg: 59U, .ToReg: SystemZ::A11 },
1460 { .FromReg: 60U, .ToReg: SystemZ::A12 },
1461 { .FromReg: 61U, .ToReg: SystemZ::A13 },
1462 { .FromReg: 62U, .ToReg: SystemZ::A14 },
1463 { .FromReg: 63U, .ToReg: SystemZ::A15 },
1464 { .FromReg: 68U, .ToReg: SystemZ::F16D },
1465 { .FromReg: 69U, .ToReg: SystemZ::F18D },
1466 { .FromReg: 70U, .ToReg: SystemZ::F20D },
1467 { .FromReg: 71U, .ToReg: SystemZ::F22D },
1468 { .FromReg: 72U, .ToReg: SystemZ::F17D },
1469 { .FromReg: 73U, .ToReg: SystemZ::F19D },
1470 { .FromReg: 74U, .ToReg: SystemZ::F21D },
1471 { .FromReg: 75U, .ToReg: SystemZ::F23D },
1472 { .FromReg: 76U, .ToReg: SystemZ::F24D },
1473 { .FromReg: 77U, .ToReg: SystemZ::F26D },
1474 { .FromReg: 78U, .ToReg: SystemZ::F28D },
1475 { .FromReg: 79U, .ToReg: SystemZ::F30D },
1476 { .FromReg: 80U, .ToReg: SystemZ::F25D },
1477 { .FromReg: 81U, .ToReg: SystemZ::F27D },
1478 { .FromReg: 82U, .ToReg: SystemZ::F29D },
1479 { .FromReg: 83U, .ToReg: SystemZ::F31D },
1480};
1481extern const unsigned SystemZDwarfFlavour0Dwarf2LSize = std::size(SystemZDwarfFlavour0Dwarf2L);
1482
1483extern const MCRegisterInfo::DwarfLLVMRegPair SystemZEHFlavour0Dwarf2L[] = {
1484 { .FromReg: 0U, .ToReg: SystemZ::R0D },
1485 { .FromReg: 1U, .ToReg: SystemZ::R1D },
1486 { .FromReg: 2U, .ToReg: SystemZ::R2D },
1487 { .FromReg: 3U, .ToReg: SystemZ::R3D },
1488 { .FromReg: 4U, .ToReg: SystemZ::R4D },
1489 { .FromReg: 5U, .ToReg: SystemZ::R5D },
1490 { .FromReg: 6U, .ToReg: SystemZ::R6D },
1491 { .FromReg: 7U, .ToReg: SystemZ::R7D },
1492 { .FromReg: 8U, .ToReg: SystemZ::R8D },
1493 { .FromReg: 9U, .ToReg: SystemZ::R9D },
1494 { .FromReg: 10U, .ToReg: SystemZ::R10D },
1495 { .FromReg: 11U, .ToReg: SystemZ::R11D },
1496 { .FromReg: 12U, .ToReg: SystemZ::R12D },
1497 { .FromReg: 13U, .ToReg: SystemZ::R13D },
1498 { .FromReg: 14U, .ToReg: SystemZ::R14D },
1499 { .FromReg: 15U, .ToReg: SystemZ::R15D },
1500 { .FromReg: 16U, .ToReg: SystemZ::F0D },
1501 { .FromReg: 17U, .ToReg: SystemZ::F2D },
1502 { .FromReg: 18U, .ToReg: SystemZ::F4D },
1503 { .FromReg: 19U, .ToReg: SystemZ::F6D },
1504 { .FromReg: 20U, .ToReg: SystemZ::F1D },
1505 { .FromReg: 21U, .ToReg: SystemZ::F3D },
1506 { .FromReg: 22U, .ToReg: SystemZ::F5D },
1507 { .FromReg: 23U, .ToReg: SystemZ::F7D },
1508 { .FromReg: 24U, .ToReg: SystemZ::F8D },
1509 { .FromReg: 25U, .ToReg: SystemZ::F10D },
1510 { .FromReg: 26U, .ToReg: SystemZ::F12D },
1511 { .FromReg: 27U, .ToReg: SystemZ::F14D },
1512 { .FromReg: 28U, .ToReg: SystemZ::F9D },
1513 { .FromReg: 29U, .ToReg: SystemZ::F11D },
1514 { .FromReg: 30U, .ToReg: SystemZ::F13D },
1515 { .FromReg: 31U, .ToReg: SystemZ::F15D },
1516 { .FromReg: 32U, .ToReg: SystemZ::C0 },
1517 { .FromReg: 33U, .ToReg: SystemZ::C1 },
1518 { .FromReg: 34U, .ToReg: SystemZ::C2 },
1519 { .FromReg: 35U, .ToReg: SystemZ::C3 },
1520 { .FromReg: 36U, .ToReg: SystemZ::C4 },
1521 { .FromReg: 37U, .ToReg: SystemZ::C5 },
1522 { .FromReg: 38U, .ToReg: SystemZ::C6 },
1523 { .FromReg: 39U, .ToReg: SystemZ::C7 },
1524 { .FromReg: 40U, .ToReg: SystemZ::C8 },
1525 { .FromReg: 41U, .ToReg: SystemZ::C9 },
1526 { .FromReg: 42U, .ToReg: SystemZ::C10 },
1527 { .FromReg: 43U, .ToReg: SystemZ::C11 },
1528 { .FromReg: 44U, .ToReg: SystemZ::C12 },
1529 { .FromReg: 45U, .ToReg: SystemZ::C13 },
1530 { .FromReg: 46U, .ToReg: SystemZ::C14 },
1531 { .FromReg: 47U, .ToReg: SystemZ::C15 },
1532 { .FromReg: 48U, .ToReg: SystemZ::A0 },
1533 { .FromReg: 49U, .ToReg: SystemZ::A1 },
1534 { .FromReg: 50U, .ToReg: SystemZ::A2 },
1535 { .FromReg: 51U, .ToReg: SystemZ::A3 },
1536 { .FromReg: 52U, .ToReg: SystemZ::A4 },
1537 { .FromReg: 53U, .ToReg: SystemZ::A5 },
1538 { .FromReg: 54U, .ToReg: SystemZ::A6 },
1539 { .FromReg: 55U, .ToReg: SystemZ::A7 },
1540 { .FromReg: 56U, .ToReg: SystemZ::A8 },
1541 { .FromReg: 57U, .ToReg: SystemZ::A9 },
1542 { .FromReg: 58U, .ToReg: SystemZ::A10 },
1543 { .FromReg: 59U, .ToReg: SystemZ::A11 },
1544 { .FromReg: 60U, .ToReg: SystemZ::A12 },
1545 { .FromReg: 61U, .ToReg: SystemZ::A13 },
1546 { .FromReg: 62U, .ToReg: SystemZ::A14 },
1547 { .FromReg: 63U, .ToReg: SystemZ::A15 },
1548 { .FromReg: 68U, .ToReg: SystemZ::F16D },
1549 { .FromReg: 69U, .ToReg: SystemZ::F18D },
1550 { .FromReg: 70U, .ToReg: SystemZ::F20D },
1551 { .FromReg: 71U, .ToReg: SystemZ::F22D },
1552 { .FromReg: 72U, .ToReg: SystemZ::F17D },
1553 { .FromReg: 73U, .ToReg: SystemZ::F19D },
1554 { .FromReg: 74U, .ToReg: SystemZ::F21D },
1555 { .FromReg: 75U, .ToReg: SystemZ::F23D },
1556 { .FromReg: 76U, .ToReg: SystemZ::F24D },
1557 { .FromReg: 77U, .ToReg: SystemZ::F26D },
1558 { .FromReg: 78U, .ToReg: SystemZ::F28D },
1559 { .FromReg: 79U, .ToReg: SystemZ::F30D },
1560 { .FromReg: 80U, .ToReg: SystemZ::F25D },
1561 { .FromReg: 81U, .ToReg: SystemZ::F27D },
1562 { .FromReg: 82U, .ToReg: SystemZ::F29D },
1563 { .FromReg: 83U, .ToReg: SystemZ::F31D },
1564};
1565extern const unsigned SystemZEHFlavour0Dwarf2LSize = std::size(SystemZEHFlavour0Dwarf2L);
1566
1567extern const MCRegisterInfo::DwarfLLVMRegPair SystemZDwarfFlavour0L2Dwarf[] = {
1568 { .FromReg: SystemZ::A0, .ToReg: 48U },
1569 { .FromReg: SystemZ::A1, .ToReg: 49U },
1570 { .FromReg: SystemZ::A2, .ToReg: 50U },
1571 { .FromReg: SystemZ::A3, .ToReg: 51U },
1572 { .FromReg: SystemZ::A4, .ToReg: 52U },
1573 { .FromReg: SystemZ::A5, .ToReg: 53U },
1574 { .FromReg: SystemZ::A6, .ToReg: 54U },
1575 { .FromReg: SystemZ::A7, .ToReg: 55U },
1576 { .FromReg: SystemZ::A8, .ToReg: 56U },
1577 { .FromReg: SystemZ::A9, .ToReg: 57U },
1578 { .FromReg: SystemZ::A10, .ToReg: 58U },
1579 { .FromReg: SystemZ::A11, .ToReg: 59U },
1580 { .FromReg: SystemZ::A12, .ToReg: 60U },
1581 { .FromReg: SystemZ::A13, .ToReg: 61U },
1582 { .FromReg: SystemZ::A14, .ToReg: 62U },
1583 { .FromReg: SystemZ::A15, .ToReg: 63U },
1584 { .FromReg: SystemZ::C0, .ToReg: 32U },
1585 { .FromReg: SystemZ::C1, .ToReg: 33U },
1586 { .FromReg: SystemZ::C2, .ToReg: 34U },
1587 { .FromReg: SystemZ::C3, .ToReg: 35U },
1588 { .FromReg: SystemZ::C4, .ToReg: 36U },
1589 { .FromReg: SystemZ::C5, .ToReg: 37U },
1590 { .FromReg: SystemZ::C6, .ToReg: 38U },
1591 { .FromReg: SystemZ::C7, .ToReg: 39U },
1592 { .FromReg: SystemZ::C8, .ToReg: 40U },
1593 { .FromReg: SystemZ::C9, .ToReg: 41U },
1594 { .FromReg: SystemZ::C10, .ToReg: 42U },
1595 { .FromReg: SystemZ::C11, .ToReg: 43U },
1596 { .FromReg: SystemZ::C12, .ToReg: 44U },
1597 { .FromReg: SystemZ::C13, .ToReg: 45U },
1598 { .FromReg: SystemZ::C14, .ToReg: 46U },
1599 { .FromReg: SystemZ::C15, .ToReg: 47U },
1600 { .FromReg: SystemZ::V0, .ToReg: 16U },
1601 { .FromReg: SystemZ::V1, .ToReg: 20U },
1602 { .FromReg: SystemZ::V2, .ToReg: 17U },
1603 { .FromReg: SystemZ::V3, .ToReg: 21U },
1604 { .FromReg: SystemZ::V4, .ToReg: 18U },
1605 { .FromReg: SystemZ::V5, .ToReg: 22U },
1606 { .FromReg: SystemZ::V6, .ToReg: 19U },
1607 { .FromReg: SystemZ::V7, .ToReg: 23U },
1608 { .FromReg: SystemZ::V8, .ToReg: 24U },
1609 { .FromReg: SystemZ::V9, .ToReg: 28U },
1610 { .FromReg: SystemZ::V10, .ToReg: 25U },
1611 { .FromReg: SystemZ::V11, .ToReg: 29U },
1612 { .FromReg: SystemZ::V12, .ToReg: 26U },
1613 { .FromReg: SystemZ::V13, .ToReg: 30U },
1614 { .FromReg: SystemZ::V14, .ToReg: 27U },
1615 { .FromReg: SystemZ::V15, .ToReg: 31U },
1616 { .FromReg: SystemZ::V16, .ToReg: 68U },
1617 { .FromReg: SystemZ::V17, .ToReg: 72U },
1618 { .FromReg: SystemZ::V18, .ToReg: 69U },
1619 { .FromReg: SystemZ::V19, .ToReg: 73U },
1620 { .FromReg: SystemZ::V20, .ToReg: 70U },
1621 { .FromReg: SystemZ::V21, .ToReg: 74U },
1622 { .FromReg: SystemZ::V22, .ToReg: 71U },
1623 { .FromReg: SystemZ::V23, .ToReg: 75U },
1624 { .FromReg: SystemZ::V24, .ToReg: 76U },
1625 { .FromReg: SystemZ::V25, .ToReg: 80U },
1626 { .FromReg: SystemZ::V26, .ToReg: 77U },
1627 { .FromReg: SystemZ::V27, .ToReg: 81U },
1628 { .FromReg: SystemZ::V28, .ToReg: 78U },
1629 { .FromReg: SystemZ::V29, .ToReg: 82U },
1630 { .FromReg: SystemZ::V30, .ToReg: 79U },
1631 { .FromReg: SystemZ::V31, .ToReg: 83U },
1632 { .FromReg: SystemZ::F0D, .ToReg: 16U },
1633 { .FromReg: SystemZ::F1D, .ToReg: 20U },
1634 { .FromReg: SystemZ::F2D, .ToReg: 17U },
1635 { .FromReg: SystemZ::F3D, .ToReg: 21U },
1636 { .FromReg: SystemZ::F4D, .ToReg: 18U },
1637 { .FromReg: SystemZ::F5D, .ToReg: 22U },
1638 { .FromReg: SystemZ::F6D, .ToReg: 19U },
1639 { .FromReg: SystemZ::F7D, .ToReg: 23U },
1640 { .FromReg: SystemZ::F8D, .ToReg: 24U },
1641 { .FromReg: SystemZ::F9D, .ToReg: 28U },
1642 { .FromReg: SystemZ::F10D, .ToReg: 25U },
1643 { .FromReg: SystemZ::F11D, .ToReg: 29U },
1644 { .FromReg: SystemZ::F12D, .ToReg: 26U },
1645 { .FromReg: SystemZ::F13D, .ToReg: 30U },
1646 { .FromReg: SystemZ::F14D, .ToReg: 27U },
1647 { .FromReg: SystemZ::F15D, .ToReg: 31U },
1648 { .FromReg: SystemZ::F16D, .ToReg: 68U },
1649 { .FromReg: SystemZ::F17D, .ToReg: 72U },
1650 { .FromReg: SystemZ::F18D, .ToReg: 69U },
1651 { .FromReg: SystemZ::F19D, .ToReg: 73U },
1652 { .FromReg: SystemZ::F20D, .ToReg: 70U },
1653 { .FromReg: SystemZ::F21D, .ToReg: 74U },
1654 { .FromReg: SystemZ::F22D, .ToReg: 71U },
1655 { .FromReg: SystemZ::F23D, .ToReg: 75U },
1656 { .FromReg: SystemZ::F24D, .ToReg: 76U },
1657 { .FromReg: SystemZ::F25D, .ToReg: 80U },
1658 { .FromReg: SystemZ::F26D, .ToReg: 77U },
1659 { .FromReg: SystemZ::F27D, .ToReg: 81U },
1660 { .FromReg: SystemZ::F28D, .ToReg: 78U },
1661 { .FromReg: SystemZ::F29D, .ToReg: 82U },
1662 { .FromReg: SystemZ::F30D, .ToReg: 79U },
1663 { .FromReg: SystemZ::F31D, .ToReg: 83U },
1664 { .FromReg: SystemZ::R0D, .ToReg: 0U },
1665 { .FromReg: SystemZ::R1D, .ToReg: 1U },
1666 { .FromReg: SystemZ::R2D, .ToReg: 2U },
1667 { .FromReg: SystemZ::R3D, .ToReg: 3U },
1668 { .FromReg: SystemZ::R4D, .ToReg: 4U },
1669 { .FromReg: SystemZ::R5D, .ToReg: 5U },
1670 { .FromReg: SystemZ::R6D, .ToReg: 6U },
1671 { .FromReg: SystemZ::R7D, .ToReg: 7U },
1672 { .FromReg: SystemZ::R8D, .ToReg: 8U },
1673 { .FromReg: SystemZ::R9D, .ToReg: 9U },
1674 { .FromReg: SystemZ::R10D, .ToReg: 10U },
1675 { .FromReg: SystemZ::R11D, .ToReg: 11U },
1676 { .FromReg: SystemZ::R12D, .ToReg: 12U },
1677 { .FromReg: SystemZ::R13D, .ToReg: 13U },
1678 { .FromReg: SystemZ::R14D, .ToReg: 14U },
1679 { .FromReg: SystemZ::R15D, .ToReg: 15U },
1680};
1681extern const unsigned SystemZDwarfFlavour0L2DwarfSize = std::size(SystemZDwarfFlavour0L2Dwarf);
1682
1683extern const MCRegisterInfo::DwarfLLVMRegPair SystemZEHFlavour0L2Dwarf[] = {
1684 { .FromReg: SystemZ::A0, .ToReg: 48U },
1685 { .FromReg: SystemZ::A1, .ToReg: 49U },
1686 { .FromReg: SystemZ::A2, .ToReg: 50U },
1687 { .FromReg: SystemZ::A3, .ToReg: 51U },
1688 { .FromReg: SystemZ::A4, .ToReg: 52U },
1689 { .FromReg: SystemZ::A5, .ToReg: 53U },
1690 { .FromReg: SystemZ::A6, .ToReg: 54U },
1691 { .FromReg: SystemZ::A7, .ToReg: 55U },
1692 { .FromReg: SystemZ::A8, .ToReg: 56U },
1693 { .FromReg: SystemZ::A9, .ToReg: 57U },
1694 { .FromReg: SystemZ::A10, .ToReg: 58U },
1695 { .FromReg: SystemZ::A11, .ToReg: 59U },
1696 { .FromReg: SystemZ::A12, .ToReg: 60U },
1697 { .FromReg: SystemZ::A13, .ToReg: 61U },
1698 { .FromReg: SystemZ::A14, .ToReg: 62U },
1699 { .FromReg: SystemZ::A15, .ToReg: 63U },
1700 { .FromReg: SystemZ::C0, .ToReg: 32U },
1701 { .FromReg: SystemZ::C1, .ToReg: 33U },
1702 { .FromReg: SystemZ::C2, .ToReg: 34U },
1703 { .FromReg: SystemZ::C3, .ToReg: 35U },
1704 { .FromReg: SystemZ::C4, .ToReg: 36U },
1705 { .FromReg: SystemZ::C5, .ToReg: 37U },
1706 { .FromReg: SystemZ::C6, .ToReg: 38U },
1707 { .FromReg: SystemZ::C7, .ToReg: 39U },
1708 { .FromReg: SystemZ::C8, .ToReg: 40U },
1709 { .FromReg: SystemZ::C9, .ToReg: 41U },
1710 { .FromReg: SystemZ::C10, .ToReg: 42U },
1711 { .FromReg: SystemZ::C11, .ToReg: 43U },
1712 { .FromReg: SystemZ::C12, .ToReg: 44U },
1713 { .FromReg: SystemZ::C13, .ToReg: 45U },
1714 { .FromReg: SystemZ::C14, .ToReg: 46U },
1715 { .FromReg: SystemZ::C15, .ToReg: 47U },
1716 { .FromReg: SystemZ::V0, .ToReg: 16U },
1717 { .FromReg: SystemZ::V1, .ToReg: 20U },
1718 { .FromReg: SystemZ::V2, .ToReg: 17U },
1719 { .FromReg: SystemZ::V3, .ToReg: 21U },
1720 { .FromReg: SystemZ::V4, .ToReg: 18U },
1721 { .FromReg: SystemZ::V5, .ToReg: 22U },
1722 { .FromReg: SystemZ::V6, .ToReg: 19U },
1723 { .FromReg: SystemZ::V7, .ToReg: 23U },
1724 { .FromReg: SystemZ::V8, .ToReg: 24U },
1725 { .FromReg: SystemZ::V9, .ToReg: 28U },
1726 { .FromReg: SystemZ::V10, .ToReg: 25U },
1727 { .FromReg: SystemZ::V11, .ToReg: 29U },
1728 { .FromReg: SystemZ::V12, .ToReg: 26U },
1729 { .FromReg: SystemZ::V13, .ToReg: 30U },
1730 { .FromReg: SystemZ::V14, .ToReg: 27U },
1731 { .FromReg: SystemZ::V15, .ToReg: 31U },
1732 { .FromReg: SystemZ::V16, .ToReg: 68U },
1733 { .FromReg: SystemZ::V17, .ToReg: 72U },
1734 { .FromReg: SystemZ::V18, .ToReg: 69U },
1735 { .FromReg: SystemZ::V19, .ToReg: 73U },
1736 { .FromReg: SystemZ::V20, .ToReg: 70U },
1737 { .FromReg: SystemZ::V21, .ToReg: 74U },
1738 { .FromReg: SystemZ::V22, .ToReg: 71U },
1739 { .FromReg: SystemZ::V23, .ToReg: 75U },
1740 { .FromReg: SystemZ::V24, .ToReg: 76U },
1741 { .FromReg: SystemZ::V25, .ToReg: 80U },
1742 { .FromReg: SystemZ::V26, .ToReg: 77U },
1743 { .FromReg: SystemZ::V27, .ToReg: 81U },
1744 { .FromReg: SystemZ::V28, .ToReg: 78U },
1745 { .FromReg: SystemZ::V29, .ToReg: 82U },
1746 { .FromReg: SystemZ::V30, .ToReg: 79U },
1747 { .FromReg: SystemZ::V31, .ToReg: 83U },
1748 { .FromReg: SystemZ::F0D, .ToReg: 16U },
1749 { .FromReg: SystemZ::F1D, .ToReg: 20U },
1750 { .FromReg: SystemZ::F2D, .ToReg: 17U },
1751 { .FromReg: SystemZ::F3D, .ToReg: 21U },
1752 { .FromReg: SystemZ::F4D, .ToReg: 18U },
1753 { .FromReg: SystemZ::F5D, .ToReg: 22U },
1754 { .FromReg: SystemZ::F6D, .ToReg: 19U },
1755 { .FromReg: SystemZ::F7D, .ToReg: 23U },
1756 { .FromReg: SystemZ::F8D, .ToReg: 24U },
1757 { .FromReg: SystemZ::F9D, .ToReg: 28U },
1758 { .FromReg: SystemZ::F10D, .ToReg: 25U },
1759 { .FromReg: SystemZ::F11D, .ToReg: 29U },
1760 { .FromReg: SystemZ::F12D, .ToReg: 26U },
1761 { .FromReg: SystemZ::F13D, .ToReg: 30U },
1762 { .FromReg: SystemZ::F14D, .ToReg: 27U },
1763 { .FromReg: SystemZ::F15D, .ToReg: 31U },
1764 { .FromReg: SystemZ::F16D, .ToReg: 68U },
1765 { .FromReg: SystemZ::F17D, .ToReg: 72U },
1766 { .FromReg: SystemZ::F18D, .ToReg: 69U },
1767 { .FromReg: SystemZ::F19D, .ToReg: 73U },
1768 { .FromReg: SystemZ::F20D, .ToReg: 70U },
1769 { .FromReg: SystemZ::F21D, .ToReg: 74U },
1770 { .FromReg: SystemZ::F22D, .ToReg: 71U },
1771 { .FromReg: SystemZ::F23D, .ToReg: 75U },
1772 { .FromReg: SystemZ::F24D, .ToReg: 76U },
1773 { .FromReg: SystemZ::F25D, .ToReg: 80U },
1774 { .FromReg: SystemZ::F26D, .ToReg: 77U },
1775 { .FromReg: SystemZ::F27D, .ToReg: 81U },
1776 { .FromReg: SystemZ::F28D, .ToReg: 78U },
1777 { .FromReg: SystemZ::F29D, .ToReg: 82U },
1778 { .FromReg: SystemZ::F30D, .ToReg: 79U },
1779 { .FromReg: SystemZ::F31D, .ToReg: 83U },
1780 { .FromReg: SystemZ::R0D, .ToReg: 0U },
1781 { .FromReg: SystemZ::R1D, .ToReg: 1U },
1782 { .FromReg: SystemZ::R2D, .ToReg: 2U },
1783 { .FromReg: SystemZ::R3D, .ToReg: 3U },
1784 { .FromReg: SystemZ::R4D, .ToReg: 4U },
1785 { .FromReg: SystemZ::R5D, .ToReg: 5U },
1786 { .FromReg: SystemZ::R6D, .ToReg: 6U },
1787 { .FromReg: SystemZ::R7D, .ToReg: 7U },
1788 { .FromReg: SystemZ::R8D, .ToReg: 8U },
1789 { .FromReg: SystemZ::R9D, .ToReg: 9U },
1790 { .FromReg: SystemZ::R10D, .ToReg: 10U },
1791 { .FromReg: SystemZ::R11D, .ToReg: 11U },
1792 { .FromReg: SystemZ::R12D, .ToReg: 12U },
1793 { .FromReg: SystemZ::R13D, .ToReg: 13U },
1794 { .FromReg: SystemZ::R14D, .ToReg: 14U },
1795 { .FromReg: SystemZ::R15D, .ToReg: 15U },
1796};
1797extern const unsigned SystemZEHFlavour0L2DwarfSize = std::size(SystemZEHFlavour0L2Dwarf);
1798
1799extern const uint16_t SystemZRegEncodingTable[] = {
1800 0,
1801 0,
1802 0,
1803 0,
1804 1,
1805 2,
1806 3,
1807 4,
1808 5,
1809 6,
1810 7,
1811 8,
1812 9,
1813 10,
1814 11,
1815 12,
1816 13,
1817 14,
1818 15,
1819 0,
1820 1,
1821 2,
1822 3,
1823 4,
1824 5,
1825 6,
1826 7,
1827 8,
1828 9,
1829 10,
1830 11,
1831 12,
1832 13,
1833 14,
1834 15,
1835 0,
1836 1,
1837 2,
1838 3,
1839 4,
1840 5,
1841 6,
1842 7,
1843 8,
1844 9,
1845 10,
1846 11,
1847 12,
1848 13,
1849 14,
1850 15,
1851 16,
1852 17,
1853 18,
1854 19,
1855 20,
1856 21,
1857 22,
1858 23,
1859 24,
1860 25,
1861 26,
1862 27,
1863 28,
1864 29,
1865 30,
1866 31,
1867 0,
1868 1,
1869 2,
1870 3,
1871 4,
1872 5,
1873 6,
1874 7,
1875 8,
1876 9,
1877 10,
1878 11,
1879 12,
1880 13,
1881 14,
1882 15,
1883 16,
1884 17,
1885 18,
1886 19,
1887 20,
1888 21,
1889 22,
1890 23,
1891 24,
1892 25,
1893 26,
1894 27,
1895 28,
1896 29,
1897 30,
1898 31,
1899 0,
1900 1,
1901 2,
1902 3,
1903 4,
1904 5,
1905 6,
1906 7,
1907 8,
1908 9,
1909 10,
1910 11,
1911 12,
1912 13,
1913 14,
1914 15,
1915 16,
1916 17,
1917 18,
1918 19,
1919 20,
1920 21,
1921 22,
1922 23,
1923 24,
1924 25,
1925 26,
1926 27,
1927 28,
1928 29,
1929 30,
1930 31,
1931 0,
1932 1,
1933 4,
1934 5,
1935 8,
1936 9,
1937 12,
1938 13,
1939 0,
1940 1,
1941 2,
1942 3,
1943 4,
1944 5,
1945 6,
1946 7,
1947 8,
1948 9,
1949 10,
1950 11,
1951 12,
1952 13,
1953 14,
1954 15,
1955 16,
1956 17,
1957 18,
1958 19,
1959 20,
1960 21,
1961 22,
1962 23,
1963 24,
1964 25,
1965 26,
1966 27,
1967 28,
1968 29,
1969 30,
1970 31,
1971 0,
1972 1,
1973 2,
1974 3,
1975 4,
1976 5,
1977 6,
1978 7,
1979 8,
1980 9,
1981 10,
1982 11,
1983 12,
1984 13,
1985 14,
1986 15,
1987 0,
1988 1,
1989 2,
1990 3,
1991 4,
1992 5,
1993 6,
1994 7,
1995 8,
1996 9,
1997 10,
1998 11,
1999 12,
2000 13,
2001 14,
2002 15,
2003 0,
2004 1,
2005 2,
2006 3,
2007 4,
2008 5,
2009 6,
2010 7,
2011 8,
2012 9,
2013 10,
2014 11,
2015 12,
2016 13,
2017 14,
2018 15,
2019 0,
2020 2,
2021 4,
2022 6,
2023 8,
2024 10,
2025 12,
2026 14,
2027};
2028static inline void InitSystemZMCRegisterInfo(MCRegisterInfo *RI, unsigned RA, unsigned DwarfFlavour = 0, unsigned EHFlavour = 0, unsigned PC = 0) {
2029 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,
2030RET: SystemZRegEncodingTable, RUI: nullptr);
2031
2032 switch (DwarfFlavour) {
2033 default:
2034 llvm_unreachable("Unknown DWARF flavour");
2035 case 0:
2036 RI->mapDwarfRegsToLLVMRegs(Map: SystemZDwarfFlavour0Dwarf2L, Size: SystemZDwarfFlavour0Dwarf2LSize, isEH: false);
2037 break;
2038 }
2039 switch (EHFlavour) {
2040 default:
2041 llvm_unreachable("Unknown DWARF flavour");
2042 case 0:
2043 RI->mapDwarfRegsToLLVMRegs(Map: SystemZEHFlavour0Dwarf2L, Size: SystemZEHFlavour0Dwarf2LSize, isEH: true);
2044 break;
2045 }
2046 switch (DwarfFlavour) {
2047 default:
2048 llvm_unreachable("Unknown DWARF flavour");
2049 case 0:
2050 RI->mapLLVMRegsToDwarfRegs(Map: SystemZDwarfFlavour0L2Dwarf, Size: SystemZDwarfFlavour0L2DwarfSize, isEH: false);
2051 break;
2052 }
2053 switch (EHFlavour) {
2054 default:
2055 llvm_unreachable("Unknown DWARF flavour");
2056 case 0:
2057 RI->mapLLVMRegsToDwarfRegs(Map: SystemZEHFlavour0L2Dwarf, Size: SystemZEHFlavour0L2DwarfSize, isEH: true);
2058 break;
2059 }
2060}
2061
2062
2063} // namespace llvm
2064