aboutsummaryrefslogtreecommitdiffstats
path: root/capstone/arch/PowerPC/PPCGenRegisterName.inc
blob: 19c2769a9043541ab3a70f00009fa6124f9c5fdc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
/* Capstone Disassembly Engine, http://www.capstone-engine.org */
/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2019 */

/// getRegisterName - This method is automatically generated by tblgen
/// from the register set description.  This returns the assembler name
/// for the specified register.
static const char *getRegisterName(unsigned RegNo)
{

#ifndef CAPSTONE_DIET
  static const char AsmStrs[] = {
  /* 0 */ '*', '*', 'R', 'O', 'U', 'N', 'D', 'I', 'N', 'G', 32, 'M', 'O', 'D', 'E', '*', '*', 0,
  /* 18 */ '*', '*', 'F', 'R', 'A', 'M', 'E', 32, 'P', 'O', 'I', 'N', 'T', 'E', 'R', '*', '*', 0,
  /* 36 */ '*', '*', 'B', 'A', 'S', 'E', 32, 'P', 'O', 'I', 'N', 'T', 'E', 'R', '*', '*', 0,
  /* 53 */ 'f', '1', '0', 0,
  /* 57 */ 'q', '1', '0', 0,
  /* 61 */ 'r', '1', '0', 0,
  /* 65 */ 'v', 's', '1', '0', 0,
  /* 70 */ 'v', '1', '0', 0,
  /* 74 */ 'f', '2', '0', 0,
  /* 78 */ 'q', '2', '0', 0,
  /* 82 */ 'r', '2', '0', 0,
  /* 86 */ 'v', 's', '2', '0', 0,
  /* 91 */ 'v', '2', '0', 0,
  /* 95 */ 'f', '3', '0', 0,
  /* 99 */ 'q', '3', '0', 0,
  /* 103 */ 'r', '3', '0', 0,
  /* 107 */ 'v', 's', '3', '0', 0,
  /* 112 */ 'v', '3', '0', 0,
  /* 116 */ 'v', 's', '4', '0', 0,
  /* 121 */ 'v', 's', '5', '0', 0,
  /* 126 */ 'v', 's', '6', '0', 0,
  /* 131 */ 'f', '0', 0,
  /* 134 */ 'q', '0', 0,
  /* 137 */ 'c', 'r', '0', 0,
  /* 141 */ 'v', 's', '0', 0,
  /* 145 */ 'v', '0', 0,
  /* 148 */ 'f', '1', '1', 0,
  /* 152 */ 'q', '1', '1', 0,
  /* 156 */ 'r', '1', '1', 0,
  /* 160 */ 'v', 's', '1', '1', 0,
  /* 165 */ 'v', '1', '1', 0,
  /* 169 */ 'f', '2', '1', 0,
  /* 173 */ 'q', '2', '1', 0,
  /* 177 */ 'r', '2', '1', 0,
  /* 181 */ 'v', 's', '2', '1', 0,
  /* 186 */ 'v', '2', '1', 0,
  /* 190 */ 'f', '3', '1', 0,
  /* 194 */ 'q', '3', '1', 0,
  /* 198 */ 'r', '3', '1', 0,
  /* 202 */ 'v', 's', '3', '1', 0,
  /* 207 */ 'v', '3', '1', 0,
  /* 211 */ 'v', 's', '4', '1', 0,
  /* 216 */ 'v', 's', '5', '1', 0,
  /* 221 */ 'v', 's', '6', '1', 0,
  /* 226 */ 'f', '1', 0,
  /* 229 */ 'q', '1', 0,
  /* 232 */ 'c', 'r', '1', 0,
  /* 236 */ 'v', 's', '1', 0,
  /* 240 */ 'v', '1', 0,
  /* 243 */ 'f', '1', '2', 0,
  /* 247 */ 'q', '1', '2', 0,
  /* 251 */ 'r', '1', '2', 0,
  /* 255 */ 'v', 's', '1', '2', 0,
  /* 260 */ 'v', '1', '2', 0,
  /* 264 */ 'f', '2', '2', 0,
  /* 268 */ 'q', '2', '2', 0,
  /* 272 */ 'r', '2', '2', 0,
  /* 276 */ 'v', 's', '2', '2', 0,
  /* 281 */ 'v', '2', '2', 0,
  /* 285 */ 'v', 's', '3', '2', 0,
  /* 290 */ 'v', 's', '4', '2', 0,
  /* 295 */ 'v', 's', '5', '2', 0,
  /* 300 */ 'v', 's', '6', '2', 0,
  /* 305 */ 'f', '2', 0,
  /* 308 */ 'q', '2', 0,
  /* 311 */ 'c', 'r', '2', 0,
  /* 315 */ 'v', 's', '2', 0,
  /* 319 */ 'v', '2', 0,
  /* 322 */ 'f', '1', '3', 0,
  /* 326 */ 'q', '1', '3', 0,
  /* 330 */ 'r', '1', '3', 0,
  /* 334 */ 'v', 's', '1', '3', 0,
  /* 339 */ 'v', '1', '3', 0,
  /* 343 */ 'f', '2', '3', 0,
  /* 347 */ 'q', '2', '3', 0,
  /* 351 */ 'r', '2', '3', 0,
  /* 355 */ 'v', 's', '2', '3', 0,
  /* 360 */ 'v', '2', '3', 0,
  /* 364 */ 'v', 's', '3', '3', 0,
  /* 369 */ 'v', 's', '4', '3', 0,
  /* 374 */ 'v', 's', '5', '3', 0,
  /* 379 */ 'v', 's', '6', '3', 0,
  /* 384 */ 'f', '3', 0,
  /* 387 */ 'q', '3', 0,
  /* 390 */ 'c', 'r', '3', 0,
  /* 394 */ 'v', 's', '3', 0,
  /* 398 */ 'v', '3', 0,
  /* 401 */ 'f', '1', '4', 0,
  /* 405 */ 'q', '1', '4', 0,
  /* 409 */ 'r', '1', '4', 0,
  /* 413 */ 'v', 's', '1', '4', 0,
  /* 418 */ 'v', '1', '4', 0,
  /* 422 */ 'f', '2', '4', 0,
  /* 426 */ 'q', '2', '4', 0,
  /* 430 */ 'r', '2', '4', 0,
  /* 434 */ 'v', 's', '2', '4', 0,
  /* 439 */ 'v', '2', '4', 0,
  /* 443 */ 'v', 's', '3', '4', 0,
  /* 448 */ 'v', 's', '4', '4', 0,
  /* 453 */ 'v', 's', '5', '4', 0,
  /* 458 */ 'f', '4', 0,
  /* 461 */ 'q', '4', 0,
  /* 464 */ 'c', 'r', '4', 0,
  /* 468 */ 'v', 's', '4', 0,
  /* 472 */ 'v', '4', 0,
  /* 475 */ 'f', '1', '5', 0,
  /* 479 */ 'q', '1', '5', 0,
  /* 483 */ 'r', '1', '5', 0,
  /* 487 */ 'v', 's', '1', '5', 0,
  /* 492 */ 'v', '1', '5', 0,
  /* 496 */ 'f', '2', '5', 0,
  /* 500 */ 'q', '2', '5', 0,
  /* 504 */ 'r', '2', '5', 0,
  /* 508 */ 'v', 's', '2', '5', 0,
  /* 513 */ 'v', '2', '5', 0,
  /* 517 */ 'v', 's', '3', '5', 0,
  /* 522 */ 'v', 's', '4', '5', 0,
  /* 527 */ 'v', 's', '5', '5', 0,
  /* 532 */ 'f', '5', 0,
  /* 535 */ 'q', '5', 0,
  /* 538 */ 'c', 'r', '5', 0,
  /* 542 */ 'v', 's', '5', 0,
  /* 546 */ 'v', '5', 0,
  /* 549 */ 'f', '1', '6', 0,
  /* 553 */ 'q', '1', '6', 0,
  /* 557 */ 'r', '1', '6', 0,
  /* 561 */ 'v', 's', '1', '6', 0,
  /* 566 */ 'v', '1', '6', 0,
  /* 570 */ 'f', '2', '6', 0,
  /* 574 */ 'q', '2', '6', 0,
  /* 578 */ 'r', '2', '6', 0,
  /* 582 */ 'v', 's', '2', '6', 0,
  /* 587 */ 'v', '2', '6', 0,
  /* 591 */ 'v', 's', '3', '6', 0,
  /* 596 */ 'v', 's', '4', '6', 0,
  /* 601 */ 'v', 's', '5', '6', 0,
  /* 606 */ 'f', '6', 0,
  /* 609 */ 'q', '6', 0,
  /* 612 */ 'c', 'r', '6', 0,
  /* 616 */ 'v', 's', '6', 0,
  /* 620 */ 'v', '6', 0,
  /* 623 */ 'f', '1', '7', 0,
  /* 627 */ 'q', '1', '7', 0,
  /* 631 */ 'r', '1', '7', 0,
  /* 635 */ 'v', 's', '1', '7', 0,
  /* 640 */ 'v', '1', '7', 0,
  /* 644 */ 'f', '2', '7', 0,
  /* 648 */ 'q', '2', '7', 0,
  /* 652 */ 'r', '2', '7', 0,
  /* 656 */ 'v', 's', '2', '7', 0,
  /* 661 */ 'v', '2', '7', 0,
  /* 665 */ 'v', 's', '3', '7', 0,
  /* 670 */ 'v', 's', '4', '7', 0,
  /* 675 */ 'v', 's', '5', '7', 0,
  /* 680 */ 'f', '7', 0,
  /* 683 */ 'q', '7', 0,
  /* 686 */ 'c', 'r', '7', 0,
  /* 690 */ 'v', 's', '7', 0,
  /* 694 */ 'v', '7', 0,
  /* 697 */ 'f', '1', '8', 0,
  /* 701 */ 'q', '1', '8', 0,
  /* 705 */ 'r', '1', '8', 0,
  /* 709 */ 'v', 's', '1', '8', 0,
  /* 714 */ 'v', '1', '8', 0,
  /* 718 */ 'f', '2', '8', 0,
  /* 722 */ 'q', '2', '8', 0,
  /* 726 */ 'r', '2', '8', 0,
  /* 730 */ 'v', 's', '2', '8', 0,
  /* 735 */ 'v', '2', '8', 0,
  /* 739 */ 'v', 's', '3', '8', 0,
  /* 744 */ 'v', 's', '4', '8', 0,
  /* 749 */ 'v', 's', '5', '8', 0,
  /* 754 */ 'f', '8', 0,
  /* 757 */ 'q', '8', 0,
  /* 760 */ 'r', '8', 0,
  /* 763 */ 'v', 's', '8', 0,
  /* 767 */ 'v', '8', 0,
  /* 770 */ 'f', '1', '9', 0,
  /* 774 */ 'q', '1', '9', 0,
  /* 778 */ 'r', '1', '9', 0,
  /* 782 */ 'v', 's', '1', '9', 0,
  /* 787 */ 'v', '1', '9', 0,
  /* 791 */ 'f', '2', '9', 0,
  /* 795 */ 'q', '2', '9', 0,
  /* 799 */ 'r', '2', '9', 0,
  /* 803 */ 'v', 's', '2', '9', 0,
  /* 808 */ 'v', '2', '9', 0,
  /* 812 */ 'v', 's', '3', '9', 0,
  /* 817 */ 'v', 's', '4', '9', 0,
  /* 822 */ 'v', 's', '5', '9', 0,
  /* 827 */ 'f', '9', 0,
  /* 830 */ 'q', '9', 0,
  /* 833 */ 'r', '9', 0,
  /* 836 */ 'v', 's', '9', 0,
  /* 840 */ 'v', '9', 0,
  /* 843 */ 'v', 'r', 's', 'a', 'v', 'e', 0,
  /* 850 */ 'c', 'r', '0', 'u', 'n', 0,
  /* 856 */ 'c', 'r', '1', 'u', 'n', 0,
  /* 862 */ 'c', 'r', '2', 'u', 'n', 0,
  /* 868 */ 'c', 'r', '3', 'u', 'n', 0,
  /* 874 */ 'c', 'r', '4', 'u', 'n', 0,
  /* 880 */ 'c', 'r', '5', 'u', 'n', 0,
  /* 886 */ 'c', 'r', '6', 'u', 'n', 0,
  /* 892 */ 'c', 'r', '7', 'u', 'n', 0,
  /* 898 */ 'c', 'r', '0', 'e', 'q', 0,
  /* 904 */ 'c', 'r', '1', 'e', 'q', 0,
  /* 910 */ 'c', 'r', '2', 'e', 'q', 0,
  /* 916 */ 'c', 'r', '3', 'e', 'q', 0,
  /* 922 */ 'c', 'r', '4', 'e', 'q', 0,
  /* 928 */ 'c', 'r', '5', 'e', 'q', 0,
  /* 934 */ 'c', 'r', '6', 'e', 'q', 0,
  /* 940 */ 'c', 'r', '7', 'e', 'q', 0,
  /* 946 */ 's', 'p', 'e', 'f', 's', 'c', 'r', 0,
  /* 954 */ 'x', 'e', 'r', 0,
  /* 958 */ 'l', 'r', 0,
  /* 961 */ 'c', 't', 'r', 0,
  /* 965 */ 'c', 'r', '0', 'g', 't', 0,
  /* 971 */ 'c', 'r', '1', 'g', 't', 0,
  /* 977 */ 'c', 'r', '2', 'g', 't', 0,
  /* 983 */ 'c', 'r', '3', 'g', 't', 0,
  /* 989 */ 'c', 'r', '4', 'g', 't', 0,
  /* 995 */ 'c', 'r', '5', 'g', 't', 0,
  /* 1001 */ 'c', 'r', '6', 'g', 't', 0,
  /* 1007 */ 'c', 'r', '7', 'g', 't', 0,
  /* 1013 */ 'c', 'r', '0', 'l', 't', 0,
  /* 1019 */ 'c', 'r', '1', 'l', 't', 0,
  /* 1025 */ 'c', 'r', '2', 'l', 't', 0,
  /* 1031 */ 'c', 'r', '3', 'l', 't', 0,
  /* 1037 */ 'c', 'r', '4', 'l', 't', 0,
  /* 1043 */ 'c', 'r', '5', 'l', 't', 0,
  /* 1049 */ 'c', 'r', '6', 'l', 't', 0,
  /* 1055 */ 'c', 'r', '7', 'l', 't', 0,
  };

  static const uint16_t RegAsmOffset[] = {
    36, 954, 961, 18, 958, 0, 946, 843, 954, 55, 36, 137, 232, 311,
    390, 464, 538, 612, 686, 961, 131, 226, 305, 384, 458, 532, 606, 680,
    754, 827, 53, 148, 243, 322, 401, 475, 549, 623, 697, 770, 74, 169,
    264, 343, 422, 496, 570, 644, 718, 791, 95, 190, 18, 958, 134, 229,
    308, 387, 461, 535, 609, 683, 757, 830, 57, 152, 247, 326, 405, 479,
    553, 627, 701, 774, 78, 173, 268, 347, 426, 500, 574, 648, 722, 795,
    99, 194, 138, 233, 312, 391, 465, 539, 613, 687, 760, 833, 61, 156,
    251, 330, 409, 483, 557, 631, 705, 778, 82, 177, 272, 351, 430, 504,
    578, 652, 726, 799, 103, 198, 138, 233, 312, 391, 465, 539, 613, 687,
    760, 833, 61, 156, 251, 330, 409, 483, 557, 631, 705, 778, 82, 177,
    272, 351, 430, 504, 578, 652, 726, 799, 103, 198, 145, 240, 319, 398,
    472, 546, 620, 694, 767, 840, 70, 165, 260, 339, 418, 492, 566, 640,
    714, 787, 91, 186, 281, 360, 439, 513, 587, 661, 735, 808, 112, 207,
    145, 240, 319, 398, 472, 546, 620, 694, 767, 840, 70, 165, 260, 339,
    418, 492, 566, 640, 714, 787, 91, 186, 281, 360, 439, 513, 587, 661,
    735, 808, 112, 207, 141, 236, 315, 394, 468, 542, 616, 690, 763, 836,
    65, 160, 255, 334, 413, 487, 561, 635, 709, 782, 86, 181, 276, 355,
    434, 508, 582, 656, 730, 803, 107, 202, 285, 364, 443, 517, 591, 665,
    739, 812, 116, 211, 290, 369, 448, 522, 596, 670, 744, 817, 121, 216,
    295, 374, 453, 527, 601, 675, 749, 822, 126, 221, 300, 379, 138, 233,
    312, 391, 465, 539, 613, 687, 760, 833, 61, 156, 251, 330, 409, 483,
    557, 631, 705, 778, 82, 177, 272, 351, 430, 504, 578, 652, 726, 799,
    103, 198, 55, 898, 904, 910, 916, 922, 928, 934, 940, 965, 971, 977,
    983, 989, 995, 1001, 1007, 1013, 1019, 1025, 1031, 1037, 1043, 1049, 1055, 850,
    856, 862, 868, 874, 880, 886, 892,
  };

  return AsmStrs+RegAsmOffset[RegNo-1];
#else
  return NULL;
#endif
}