/src/capstonenext/arch/Alpha/AlphaGenAsmWriter.inc
Line | Count | Source (jump to first uncovered line) |
1 | | /* Capstone Disassembly Engine, https://www.capstone-engine.org */ |
2 | | /* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2022, */ |
3 | | /* Rot127 <unisono@quyllur.org> 2022-2023 */ |
4 | | /* Automatically generated file by Capstone's LLVM TableGen Disassembler Backend. */ |
5 | | |
6 | | /* LLVM-commit: 083d57d0731afc1746680d828bdfe2fa41f62a61 */ |
7 | | /* LLVM-tag: llvmorg-3.0.0-2-g083d57d0731a */ |
8 | | |
9 | | /* Do not edit. */ |
10 | | |
11 | | /* Capstone's LLVM TableGen Backends: */ |
12 | | /* https://github.com/capstone-engine/llvm-capstone */ |
13 | | |
14 | | #include <capstone/platform.h> |
15 | | #include <assert.h> |
16 | | |
17 | | /// getMnemonic - This method is automatically generated by tablegen |
18 | | /// from the instruction set description. |
19 | 0 | static MnemonicBitsInfo getMnemonic(MCInst *MI, SStream *O) { |
20 | 0 | #ifndef CAPSTONE_DIET |
21 | 0 | static const char AsmStrs[] = { |
22 | 0 | /* 0 */ "; ADJDOWN \0" |
23 | 0 | /* 11 */ "; ADJUP \0" |
24 | 0 | /* 20 */ "lda \0" |
25 | 0 | /* 25 */ "sra \0" |
26 | 0 | /* 30 */ "stb \0" |
27 | 0 | /* 35 */ "sextb \0" |
28 | 0 | /* 42 */ "stl_c \0" |
29 | 0 | /* 49 */ "stq_c \0" |
30 | 0 | /* 56 */ "blbc \0" |
31 | 0 | /* 62 */ "cmovlbc \0" |
32 | 0 | /* 71 */ "rpcc \0" |
33 | 0 | /* 77 */ "bic \0" |
34 | 0 | /* 82 */ "rc \0" |
35 | 0 | /* 86 */ "cvttq/svc \0" |
36 | 0 | /* 97 */ "and \0" |
37 | 0 | /* 102 */ "fbge \0" |
38 | 0 | /* 108 */ "cmpbge \0" |
39 | 0 | /* 116 */ "fcmovge \0" |
40 | 0 | /* 125 */ "fble \0" |
41 | 0 | /* 131 */ "cmple \0" |
42 | 0 | /* 138 */ "cmpule \0" |
43 | 0 | /* 146 */ "fcmovle \0" |
44 | 0 | /* 155 */ "fbne \0" |
45 | 0 | /* 161 */ "jsr_coroutine \0" |
46 | 0 | /* 176 */ "fcmovne \0" |
47 | 0 | /* 185 */ "cpyse \0" |
48 | 0 | /* 192 */ "ldah \0" |
49 | 0 | /* 198 */ "msklh \0" |
50 | 0 | /* 205 */ "inslh \0" |
51 | 0 | /* 212 */ "extlh \0" |
52 | 0 | /* 219 */ "umulh \0" |
53 | 0 | /* 226 */ "mskqh \0" |
54 | 0 | /* 233 */ "insqh \0" |
55 | 0 | /* 240 */ "extqh \0" |
56 | 0 | /* 247 */ "mskwh \0" |
57 | 0 | /* 254 */ "inswh \0" |
58 | 0 | /* 261 */ "extwh \0" |
59 | 0 | /* 268 */ "cvtqs/sui \0" |
60 | 0 | /* 279 */ "cvtts/sui \0" |
61 | 0 | /* 290 */ "cvtqt/sui \0" |
62 | 0 | /* 301 */ "ldl_l \0" |
63 | 0 | /* 308 */ "ldq_l \0" |
64 | 0 | /* 315 */ "mskbl \0" |
65 | 0 | /* 322 */ "insbl \0" |
66 | 0 | /* 329 */ "extbl \0" |
67 | 0 | /* 336 */ "s4subl \0" |
68 | 0 | /* 344 */ "s8subl \0" |
69 | 0 | /* 352 */ "s4addl \0" |
70 | 0 | /* 360 */ "s8addl \0" |
71 | 0 | /* 368 */ "ldl \0" |
72 | 0 | /* 373 */ "mskll \0" |
73 | 0 | /* 380 */ "insll \0" |
74 | 0 | /* 387 */ "extll \0" |
75 | 0 | /* 394 */ "mull \0" |
76 | 0 | /* 400 */ "mskql \0" |
77 | 0 | /* 407 */ "insql \0" |
78 | 0 | /* 414 */ "extql \0" |
79 | 0 | /* 421 */ "srl \0" |
80 | 0 | /* 426 */ "stl \0" |
81 | 0 | /* 431 */ "mskwl \0" |
82 | 0 | /* 438 */ "inswl \0" |
83 | 0 | /* 445 */ "extwl \0" |
84 | 0 | /* 452 */ "cpysn \0" |
85 | 0 | /* 459 */ "ctpop \0" |
86 | 0 | /* 466 */ "s4subq \0" |
87 | 0 | /* 474 */ "s8subq \0" |
88 | 0 | /* 482 */ "s4addq \0" |
89 | 0 | /* 490 */ "s8addq \0" |
90 | 0 | /* 498 */ "ldq \0" |
91 | 0 | /* 503 */ "fbeq \0" |
92 | 0 | /* 509 */ "cmpeq \0" |
93 | 0 | /* 516 */ "fcmoveq \0" |
94 | 0 | /* 525 */ "mulq \0" |
95 | 0 | /* 531 */ "stq \0" |
96 | 0 | /* 536 */ "xor \0" |
97 | 0 | /* 541 */ "cvtst/s \0" |
98 | 0 | /* 550 */ "blbs \0" |
99 | 0 | /* 556 */ "cmovlbs \0" |
100 | 0 | /* 565 */ "lds \0" |
101 | 0 | /* 570 */ "itofs \0" |
102 | 0 | /* 577 */ "bis \0" |
103 | 0 | /* 582 */ "ftois \0" |
104 | 0 | /* 589 */ "rs \0" |
105 | 0 | /* 593 */ "sts \0" |
106 | 0 | /* 598 */ "cpys \0" |
107 | 0 | /* 604 */ "ldt \0" |
108 | 0 | /* 609 */ "itoft \0" |
109 | 0 | /* 616 */ "fbgt \0" |
110 | 0 | /* 622 */ "fcmovgt \0" |
111 | 0 | /* 631 */ "ftoit \0" |
112 | 0 | /* 638 */ "fblt \0" |
113 | 0 | /* 644 */ "cmplt \0" |
114 | 0 | /* 651 */ "cmpult \0" |
115 | 0 | /* 659 */ "fcmovlt \0" |
116 | 0 | /* 668 */ "zapnot \0" |
117 | 0 | /* 676 */ "ornot \0" |
118 | 0 | /* 683 */ "stt \0" |
119 | 0 | /* 688 */ "ldq_u \0" |
120 | 0 | /* 695 */ "stq_u \0" |
121 | 0 | /* 702 */ "ldbu \0" |
122 | 0 | /* 708 */ "cmptle/su \0" |
123 | 0 | /* 719 */ "cmptun/su \0" |
124 | 0 | /* 730 */ "cmpteq/su \0" |
125 | 0 | /* 741 */ "subs/su \0" |
126 | 0 | /* 750 */ "adds/su \0" |
127 | 0 | /* 759 */ "muls/su \0" |
128 | 0 | /* 768 */ "sqrts/su \0" |
129 | 0 | /* 778 */ "divs/su \0" |
130 | 0 | /* 787 */ "subt/su \0" |
131 | 0 | /* 796 */ "addt/su \0" |
132 | 0 | /* 805 */ "cmptlt/su \0" |
133 | 0 | /* 816 */ "mult/su \0" |
134 | 0 | /* 825 */ "sqrtt/su \0" |
135 | 0 | /* 835 */ "divt/su \0" |
136 | 0 | /* 844 */ "ldwu \0" |
137 | 0 | /* 850 */ "eqv \0" |
138 | 0 | /* 855 */ "stw \0" |
139 | 0 | /* 860 */ "sextw \0" |
140 | 0 | /* 867 */ "ctlz \0" |
141 | 0 | /* 873 */ "cttz \0" |
142 | 0 | /* 879 */ "bsr $26,$\0" |
143 | 0 | /* 889 */ "LSMARKER$\0" |
144 | 0 | /* 899 */ "wh64 (\0" |
145 | 0 | /* 906 */ "ecb (\0" |
146 | 0 | /* 912 */ "fetch (\0" |
147 | 0 | /* 920 */ "fetch_m (\0" |
148 | 0 | /* 930 */ "wh64en (\0" |
149 | 0 | /* 939 */ "jmp $31,\0" |
150 | 0 | /* 948 */ "br $31,\0" |
151 | 0 | /* 956 */ "# XRay Function Patchable RET.\0" |
152 | 0 | /* 987 */ "# XRay Typed Event Log.\0" |
153 | 0 | /* 1011 */ "# XRay Custom Event Log.\0" |
154 | 0 | /* 1036 */ "# XRay Function Enter.\0" |
155 | 0 | /* 1059 */ "# XRay Tail Call Exit.\0" |
156 | 0 | /* 1082 */ "# XRay Function Exit.\0" |
157 | 0 | /* 1104 */ "jsr $23,($27),0\0" |
158 | 0 | /* 1120 */ "jsr $26,($27),0\0" |
159 | 0 | /* 1136 */ "ret $31,($26),1\0" |
160 | 0 | /* 1152 */ "COND_BRANCH imm:\0" |
161 | 0 | /* 1169 */ "LIFETIME_END\0" |
162 | 0 | /* 1182 */ "PSEUDO_PROBE\0" |
163 | 0 | /* 1195 */ "BUNDLE\0" |
164 | 0 | /* 1202 */ "DBG_VALUE\0" |
165 | 0 | /* 1212 */ "DBG_INSTR_REF\0" |
166 | 0 | /* 1226 */ "DBG_PHI\0" |
167 | 0 | /* 1234 */ "DBG_LABEL\0" |
168 | 0 | /* 1244 */ "LIFETIME_START\0" |
169 | 0 | /* 1259 */ "DBG_VALUE_LIST\0" |
170 | 0 | /* 1274 */ "PCMARKER_\0" |
171 | 0 | /* 1284 */ "excb\0" |
172 | 0 | /* 1289 */ "wmb\0" |
173 | 0 | /* 1293 */ "trapb\0" |
174 | 0 | /* 1299 */ "#wtf\0" |
175 | 0 | /* 1304 */ "# FEntry call\0" |
176 | 0 | }; |
177 | 0 | #endif // CAPSTONE_DIET |
178 | |
|
179 | 0 | static const uint16_t OpInfo0[] = { |
180 | 0 | 0U, // PHI |
181 | 0 | 0U, // INLINEASM |
182 | 0 | 0U, // INLINEASM_BR |
183 | 0 | 0U, // CFI_INSTRUCTION |
184 | 0 | 0U, // EH_LABEL |
185 | 0 | 0U, // GC_LABEL |
186 | 0 | 0U, // ANNOTATION_LABEL |
187 | 0 | 0U, // KILL |
188 | 0 | 0U, // EXTRACT_SUBREG |
189 | 0 | 0U, // INSERT_SUBREG |
190 | 0 | 0U, // IMPLICIT_DEF |
191 | 0 | 0U, // SUBREG_TO_REG |
192 | 0 | 0U, // COPY_TO_REGCLASS |
193 | 0 | 1203U, // DBG_VALUE |
194 | 0 | 1260U, // DBG_VALUE_LIST |
195 | 0 | 1213U, // DBG_INSTR_REF |
196 | 0 | 1227U, // DBG_PHI |
197 | 0 | 1235U, // DBG_LABEL |
198 | 0 | 0U, // REG_SEQUENCE |
199 | 0 | 0U, // COPY |
200 | 0 | 1196U, // BUNDLE |
201 | 0 | 1245U, // LIFETIME_START |
202 | 0 | 1170U, // LIFETIME_END |
203 | 0 | 1183U, // PSEUDO_PROBE |
204 | 0 | 0U, // ARITH_FENCE |
205 | 0 | 0U, // STACKMAP |
206 | 0 | 1305U, // FENTRY_CALL |
207 | 0 | 0U, // PATCHPOINT |
208 | 0 | 0U, // LOAD_STACK_GUARD |
209 | 0 | 0U, // PREALLOCATED_SETUP |
210 | 0 | 0U, // PREALLOCATED_ARG |
211 | 0 | 0U, // STATEPOINT |
212 | 0 | 0U, // LOCAL_ESCAPE |
213 | 0 | 0U, // FAULTING_OP |
214 | 0 | 0U, // PATCHABLE_OP |
215 | 0 | 1037U, // PATCHABLE_FUNCTION_ENTER |
216 | 0 | 957U, // PATCHABLE_RET |
217 | 0 | 1083U, // PATCHABLE_FUNCTION_EXIT |
218 | 0 | 1060U, // PATCHABLE_TAIL_CALL |
219 | 0 | 1012U, // PATCHABLE_EVENT_CALL |
220 | 0 | 988U, // PATCHABLE_TYPED_EVENT_CALL |
221 | 0 | 0U, // ICALL_BRANCH_FUNNEL |
222 | 0 | 0U, // MEMBARRIER |
223 | 0 | 0U, // G_ASSERT_SEXT |
224 | 0 | 0U, // G_ASSERT_ZEXT |
225 | 0 | 0U, // G_ASSERT_ALIGN |
226 | 0 | 0U, // G_ADD |
227 | 0 | 0U, // G_SUB |
228 | 0 | 0U, // G_MUL |
229 | 0 | 0U, // G_SDIV |
230 | 0 | 0U, // G_UDIV |
231 | 0 | 0U, // G_SREM |
232 | 0 | 0U, // G_UREM |
233 | 0 | 0U, // G_SDIVREM |
234 | 0 | 0U, // G_UDIVREM |
235 | 0 | 0U, // G_AND |
236 | 0 | 0U, // G_OR |
237 | 0 | 0U, // G_XOR |
238 | 0 | 0U, // G_IMPLICIT_DEF |
239 | 0 | 0U, // G_PHI |
240 | 0 | 0U, // G_FRAME_INDEX |
241 | 0 | 0U, // G_GLOBAL_VALUE |
242 | 0 | 0U, // G_EXTRACT |
243 | 0 | 0U, // G_UNMERGE_VALUES |
244 | 0 | 0U, // G_INSERT |
245 | 0 | 0U, // G_MERGE_VALUES |
246 | 0 | 0U, // G_BUILD_VECTOR |
247 | 0 | 0U, // G_BUILD_VECTOR_TRUNC |
248 | 0 | 0U, // G_CONCAT_VECTORS |
249 | 0 | 0U, // G_PTRTOINT |
250 | 0 | 0U, // G_INTTOPTR |
251 | 0 | 0U, // G_BITCAST |
252 | 0 | 0U, // G_FREEZE |
253 | 0 | 0U, // G_INTRINSIC_FPTRUNC_ROUND |
254 | 0 | 0U, // G_INTRINSIC_TRUNC |
255 | 0 | 0U, // G_INTRINSIC_ROUND |
256 | 0 | 0U, // G_INTRINSIC_LRINT |
257 | 0 | 0U, // G_INTRINSIC_ROUNDEVEN |
258 | 0 | 0U, // G_READCYCLECOUNTER |
259 | 0 | 0U, // G_LOAD |
260 | 0 | 0U, // G_SEXTLOAD |
261 | 0 | 0U, // G_ZEXTLOAD |
262 | 0 | 0U, // G_INDEXED_LOAD |
263 | 0 | 0U, // G_INDEXED_SEXTLOAD |
264 | 0 | 0U, // G_INDEXED_ZEXTLOAD |
265 | 0 | 0U, // G_STORE |
266 | 0 | 0U, // G_INDEXED_STORE |
267 | 0 | 0U, // G_ATOMIC_CMPXCHG_WITH_SUCCESS |
268 | 0 | 0U, // G_ATOMIC_CMPXCHG |
269 | 0 | 0U, // G_ATOMICRMW_XCHG |
270 | 0 | 0U, // G_ATOMICRMW_ADD |
271 | 0 | 0U, // G_ATOMICRMW_SUB |
272 | 0 | 0U, // G_ATOMICRMW_AND |
273 | 0 | 0U, // G_ATOMICRMW_NAND |
274 | 0 | 0U, // G_ATOMICRMW_OR |
275 | 0 | 0U, // G_ATOMICRMW_XOR |
276 | 0 | 0U, // G_ATOMICRMW_MAX |
277 | 0 | 0U, // G_ATOMICRMW_MIN |
278 | 0 | 0U, // G_ATOMICRMW_UMAX |
279 | 0 | 0U, // G_ATOMICRMW_UMIN |
280 | 0 | 0U, // G_ATOMICRMW_FADD |
281 | 0 | 0U, // G_ATOMICRMW_FSUB |
282 | 0 | 0U, // G_ATOMICRMW_FMAX |
283 | 0 | 0U, // G_ATOMICRMW_FMIN |
284 | 0 | 0U, // G_ATOMICRMW_UINC_WRAP |
285 | 0 | 0U, // G_ATOMICRMW_UDEC_WRAP |
286 | 0 | 0U, // G_FENCE |
287 | 0 | 0U, // G_BRCOND |
288 | 0 | 0U, // G_BRINDIRECT |
289 | 0 | 0U, // G_INVOKE_REGION_START |
290 | 0 | 0U, // G_INTRINSIC |
291 | 0 | 0U, // G_INTRINSIC_W_SIDE_EFFECTS |
292 | 0 | 0U, // G_ANYEXT |
293 | 0 | 0U, // G_TRUNC |
294 | 0 | 0U, // G_CONSTANT |
295 | 0 | 0U, // G_FCONSTANT |
296 | 0 | 0U, // G_VASTART |
297 | 0 | 0U, // G_VAARG |
298 | 0 | 0U, // G_SEXT |
299 | 0 | 0U, // G_SEXT_INREG |
300 | 0 | 0U, // G_ZEXT |
301 | 0 | 0U, // G_SHL |
302 | 0 | 0U, // G_LSHR |
303 | 0 | 0U, // G_ASHR |
304 | 0 | 0U, // G_FSHL |
305 | 0 | 0U, // G_FSHR |
306 | 0 | 0U, // G_ROTR |
307 | 0 | 0U, // G_ROTL |
308 | 0 | 0U, // G_ICMP |
309 | 0 | 0U, // G_FCMP |
310 | 0 | 0U, // G_SELECT |
311 | 0 | 0U, // G_UADDO |
312 | 0 | 0U, // G_UADDE |
313 | 0 | 0U, // G_USUBO |
314 | 0 | 0U, // G_USUBE |
315 | 0 | 0U, // G_SADDO |
316 | 0 | 0U, // G_SADDE |
317 | 0 | 0U, // G_SSUBO |
318 | 0 | 0U, // G_SSUBE |
319 | 0 | 0U, // G_UMULO |
320 | 0 | 0U, // G_SMULO |
321 | 0 | 0U, // G_UMULH |
322 | 0 | 0U, // G_SMULH |
323 | 0 | 0U, // G_UADDSAT |
324 | 0 | 0U, // G_SADDSAT |
325 | 0 | 0U, // G_USUBSAT |
326 | 0 | 0U, // G_SSUBSAT |
327 | 0 | 0U, // G_USHLSAT |
328 | 0 | 0U, // G_SSHLSAT |
329 | 0 | 0U, // G_SMULFIX |
330 | 0 | 0U, // G_UMULFIX |
331 | 0 | 0U, // G_SMULFIXSAT |
332 | 0 | 0U, // G_UMULFIXSAT |
333 | 0 | 0U, // G_SDIVFIX |
334 | 0 | 0U, // G_UDIVFIX |
335 | 0 | 0U, // G_SDIVFIXSAT |
336 | 0 | 0U, // G_UDIVFIXSAT |
337 | 0 | 0U, // G_FADD |
338 | 0 | 0U, // G_FSUB |
339 | 0 | 0U, // G_FMUL |
340 | 0 | 0U, // G_FMA |
341 | 0 | 0U, // G_FMAD |
342 | 0 | 0U, // G_FDIV |
343 | 0 | 0U, // G_FREM |
344 | 0 | 0U, // G_FPOW |
345 | 0 | 0U, // G_FPOWI |
346 | 0 | 0U, // G_FEXP |
347 | 0 | 0U, // G_FEXP2 |
348 | 0 | 0U, // G_FLOG |
349 | 0 | 0U, // G_FLOG2 |
350 | 0 | 0U, // G_FLOG10 |
351 | 0 | 0U, // G_FNEG |
352 | 0 | 0U, // G_FPEXT |
353 | 0 | 0U, // G_FPTRUNC |
354 | 0 | 0U, // G_FPTOSI |
355 | 0 | 0U, // G_FPTOUI |
356 | 0 | 0U, // G_SITOFP |
357 | 0 | 0U, // G_UITOFP |
358 | 0 | 0U, // G_FABS |
359 | 0 | 0U, // G_FCOPYSIGN |
360 | 0 | 0U, // G_IS_FPCLASS |
361 | 0 | 0U, // G_FCANONICALIZE |
362 | 0 | 0U, // G_FMINNUM |
363 | 0 | 0U, // G_FMAXNUM |
364 | 0 | 0U, // G_FMINNUM_IEEE |
365 | 0 | 0U, // G_FMAXNUM_IEEE |
366 | 0 | 0U, // G_FMINIMUM |
367 | 0 | 0U, // G_FMAXIMUM |
368 | 0 | 0U, // G_PTR_ADD |
369 | 0 | 0U, // G_PTRMASK |
370 | 0 | 0U, // G_SMIN |
371 | 0 | 0U, // G_SMAX |
372 | 0 | 0U, // G_UMIN |
373 | 0 | 0U, // G_UMAX |
374 | 0 | 0U, // G_ABS |
375 | 0 | 0U, // G_LROUND |
376 | 0 | 0U, // G_LLROUND |
377 | 0 | 0U, // G_BR |
378 | 0 | 0U, // G_BRJT |
379 | 0 | 0U, // G_INSERT_VECTOR_ELT |
380 | 0 | 0U, // G_EXTRACT_VECTOR_ELT |
381 | 0 | 0U, // G_SHUFFLE_VECTOR |
382 | 0 | 0U, // G_CTTZ |
383 | 0 | 0U, // G_CTTZ_ZERO_UNDEF |
384 | 0 | 0U, // G_CTLZ |
385 | 0 | 0U, // G_CTLZ_ZERO_UNDEF |
386 | 0 | 0U, // G_CTPOP |
387 | 0 | 0U, // G_BSWAP |
388 | 0 | 0U, // G_BITREVERSE |
389 | 0 | 0U, // G_FCEIL |
390 | 0 | 0U, // G_FCOS |
391 | 0 | 0U, // G_FSIN |
392 | 0 | 0U, // G_FSQRT |
393 | 0 | 0U, // G_FFLOOR |
394 | 0 | 0U, // G_FRINT |
395 | 0 | 0U, // G_FNEARBYINT |
396 | 0 | 0U, // G_ADDRSPACE_CAST |
397 | 0 | 0U, // G_BLOCK_ADDR |
398 | 0 | 0U, // G_JUMP_TABLE |
399 | 0 | 0U, // G_DYN_STACKALLOC |
400 | 0 | 0U, // G_STRICT_FADD |
401 | 0 | 0U, // G_STRICT_FSUB |
402 | 0 | 0U, // G_STRICT_FMUL |
403 | 0 | 0U, // G_STRICT_FDIV |
404 | 0 | 0U, // G_STRICT_FREM |
405 | 0 | 0U, // G_STRICT_FMA |
406 | 0 | 0U, // G_STRICT_FSQRT |
407 | 0 | 0U, // G_READ_REGISTER |
408 | 0 | 0U, // G_WRITE_REGISTER |
409 | 0 | 0U, // G_MEMCPY |
410 | 0 | 0U, // G_MEMCPY_INLINE |
411 | 0 | 0U, // G_MEMMOVE |
412 | 0 | 0U, // G_MEMSET |
413 | 0 | 0U, // G_BZERO |
414 | 0 | 0U, // G_VECREDUCE_SEQ_FADD |
415 | 0 | 0U, // G_VECREDUCE_SEQ_FMUL |
416 | 0 | 0U, // G_VECREDUCE_FADD |
417 | 0 | 0U, // G_VECREDUCE_FMUL |
418 | 0 | 0U, // G_VECREDUCE_FMAX |
419 | 0 | 0U, // G_VECREDUCE_FMIN |
420 | 0 | 0U, // G_VECREDUCE_ADD |
421 | 0 | 0U, // G_VECREDUCE_MUL |
422 | 0 | 0U, // G_VECREDUCE_AND |
423 | 0 | 0U, // G_VECREDUCE_OR |
424 | 0 | 0U, // G_VECREDUCE_XOR |
425 | 0 | 0U, // G_VECREDUCE_SMAX |
426 | 0 | 0U, // G_VECREDUCE_SMIN |
427 | 0 | 0U, // G_VECREDUCE_UMAX |
428 | 0 | 0U, // G_VECREDUCE_UMIN |
429 | 0 | 0U, // G_SBFX |
430 | 0 | 0U, // G_UBFX |
431 | 0 | 2049U, // ADJUSTSTACKDOWN |
432 | 0 | 2060U, // ADJUSTSTACKUP |
433 | 0 | 19320U, // ALTENT |
434 | 0 | 0U, // CAS32 |
435 | 0 | 0U, // CAS64 |
436 | 0 | 0U, // LAS32 |
437 | 0 | 0U, // LAS64 |
438 | 0 | 35706U, // MEMLABEL |
439 | 0 | 52475U, // PCLABEL |
440 | 0 | 0U, // SWAP32 |
441 | 0 | 0U, // SWAP64 |
442 | 0 | 1300U, // WTF |
443 | 0 | 4451U, // ADDLi |
444 | 0 | 4451U, // ADDLr |
445 | 0 | 4581U, // ADDQi |
446 | 0 | 4581U, // ADDQr |
447 | 0 | 4847U, // ADDS |
448 | 0 | 4893U, // ADDT |
449 | 0 | 4194U, // ANDi |
450 | 0 | 4194U, // ANDr |
451 | 0 | 2553U, // BEQ |
452 | 0 | 2152U, // BGE |
453 | 0 | 2666U, // BGT |
454 | 0 | 4174U, // BICi |
455 | 0 | 4174U, // BICr |
456 | 0 | 4674U, // BISi |
457 | 0 | 4674U, // BISr |
458 | 0 | 2105U, // BLBC |
459 | 0 | 2599U, // BLBS |
460 | 0 | 2175U, // BLE |
461 | 0 | 2688U, // BLT |
462 | 0 | 2205U, // BNE |
463 | 0 | 7093U, // BR |
464 | 0 | 23408U, // BSR |
465 | 0 | 4614U, // CMOVEQi |
466 | 0 | 4614U, // CMOVEQr |
467 | 0 | 4214U, // CMOVGEi |
468 | 0 | 4214U, // CMOVGEr |
469 | 0 | 4720U, // CMOVGTi |
470 | 0 | 4720U, // CMOVGTr |
471 | 0 | 4159U, // CMOVLBCi |
472 | 0 | 4159U, // CMOVLBCr |
473 | 0 | 4653U, // CMOVLBSi |
474 | 0 | 4653U, // CMOVLBSr |
475 | 0 | 4244U, // CMOVLEi |
476 | 0 | 4244U, // CMOVLEr |
477 | 0 | 4757U, // CMOVLTi |
478 | 0 | 4757U, // CMOVLTr |
479 | 0 | 4274U, // CMOVNEi |
480 | 0 | 4274U, // CMOVNEr |
481 | 0 | 4205U, // CMPBGE |
482 | 0 | 4205U, // CMPBGEi |
483 | 0 | 4606U, // CMPEQ |
484 | 0 | 4606U, // CMPEQi |
485 | 0 | 4228U, // CMPLE |
486 | 0 | 4228U, // CMPLEi |
487 | 0 | 4741U, // CMPLT |
488 | 0 | 4741U, // CMPLTi |
489 | 0 | 4827U, // CMPTEQ |
490 | 0 | 4805U, // CMPTLE |
491 | 0 | 4902U, // CMPTLT |
492 | 0 | 4816U, // CMPTUN |
493 | 0 | 4235U, // CMPULE |
494 | 0 | 4235U, // CMPULEi |
495 | 0 | 4748U, // CMPULT |
496 | 0 | 4748U, // CMPULTi |
497 | 0 | 35969U, // COND_BRANCH_F |
498 | 0 | 52353U, // COND_BRANCH_I |
499 | 0 | 4282U, // CPYSES |
500 | 0 | 4282U, // CPYSESt |
501 | 0 | 4282U, // CPYSET |
502 | 0 | 4549U, // CPYSNS |
503 | 0 | 4549U, // CPYSNSt |
504 | 0 | 4549U, // CPYSNT |
505 | 0 | 4549U, // CPYSNTs |
506 | 0 | 4695U, // CPYSS |
507 | 0 | 4695U, // CPYSSt |
508 | 0 | 4695U, // CPYST |
509 | 0 | 4695U, // CPYSTs |
510 | 0 | 4964U, // CTLZ |
511 | 0 | 4556U, // CTPOP |
512 | 0 | 4970U, // CTTZ |
513 | 0 | 4365U, // CVTQS |
514 | 0 | 4387U, // CVTQT |
515 | 0 | 4638U, // CVTST |
516 | 0 | 4183U, // CVTTQ |
517 | 0 | 4376U, // CVTTS |
518 | 0 | 4875U, // DIVS |
519 | 0 | 4932U, // DIVT |
520 | 0 | 5003U, // ECB |
521 | 0 | 4947U, // EQVi |
522 | 0 | 4947U, // EQVr |
523 | 0 | 1285U, // EXCB |
524 | 0 | 4426U, // EXTBL |
525 | 0 | 4426U, // EXTBLi |
526 | 0 | 4309U, // EXTLH |
527 | 0 | 4309U, // EXTLHi |
528 | 0 | 4484U, // EXTLL |
529 | 0 | 4484U, // EXTLLi |
530 | 0 | 4337U, // EXTQH |
531 | 0 | 4337U, // EXTQHi |
532 | 0 | 4511U, // EXTQL |
533 | 0 | 4511U, // EXTQLi |
534 | 0 | 4358U, // EXTWH |
535 | 0 | 4358U, // EXTWHi |
536 | 0 | 4542U, // EXTWL |
537 | 0 | 4542U, // EXTWLi |
538 | 0 | 2552U, // FBEQ |
539 | 0 | 2151U, // FBGE |
540 | 0 | 2665U, // FBGT |
541 | 0 | 2174U, // FBLE |
542 | 0 | 2687U, // FBLT |
543 | 0 | 2204U, // FBNE |
544 | 0 | 8709U, // FCMOVEQS |
545 | 0 | 8709U, // FCMOVEQT |
546 | 0 | 8309U, // FCMOVGES |
547 | 0 | 8309U, // FCMOVGET |
548 | 0 | 8815U, // FCMOVGTS |
549 | 0 | 8815U, // FCMOVGTT |
550 | 0 | 8339U, // FCMOVLES |
551 | 0 | 8339U, // FCMOVLET |
552 | 0 | 8852U, // FCMOVLTS |
553 | 0 | 8852U, // FCMOVLTT |
554 | 0 | 8369U, // FCMOVNES |
555 | 0 | 8369U, // FCMOVNET |
556 | 0 | 5009U, // FETCH |
557 | 0 | 5017U, // FETCH_M |
558 | 0 | 4679U, // FTOIS |
559 | 0 | 4728U, // FTOIT |
560 | 0 | 4419U, // INSBL |
561 | 0 | 4419U, // INSBLi |
562 | 0 | 4302U, // INSLH |
563 | 0 | 4302U, // INSLHi |
564 | 0 | 4477U, // INSLL |
565 | 0 | 4477U, // INSLLi |
566 | 0 | 4330U, // INSQH |
567 | 0 | 4330U, // INSQHi |
568 | 0 | 4504U, // INSQL |
569 | 0 | 4504U, // INSQLi |
570 | 0 | 4351U, // INSWH |
571 | 0 | 4351U, // INSWHi |
572 | 0 | 4535U, // INSWL |
573 | 0 | 4535U, // INSWLi |
574 | 0 | 4667U, // ITOFS |
575 | 0 | 4706U, // ITOFT |
576 | 0 | 19372U, // JMP |
577 | 0 | 1121U, // JSR |
578 | 0 | 34978U, // JSR_COROUTINE |
579 | 0 | 1105U, // JSRs |
580 | 0 | 2069U, // LDA |
581 | 0 | 2241U, // LDAH |
582 | 0 | 51393U, // LDAHg |
583 | 0 | 2241U, // LDAHr |
584 | 0 | 51221U, // LDAg |
585 | 0 | 2069U, // LDAr |
586 | 0 | 2751U, // LDBU |
587 | 0 | 2751U, // LDBUr |
588 | 0 | 2417U, // LDL |
589 | 0 | 2350U, // LDL_L |
590 | 0 | 2417U, // LDLr |
591 | 0 | 2547U, // LDQ |
592 | 0 | 2357U, // LDQ_L |
593 | 0 | 2737U, // LDQ_U |
594 | 0 | 2547U, // LDQl |
595 | 0 | 2547U, // LDQr |
596 | 0 | 2614U, // LDS |
597 | 0 | 2614U, // LDSr |
598 | 0 | 2653U, // LDT |
599 | 0 | 2653U, // LDTr |
600 | 0 | 2893U, // LDWU |
601 | 0 | 2893U, // LDWUr |
602 | 0 | 1291U, // MB |
603 | 0 | 4412U, // MSKBL |
604 | 0 | 4412U, // MSKBLi |
605 | 0 | 4295U, // MSKLH |
606 | 0 | 4295U, // MSKLHi |
607 | 0 | 4470U, // MSKLL |
608 | 0 | 4470U, // MSKLLi |
609 | 0 | 4323U, // MSKQH |
610 | 0 | 4323U, // MSKQHi |
611 | 0 | 4497U, // MSKQL |
612 | 0 | 4497U, // MSKQLi |
613 | 0 | 4344U, // MSKWH |
614 | 0 | 4344U, // MSKWHi |
615 | 0 | 4528U, // MSKWL |
616 | 0 | 4528U, // MSKWLi |
617 | 0 | 4491U, // MULLi |
618 | 0 | 4491U, // MULLr |
619 | 0 | 4622U, // MULQi |
620 | 0 | 4622U, // MULQr |
621 | 0 | 4856U, // MULS |
622 | 0 | 4913U, // MULT |
623 | 0 | 4773U, // ORNOTi |
624 | 0 | 4773U, // ORNOTr |
625 | 0 | 2131U, // RC |
626 | 0 | 1137U, // RETDAG |
627 | 0 | 1137U, // RETDAGp |
628 | 0 | 2120U, // RPCC |
629 | 0 | 2638U, // RS |
630 | 0 | 4449U, // S4ADDLi |
631 | 0 | 4449U, // S4ADDLr |
632 | 0 | 4579U, // S4ADDQi |
633 | 0 | 4579U, // S4ADDQr |
634 | 0 | 4433U, // S4SUBLi |
635 | 0 | 4433U, // S4SUBLr |
636 | 0 | 4563U, // S4SUBQi |
637 | 0 | 4563U, // S4SUBQr |
638 | 0 | 4457U, // S8ADDLi |
639 | 0 | 4457U, // S8ADDLr |
640 | 0 | 4587U, // S8ADDQi |
641 | 0 | 4587U, // S8ADDQr |
642 | 0 | 4441U, // S8SUBLi |
643 | 0 | 4441U, // S8SUBLr |
644 | 0 | 4571U, // S8SUBQi |
645 | 0 | 4571U, // S8SUBQr |
646 | 0 | 4132U, // SEXTB |
647 | 0 | 4957U, // SEXTW |
648 | 0 | 4479U, // SLi |
649 | 0 | 4479U, // SLr |
650 | 0 | 4865U, // SQRTS |
651 | 0 | 4922U, // SQRTT |
652 | 0 | 4122U, // SRAi |
653 | 0 | 4122U, // SRAr |
654 | 0 | 4518U, // SRLi |
655 | 0 | 4518U, // SRLr |
656 | 0 | 2079U, // STB |
657 | 0 | 2079U, // STBr |
658 | 0 | 2475U, // STL |
659 | 0 | 4139U, // STL_C |
660 | 0 | 2475U, // STLr |
661 | 0 | 2580U, // STQ |
662 | 0 | 4146U, // STQ_C |
663 | 0 | 2744U, // STQ_U |
664 | 0 | 2580U, // STQr |
665 | 0 | 2642U, // STS |
666 | 0 | 2642U, // STSr |
667 | 0 | 2732U, // STT |
668 | 0 | 2732U, // STTr |
669 | 0 | 2904U, // STW |
670 | 0 | 2904U, // STWr |
671 | 0 | 4435U, // SUBLi |
672 | 0 | 4435U, // SUBLr |
673 | 0 | 4565U, // SUBQi |
674 | 0 | 4565U, // SUBQr |
675 | 0 | 4838U, // SUBS |
676 | 0 | 4884U, // SUBT |
677 | 0 | 1294U, // TRAPB |
678 | 0 | 4316U, // UMULHi |
679 | 0 | 4316U, // UMULHr |
680 | 0 | 4996U, // WH64 |
681 | 0 | 5027U, // WH64EN |
682 | 0 | 1290U, // WMB |
683 | 0 | 4633U, // XORi |
684 | 0 | 4633U, // XORr |
685 | 0 | 4765U, // ZAPNOTi |
686 | 0 | }; |
687 | |
|
688 | 0 | static const uint8_t OpInfo1[] = { |
689 | 0 | 0U, // PHI |
690 | 0 | 0U, // INLINEASM |
691 | 0 | 0U, // INLINEASM_BR |
692 | 0 | 0U, // CFI_INSTRUCTION |
693 | 0 | 0U, // EH_LABEL |
694 | 0 | 0U, // GC_LABEL |
695 | 0 | 0U, // ANNOTATION_LABEL |
696 | 0 | 0U, // KILL |
697 | 0 | 0U, // EXTRACT_SUBREG |
698 | 0 | 0U, // INSERT_SUBREG |
699 | 0 | 0U, // IMPLICIT_DEF |
700 | 0 | 0U, // SUBREG_TO_REG |
701 | 0 | 0U, // COPY_TO_REGCLASS |
702 | 0 | 0U, // DBG_VALUE |
703 | 0 | 0U, // DBG_VALUE_LIST |
704 | 0 | 0U, // DBG_INSTR_REF |
705 | 0 | 0U, // DBG_PHI |
706 | 0 | 0U, // DBG_LABEL |
707 | 0 | 0U, // REG_SEQUENCE |
708 | 0 | 0U, // COPY |
709 | 0 | 0U, // BUNDLE |
710 | 0 | 0U, // LIFETIME_START |
711 | 0 | 0U, // LIFETIME_END |
712 | 0 | 0U, // PSEUDO_PROBE |
713 | 0 | 0U, // ARITH_FENCE |
714 | 0 | 0U, // STACKMAP |
715 | 0 | 0U, // FENTRY_CALL |
716 | 0 | 0U, // PATCHPOINT |
717 | 0 | 0U, // LOAD_STACK_GUARD |
718 | 0 | 0U, // PREALLOCATED_SETUP |
719 | 0 | 0U, // PREALLOCATED_ARG |
720 | 0 | 0U, // STATEPOINT |
721 | 0 | 0U, // LOCAL_ESCAPE |
722 | 0 | 0U, // FAULTING_OP |
723 | 0 | 0U, // PATCHABLE_OP |
724 | 0 | 0U, // PATCHABLE_FUNCTION_ENTER |
725 | 0 | 0U, // PATCHABLE_RET |
726 | 0 | 0U, // PATCHABLE_FUNCTION_EXIT |
727 | 0 | 0U, // PATCHABLE_TAIL_CALL |
728 | 0 | 0U, // PATCHABLE_EVENT_CALL |
729 | 0 | 0U, // PATCHABLE_TYPED_EVENT_CALL |
730 | 0 | 0U, // ICALL_BRANCH_FUNNEL |
731 | 0 | 0U, // MEMBARRIER |
732 | 0 | 0U, // G_ASSERT_SEXT |
733 | 0 | 0U, // G_ASSERT_ZEXT |
734 | 0 | 0U, // G_ASSERT_ALIGN |
735 | 0 | 0U, // G_ADD |
736 | 0 | 0U, // G_SUB |
737 | 0 | 0U, // G_MUL |
738 | 0 | 0U, // G_SDIV |
739 | 0 | 0U, // G_UDIV |
740 | 0 | 0U, // G_SREM |
741 | 0 | 0U, // G_UREM |
742 | 0 | 0U, // G_SDIVREM |
743 | 0 | 0U, // G_UDIVREM |
744 | 0 | 0U, // G_AND |
745 | 0 | 0U, // G_OR |
746 | 0 | 0U, // G_XOR |
747 | 0 | 0U, // G_IMPLICIT_DEF |
748 | 0 | 0U, // G_PHI |
749 | 0 | 0U, // G_FRAME_INDEX |
750 | 0 | 0U, // G_GLOBAL_VALUE |
751 | 0 | 0U, // G_EXTRACT |
752 | 0 | 0U, // G_UNMERGE_VALUES |
753 | 0 | 0U, // G_INSERT |
754 | 0 | 0U, // G_MERGE_VALUES |
755 | 0 | 0U, // G_BUILD_VECTOR |
756 | 0 | 0U, // G_BUILD_VECTOR_TRUNC |
757 | 0 | 0U, // G_CONCAT_VECTORS |
758 | 0 | 0U, // G_PTRTOINT |
759 | 0 | 0U, // G_INTTOPTR |
760 | 0 | 0U, // G_BITCAST |
761 | 0 | 0U, // G_FREEZE |
762 | 0 | 0U, // G_INTRINSIC_FPTRUNC_ROUND |
763 | 0 | 0U, // G_INTRINSIC_TRUNC |
764 | 0 | 0U, // G_INTRINSIC_ROUND |
765 | 0 | 0U, // G_INTRINSIC_LRINT |
766 | 0 | 0U, // G_INTRINSIC_ROUNDEVEN |
767 | 0 | 0U, // G_READCYCLECOUNTER |
768 | 0 | 0U, // G_LOAD |
769 | 0 | 0U, // G_SEXTLOAD |
770 | 0 | 0U, // G_ZEXTLOAD |
771 | 0 | 0U, // G_INDEXED_LOAD |
772 | 0 | 0U, // G_INDEXED_SEXTLOAD |
773 | 0 | 0U, // G_INDEXED_ZEXTLOAD |
774 | 0 | 0U, // G_STORE |
775 | 0 | 0U, // G_INDEXED_STORE |
776 | 0 | 0U, // G_ATOMIC_CMPXCHG_WITH_SUCCESS |
777 | 0 | 0U, // G_ATOMIC_CMPXCHG |
778 | 0 | 0U, // G_ATOMICRMW_XCHG |
779 | 0 | 0U, // G_ATOMICRMW_ADD |
780 | 0 | 0U, // G_ATOMICRMW_SUB |
781 | 0 | 0U, // G_ATOMICRMW_AND |
782 | 0 | 0U, // G_ATOMICRMW_NAND |
783 | 0 | 0U, // G_ATOMICRMW_OR |
784 | 0 | 0U, // G_ATOMICRMW_XOR |
785 | 0 | 0U, // G_ATOMICRMW_MAX |
786 | 0 | 0U, // G_ATOMICRMW_MIN |
787 | 0 | 0U, // G_ATOMICRMW_UMAX |
788 | 0 | 0U, // G_ATOMICRMW_UMIN |
789 | 0 | 0U, // G_ATOMICRMW_FADD |
790 | 0 | 0U, // G_ATOMICRMW_FSUB |
791 | 0 | 0U, // G_ATOMICRMW_FMAX |
792 | 0 | 0U, // G_ATOMICRMW_FMIN |
793 | 0 | 0U, // G_ATOMICRMW_UINC_WRAP |
794 | 0 | 0U, // G_ATOMICRMW_UDEC_WRAP |
795 | 0 | 0U, // G_FENCE |
796 | 0 | 0U, // G_BRCOND |
797 | 0 | 0U, // G_BRINDIRECT |
798 | 0 | 0U, // G_INVOKE_REGION_START |
799 | 0 | 0U, // G_INTRINSIC |
800 | 0 | 0U, // G_INTRINSIC_W_SIDE_EFFECTS |
801 | 0 | 0U, // G_ANYEXT |
802 | 0 | 0U, // G_TRUNC |
803 | 0 | 0U, // G_CONSTANT |
804 | 0 | 0U, // G_FCONSTANT |
805 | 0 | 0U, // G_VASTART |
806 | 0 | 0U, // G_VAARG |
807 | 0 | 0U, // G_SEXT |
808 | 0 | 0U, // G_SEXT_INREG |
809 | 0 | 0U, // G_ZEXT |
810 | 0 | 0U, // G_SHL |
811 | 0 | 0U, // G_LSHR |
812 | 0 | 0U, // G_ASHR |
813 | 0 | 0U, // G_FSHL |
814 | 0 | 0U, // G_FSHR |
815 | 0 | 0U, // G_ROTR |
816 | 0 | 0U, // G_ROTL |
817 | 0 | 0U, // G_ICMP |
818 | 0 | 0U, // G_FCMP |
819 | 0 | 0U, // G_SELECT |
820 | 0 | 0U, // G_UADDO |
821 | 0 | 0U, // G_UADDE |
822 | 0 | 0U, // G_USUBO |
823 | 0 | 0U, // G_USUBE |
824 | 0 | 0U, // G_SADDO |
825 | 0 | 0U, // G_SADDE |
826 | 0 | 0U, // G_SSUBO |
827 | 0 | 0U, // G_SSUBE |
828 | 0 | 0U, // G_UMULO |
829 | 0 | 0U, // G_SMULO |
830 | 0 | 0U, // G_UMULH |
831 | 0 | 0U, // G_SMULH |
832 | 0 | 0U, // G_UADDSAT |
833 | 0 | 0U, // G_SADDSAT |
834 | 0 | 0U, // G_USUBSAT |
835 | 0 | 0U, // G_SSUBSAT |
836 | 0 | 0U, // G_USHLSAT |
837 | 0 | 0U, // G_SSHLSAT |
838 | 0 | 0U, // G_SMULFIX |
839 | 0 | 0U, // G_UMULFIX |
840 | 0 | 0U, // G_SMULFIXSAT |
841 | 0 | 0U, // G_UMULFIXSAT |
842 | 0 | 0U, // G_SDIVFIX |
843 | 0 | 0U, // G_UDIVFIX |
844 | 0 | 0U, // G_SDIVFIXSAT |
845 | 0 | 0U, // G_UDIVFIXSAT |
846 | 0 | 0U, // G_FADD |
847 | 0 | 0U, // G_FSUB |
848 | 0 | 0U, // G_FMUL |
849 | 0 | 0U, // G_FMA |
850 | 0 | 0U, // G_FMAD |
851 | 0 | 0U, // G_FDIV |
852 | 0 | 0U, // G_FREM |
853 | 0 | 0U, // G_FPOW |
854 | 0 | 0U, // G_FPOWI |
855 | 0 | 0U, // G_FEXP |
856 | 0 | 0U, // G_FEXP2 |
857 | 0 | 0U, // G_FLOG |
858 | 0 | 0U, // G_FLOG2 |
859 | 0 | 0U, // G_FLOG10 |
860 | 0 | 0U, // G_FNEG |
861 | 0 | 0U, // G_FPEXT |
862 | 0 | 0U, // G_FPTRUNC |
863 | 0 | 0U, // G_FPTOSI |
864 | 0 | 0U, // G_FPTOUI |
865 | 0 | 0U, // G_SITOFP |
866 | 0 | 0U, // G_UITOFP |
867 | 0 | 0U, // G_FABS |
868 | 0 | 0U, // G_FCOPYSIGN |
869 | 0 | 0U, // G_IS_FPCLASS |
870 | 0 | 0U, // G_FCANONICALIZE |
871 | 0 | 0U, // G_FMINNUM |
872 | 0 | 0U, // G_FMAXNUM |
873 | 0 | 0U, // G_FMINNUM_IEEE |
874 | 0 | 0U, // G_FMAXNUM_IEEE |
875 | 0 | 0U, // G_FMINIMUM |
876 | 0 | 0U, // G_FMAXIMUM |
877 | 0 | 0U, // G_PTR_ADD |
878 | 0 | 0U, // G_PTRMASK |
879 | 0 | 0U, // G_SMIN |
880 | 0 | 0U, // G_SMAX |
881 | 0 | 0U, // G_UMIN |
882 | 0 | 0U, // G_UMAX |
883 | 0 | 0U, // G_ABS |
884 | 0 | 0U, // G_LROUND |
885 | 0 | 0U, // G_LLROUND |
886 | 0 | 0U, // G_BR |
887 | 0 | 0U, // G_BRJT |
888 | 0 | 0U, // G_INSERT_VECTOR_ELT |
889 | 0 | 0U, // G_EXTRACT_VECTOR_ELT |
890 | 0 | 0U, // G_SHUFFLE_VECTOR |
891 | 0 | 0U, // G_CTTZ |
892 | 0 | 0U, // G_CTTZ_ZERO_UNDEF |
893 | 0 | 0U, // G_CTLZ |
894 | 0 | 0U, // G_CTLZ_ZERO_UNDEF |
895 | 0 | 0U, // G_CTPOP |
896 | 0 | 0U, // G_BSWAP |
897 | 0 | 0U, // G_BITREVERSE |
898 | 0 | 0U, // G_FCEIL |
899 | 0 | 0U, // G_FCOS |
900 | 0 | 0U, // G_FSIN |
901 | 0 | 0U, // G_FSQRT |
902 | 0 | 0U, // G_FFLOOR |
903 | 0 | 0U, // G_FRINT |
904 | 0 | 0U, // G_FNEARBYINT |
905 | 0 | 0U, // G_ADDRSPACE_CAST |
906 | 0 | 0U, // G_BLOCK_ADDR |
907 | 0 | 0U, // G_JUMP_TABLE |
908 | 0 | 0U, // G_DYN_STACKALLOC |
909 | 0 | 0U, // G_STRICT_FADD |
910 | 0 | 0U, // G_STRICT_FSUB |
911 | 0 | 0U, // G_STRICT_FMUL |
912 | 0 | 0U, // G_STRICT_FDIV |
913 | 0 | 0U, // G_STRICT_FREM |
914 | 0 | 0U, // G_STRICT_FMA |
915 | 0 | 0U, // G_STRICT_FSQRT |
916 | 0 | 0U, // G_READ_REGISTER |
917 | 0 | 0U, // G_WRITE_REGISTER |
918 | 0 | 0U, // G_MEMCPY |
919 | 0 | 0U, // G_MEMCPY_INLINE |
920 | 0 | 0U, // G_MEMMOVE |
921 | 0 | 0U, // G_MEMSET |
922 | 0 | 0U, // G_BZERO |
923 | 0 | 0U, // G_VECREDUCE_SEQ_FADD |
924 | 0 | 0U, // G_VECREDUCE_SEQ_FMUL |
925 | 0 | 0U, // G_VECREDUCE_FADD |
926 | 0 | 0U, // G_VECREDUCE_FMUL |
927 | 0 | 0U, // G_VECREDUCE_FMAX |
928 | 0 | 0U, // G_VECREDUCE_FMIN |
929 | 0 | 0U, // G_VECREDUCE_ADD |
930 | 0 | 0U, // G_VECREDUCE_MUL |
931 | 0 | 0U, // G_VECREDUCE_AND |
932 | 0 | 0U, // G_VECREDUCE_OR |
933 | 0 | 0U, // G_VECREDUCE_XOR |
934 | 0 | 0U, // G_VECREDUCE_SMAX |
935 | 0 | 0U, // G_VECREDUCE_SMIN |
936 | 0 | 0U, // G_VECREDUCE_UMAX |
937 | 0 | 0U, // G_VECREDUCE_UMIN |
938 | 0 | 0U, // G_SBFX |
939 | 0 | 0U, // G_UBFX |
940 | 0 | 0U, // ADJUSTSTACKDOWN |
941 | 0 | 0U, // ADJUSTSTACKUP |
942 | 0 | 0U, // ALTENT |
943 | 0 | 0U, // CAS32 |
944 | 0 | 0U, // CAS64 |
945 | 0 | 0U, // LAS32 |
946 | 0 | 0U, // LAS64 |
947 | 0 | 0U, // MEMLABEL |
948 | 0 | 0U, // PCLABEL |
949 | 0 | 0U, // SWAP32 |
950 | 0 | 0U, // SWAP64 |
951 | 0 | 0U, // WTF |
952 | 0 | 1U, // ADDLi |
953 | 0 | 1U, // ADDLr |
954 | 0 | 1U, // ADDQi |
955 | 0 | 1U, // ADDQr |
956 | 0 | 1U, // ADDS |
957 | 0 | 1U, // ADDT |
958 | 0 | 1U, // ANDi |
959 | 0 | 1U, // ANDr |
960 | 0 | 5U, // BEQ |
961 | 0 | 5U, // BGE |
962 | 0 | 5U, // BGT |
963 | 0 | 1U, // BICi |
964 | 0 | 1U, // BICr |
965 | 0 | 1U, // BISi |
966 | 0 | 1U, // BISr |
967 | 0 | 5U, // BLBC |
968 | 0 | 5U, // BLBS |
969 | 0 | 5U, // BLE |
970 | 0 | 5U, // BLT |
971 | 0 | 5U, // BNE |
972 | 0 | 0U, // BR |
973 | 0 | 1U, // BSR |
974 | 0 | 1U, // CMOVEQi |
975 | 0 | 1U, // CMOVEQr |
976 | 0 | 1U, // CMOVGEi |
977 | 0 | 1U, // CMOVGEr |
978 | 0 | 1U, // CMOVGTi |
979 | 0 | 1U, // CMOVGTr |
980 | 0 | 1U, // CMOVLBCi |
981 | 0 | 1U, // CMOVLBCr |
982 | 0 | 1U, // CMOVLBSi |
983 | 0 | 1U, // CMOVLBSr |
984 | 0 | 1U, // CMOVLEi |
985 | 0 | 1U, // CMOVLEr |
986 | 0 | 1U, // CMOVLTi |
987 | 0 | 1U, // CMOVLTr |
988 | 0 | 1U, // CMOVNEi |
989 | 0 | 1U, // CMOVNEr |
990 | 0 | 1U, // CMPBGE |
991 | 0 | 1U, // CMPBGEi |
992 | 0 | 1U, // CMPEQ |
993 | 0 | 1U, // CMPEQi |
994 | 0 | 1U, // CMPLE |
995 | 0 | 1U, // CMPLEi |
996 | 0 | 1U, // CMPLT |
997 | 0 | 1U, // CMPLTi |
998 | 0 | 1U, // CMPTEQ |
999 | 0 | 1U, // CMPTLE |
1000 | 0 | 1U, // CMPTLT |
1001 | 0 | 1U, // CMPTUN |
1002 | 0 | 1U, // CMPULE |
1003 | 0 | 1U, // CMPULEi |
1004 | 0 | 1U, // CMPULT |
1005 | 0 | 1U, // CMPULTi |
1006 | 0 | 1U, // COND_BRANCH_F |
1007 | 0 | 1U, // COND_BRANCH_I |
1008 | 0 | 1U, // CPYSES |
1009 | 0 | 1U, // CPYSESt |
1010 | 0 | 1U, // CPYSET |
1011 | 0 | 1U, // CPYSNS |
1012 | 0 | 1U, // CPYSNSt |
1013 | 0 | 1U, // CPYSNT |
1014 | 0 | 1U, // CPYSNTs |
1015 | 0 | 1U, // CPYSS |
1016 | 0 | 1U, // CPYSSt |
1017 | 0 | 1U, // CPYST |
1018 | 0 | 1U, // CPYSTs |
1019 | 0 | 9U, // CTLZ |
1020 | 0 | 9U, // CTPOP |
1021 | 0 | 9U, // CTTZ |
1022 | 0 | 9U, // CVTQS |
1023 | 0 | 9U, // CVTQT |
1024 | 0 | 9U, // CVTST |
1025 | 0 | 9U, // CVTTQ |
1026 | 0 | 9U, // CVTTS |
1027 | 0 | 1U, // DIVS |
1028 | 0 | 1U, // DIVT |
1029 | 0 | 2U, // ECB |
1030 | 0 | 1U, // EQVi |
1031 | 0 | 1U, // EQVr |
1032 | 0 | 0U, // EXCB |
1033 | 0 | 1U, // EXTBL |
1034 | 0 | 1U, // EXTBLi |
1035 | 0 | 1U, // EXTLH |
1036 | 0 | 1U, // EXTLHi |
1037 | 0 | 1U, // EXTLL |
1038 | 0 | 1U, // EXTLLi |
1039 | 0 | 1U, // EXTQH |
1040 | 0 | 1U, // EXTQHi |
1041 | 0 | 1U, // EXTQL |
1042 | 0 | 1U, // EXTQLi |
1043 | 0 | 1U, // EXTWH |
1044 | 0 | 1U, // EXTWHi |
1045 | 0 | 1U, // EXTWL |
1046 | 0 | 1U, // EXTWLi |
1047 | 0 | 5U, // FBEQ |
1048 | 0 | 5U, // FBGE |
1049 | 0 | 5U, // FBGT |
1050 | 0 | 5U, // FBLE |
1051 | 0 | 5U, // FBLT |
1052 | 0 | 5U, // FBNE |
1053 | 0 | 0U, // FCMOVEQS |
1054 | 0 | 0U, // FCMOVEQT |
1055 | 0 | 0U, // FCMOVGES |
1056 | 0 | 0U, // FCMOVGET |
1057 | 0 | 0U, // FCMOVGTS |
1058 | 0 | 0U, // FCMOVGTT |
1059 | 0 | 0U, // FCMOVLES |
1060 | 0 | 0U, // FCMOVLET |
1061 | 0 | 0U, // FCMOVLTS |
1062 | 0 | 0U, // FCMOVLTT |
1063 | 0 | 0U, // FCMOVNES |
1064 | 0 | 0U, // FCMOVNET |
1065 | 0 | 2U, // FETCH |
1066 | 0 | 2U, // FETCH_M |
1067 | 0 | 9U, // FTOIS |
1068 | 0 | 9U, // FTOIT |
1069 | 0 | 1U, // INSBL |
1070 | 0 | 1U, // INSBLi |
1071 | 0 | 1U, // INSLH |
1072 | 0 | 1U, // INSLHi |
1073 | 0 | 1U, // INSLL |
1074 | 0 | 1U, // INSLLi |
1075 | 0 | 1U, // INSQH |
1076 | 0 | 1U, // INSQHi |
1077 | 0 | 1U, // INSQL |
1078 | 0 | 1U, // INSQLi |
1079 | 0 | 1U, // INSWH |
1080 | 0 | 1U, // INSWHi |
1081 | 0 | 1U, // INSWL |
1082 | 0 | 1U, // INSWLi |
1083 | 0 | 9U, // ITOFS |
1084 | 0 | 9U, // ITOFT |
1085 | 0 | 2U, // JMP |
1086 | 0 | 0U, // JSR |
1087 | 0 | 2U, // JSR_COROUTINE |
1088 | 0 | 0U, // JSRs |
1089 | 0 | 29U, // LDA |
1090 | 0 | 29U, // LDAH |
1091 | 0 | 2U, // LDAHg |
1092 | 0 | 45U, // LDAHr |
1093 | 0 | 2U, // LDAg |
1094 | 0 | 61U, // LDAr |
1095 | 0 | 29U, // LDBU |
1096 | 0 | 61U, // LDBUr |
1097 | 0 | 29U, // LDL |
1098 | 0 | 29U, // LDL_L |
1099 | 0 | 61U, // LDLr |
1100 | 0 | 29U, // LDQ |
1101 | 0 | 29U, // LDQ_L |
1102 | 0 | 29U, // LDQ_U |
1103 | 0 | 77U, // LDQl |
1104 | 0 | 61U, // LDQr |
1105 | 0 | 29U, // LDS |
1106 | 0 | 61U, // LDSr |
1107 | 0 | 29U, // LDT |
1108 | 0 | 61U, // LDTr |
1109 | 0 | 29U, // LDWU |
1110 | 0 | 61U, // LDWUr |
1111 | 0 | 0U, // MB |
1112 | 0 | 1U, // MSKBL |
1113 | 0 | 1U, // MSKBLi |
1114 | 0 | 1U, // MSKLH |
1115 | 0 | 1U, // MSKLHi |
1116 | 0 | 1U, // MSKLL |
1117 | 0 | 1U, // MSKLLi |
1118 | 0 | 1U, // MSKQH |
1119 | 0 | 1U, // MSKQHi |
1120 | 0 | 1U, // MSKQL |
1121 | 0 | 1U, // MSKQLi |
1122 | 0 | 1U, // MSKWH |
1123 | 0 | 1U, // MSKWHi |
1124 | 0 | 1U, // MSKWL |
1125 | 0 | 1U, // MSKWLi |
1126 | 0 | 1U, // MULLi |
1127 | 0 | 1U, // MULLr |
1128 | 0 | 1U, // MULQi |
1129 | 0 | 1U, // MULQr |
1130 | 0 | 1U, // MULS |
1131 | 0 | 1U, // MULT |
1132 | 0 | 1U, // ORNOTi |
1133 | 0 | 1U, // ORNOTr |
1134 | 0 | 0U, // RC |
1135 | 0 | 0U, // RETDAG |
1136 | 0 | 0U, // RETDAGp |
1137 | 0 | 0U, // RPCC |
1138 | 0 | 0U, // RS |
1139 | 0 | 1U, // S4ADDLi |
1140 | 0 | 1U, // S4ADDLr |
1141 | 0 | 1U, // S4ADDQi |
1142 | 0 | 1U, // S4ADDQr |
1143 | 0 | 1U, // S4SUBLi |
1144 | 0 | 1U, // S4SUBLr |
1145 | 0 | 1U, // S4SUBQi |
1146 | 0 | 1U, // S4SUBQr |
1147 | 0 | 1U, // S8ADDLi |
1148 | 0 | 1U, // S8ADDLr |
1149 | 0 | 1U, // S8ADDQi |
1150 | 0 | 1U, // S8ADDQr |
1151 | 0 | 1U, // S8SUBLi |
1152 | 0 | 1U, // S8SUBLr |
1153 | 0 | 1U, // S8SUBQi |
1154 | 0 | 1U, // S8SUBQr |
1155 | 0 | 9U, // SEXTB |
1156 | 0 | 9U, // SEXTW |
1157 | 0 | 1U, // SLi |
1158 | 0 | 1U, // SLr |
1159 | 0 | 9U, // SQRTS |
1160 | 0 | 9U, // SQRTT |
1161 | 0 | 1U, // SRAi |
1162 | 0 | 1U, // SRAr |
1163 | 0 | 1U, // SRLi |
1164 | 0 | 1U, // SRLr |
1165 | 0 | 3U, // STB |
1166 | 0 | 61U, // STBr |
1167 | 0 | 29U, // STL |
1168 | 0 | 81U, // STL_C |
1169 | 0 | 61U, // STLr |
1170 | 0 | 29U, // STQ |
1171 | 0 | 81U, // STQ_C |
1172 | 0 | 3U, // STQ_U |
1173 | 0 | 61U, // STQr |
1174 | 0 | 29U, // STS |
1175 | 0 | 61U, // STSr |
1176 | 0 | 29U, // STT |
1177 | 0 | 61U, // STTr |
1178 | 0 | 29U, // STW |
1179 | 0 | 61U, // STWr |
1180 | 0 | 1U, // SUBLi |
1181 | 0 | 1U, // SUBLr |
1182 | 0 | 1U, // SUBQi |
1183 | 0 | 1U, // SUBQr |
1184 | 0 | 1U, // SUBS |
1185 | 0 | 1U, // SUBT |
1186 | 0 | 0U, // TRAPB |
1187 | 0 | 1U, // UMULHi |
1188 | 0 | 1U, // UMULHr |
1189 | 0 | 2U, // WH64 |
1190 | 0 | 2U, // WH64EN |
1191 | 0 | 0U, // WMB |
1192 | 0 | 1U, // XORi |
1193 | 0 | 1U, // XORr |
1194 | 0 | 1U, // ZAPNOTi |
1195 | 0 | }; |
1196 | | |
1197 | | // Emit the opcode for the instruction. |
1198 | 0 | uint32_t Bits = 0; |
1199 | 0 | Bits |= OpInfo0[MCInst_getOpcode(MI)] << 0; |
1200 | 0 | Bits |= OpInfo1[MCInst_getOpcode(MI)] << 16; |
1201 | 0 | MnemonicBitsInfo MBI = { |
1202 | 0 | #ifndef CAPSTONE_DIET |
1203 | 0 | AsmStrs+(Bits & 2047)-1, |
1204 | | #else |
1205 | | NULL, |
1206 | | #endif // CAPSTONE_DIET |
1207 | 0 | Bits |
1208 | 0 | }; |
1209 | 0 | return MBI; |
1210 | 0 | } |
1211 | | |
1212 | | /// printInstruction - This method is automatically generated by tablegen |
1213 | | /// from the instruction set description. |
1214 | 0 | static void printInstruction(MCInst *MI, uint64_t Address, SStream *O) { |
1215 | 0 | SStream_concat0(O, ""); |
1216 | 0 | MnemonicBitsInfo MnemonicInfo = getMnemonic(MI, O); |
1217 | |
|
1218 | 0 | SStream_concat0(O, MnemonicInfo.first); |
1219 | |
|
1220 | 0 | uint32_t Bits = MnemonicInfo.second; |
1221 | 0 | assert(Bits != 0 && "Cannot print this instruction."); |
1222 | | |
1223 | | // Fragment 0 encoded into 3 bits for 5 unique commands. |
1224 | 0 | switch ((uint32_t)((Bits >> 11) & 7)) { |
1225 | 0 | default: assert(0 && "Invalid command number."); |
1226 | 0 | case 0: |
1227 | | // DBG_VALUE, DBG_VALUE_LIST, DBG_INSTR_REF, DBG_PHI, DBG_LABEL, BUNDLE, ... |
1228 | 0 | return; |
1229 | 0 | break; |
1230 | 0 | case 1: |
1231 | | // ADJUSTSTACKDOWN, ADJUSTSTACKUP, ALTENT, MEMLABEL, PCLABEL, BEQ, BGE, B... |
1232 | 0 | printOperand(MI, 0, O); |
1233 | 0 | break; |
1234 | 0 | case 2: |
1235 | | // ADDLi, ADDLr, ADDQi, ADDQr, ADDS, ADDT, ANDi, ANDr, BICi, BICr, BISi, ... |
1236 | 0 | printOperand(MI, 1, O); |
1237 | 0 | break; |
1238 | 0 | case 3: |
1239 | | // BR, BSR |
1240 | 0 | printOperandAddr(MI, Address, 0, O); |
1241 | 0 | break; |
1242 | 0 | case 4: |
1243 | | // FCMOVEQS, FCMOVEQT, FCMOVGES, FCMOVGET, FCMOVGTS, FCMOVGTT, FCMOVLES, ... |
1244 | 0 | printOperand(MI, 3, O); |
1245 | 0 | SStream_concat1(O, ','); |
1246 | 0 | printOperand(MI, 2, O); |
1247 | 0 | SStream_concat1(O, ','); |
1248 | 0 | printOperand(MI, 0, O); |
1249 | 0 | return; |
1250 | 0 | break; |
1251 | 0 | } |
1252 | | |
1253 | | |
1254 | | // Fragment 1 encoded into 4 bits for 13 unique commands. |
1255 | 0 | switch ((uint32_t)((Bits >> 14) & 15)) { |
1256 | 0 | default: assert(0 && "Invalid command number."); |
1257 | 0 | case 0: |
1258 | | // ADJUSTSTACKDOWN, ADJUSTSTACKUP, BR, RC, RPCC, RS |
1259 | 0 | return; |
1260 | 0 | break; |
1261 | 0 | case 1: |
1262 | | // ALTENT |
1263 | 0 | SStream_concat0(O, "..ng:\n"); |
1264 | 0 | return; |
1265 | 0 | break; |
1266 | 0 | case 2: |
1267 | | // MEMLABEL |
1268 | 0 | SStream_concat1(O, '$'); |
1269 | 0 | printOperand(MI, 1, O); |
1270 | 0 | SStream_concat1(O, '$'); |
1271 | 0 | printOperand(MI, 2, O); |
1272 | 0 | SStream_concat1(O, '$'); |
1273 | 0 | printOperand(MI, 3, O); |
1274 | 0 | SStream_concat1(O, ':'); |
1275 | 0 | return; |
1276 | 0 | break; |
1277 | 0 | case 3: |
1278 | | // PCLABEL |
1279 | 0 | SStream_concat0(O, ":\n"); |
1280 | 0 | return; |
1281 | 0 | break; |
1282 | 0 | case 4: |
1283 | | // ADDLi, ADDLr, ADDQi, ADDQr, ADDS, ADDT, ANDi, ANDr, BEQ, BGE, BGT, BIC... |
1284 | 0 | SStream_concat1(O, ','); |
1285 | 0 | break; |
1286 | 0 | case 5: |
1287 | | // BSR |
1288 | 0 | SStream_concat0(O, " ..ng"); |
1289 | 0 | return; |
1290 | 0 | break; |
1291 | 0 | case 6: |
1292 | | // COND_BRANCH_F |
1293 | 0 | SStream_concat0(O, ", F8RC:"); |
1294 | 0 | printOperand(MI, 1, O); |
1295 | 0 | SStream_concat0(O, ", bb:"); |
1296 | 0 | printOperandAddr(MI, Address, 2, O); |
1297 | 0 | return; |
1298 | 0 | break; |
1299 | 0 | case 7: |
1300 | | // COND_BRANCH_I |
1301 | 0 | SStream_concat0(O, ", GPRC:"); |
1302 | 0 | printOperand(MI, 1, O); |
1303 | 0 | SStream_concat0(O, ", bb:"); |
1304 | 0 | printOperandAddr(MI, Address, 2, O); |
1305 | 0 | return; |
1306 | 0 | break; |
1307 | 0 | case 8: |
1308 | | // ECB, FETCH, FETCH_M, WH64, WH64EN |
1309 | 0 | SStream_concat1(O, ')'); |
1310 | 0 | return; |
1311 | 0 | break; |
1312 | 0 | case 9: |
1313 | | // JMP |
1314 | 0 | SStream_concat0(O, ",0"); |
1315 | 0 | return; |
1316 | 0 | break; |
1317 | 0 | case 10: |
1318 | | // JSR_COROUTINE |
1319 | 0 | SStream_concat0(O, ",("); |
1320 | 0 | printOperand(MI, 1, O); |
1321 | 0 | SStream_concat0(O, "),"); |
1322 | 0 | printOperand(MI, 2, O); |
1323 | 0 | return; |
1324 | 0 | break; |
1325 | 0 | case 11: |
1326 | | // LDAHg, LDAg |
1327 | 0 | SStream_concat0(O, ",0("); |
1328 | 0 | printOperand(MI, 2, O); |
1329 | 0 | SStream_concat0(O, ")\t\t!gpdisp!"); |
1330 | 0 | printOperand(MI, 3, O); |
1331 | 0 | return; |
1332 | 0 | break; |
1333 | 0 | case 12: |
1334 | | // STB, STQ_U |
1335 | 0 | SStream_concat0(O, ", "); |
1336 | 0 | printOperand(MI, 1, O); |
1337 | 0 | SStream_concat1(O, '('); |
1338 | 0 | printOperand(MI, 2, O); |
1339 | 0 | SStream_concat1(O, ')'); |
1340 | 0 | return; |
1341 | 0 | break; |
1342 | 0 | } |
1343 | | |
1344 | | |
1345 | | // Fragment 2 encoded into 2 bits for 4 unique commands. |
1346 | 0 | switch ((uint32_t)((Bits >> 18) & 3)) { |
1347 | 0 | default: assert(0 && "Invalid command number."); |
1348 | 0 | case 0: |
1349 | | // ADDLi, ADDLr, ADDQi, ADDQr, ADDS, ADDT, ANDi, ANDr, BICi, BICr, BISi, ... |
1350 | 0 | printOperand(MI, 2, O); |
1351 | 0 | break; |
1352 | 0 | case 1: |
1353 | | // BEQ, BGE, BGT, BLBC, BLBS, BLE, BLT, BNE, FBEQ, FBGE, FBGT, FBLE, FBLT... |
1354 | 0 | printOperandAddr(MI, Address, 1, O); |
1355 | 0 | return; |
1356 | 0 | break; |
1357 | 0 | case 2: |
1358 | | // CTLZ, CTPOP, CTTZ, CVTQS, CVTQT, CVTST, CVTTQ, CVTTS, FTOIS, FTOIT, IT... |
1359 | 0 | printOperand(MI, 0, O); |
1360 | 0 | return; |
1361 | 0 | break; |
1362 | 0 | case 3: |
1363 | | // LDA, LDAH, LDAHr, LDAr, LDBU, LDBUr, LDL, LDL_L, LDLr, LDQ, LDQ_L, LDQ... |
1364 | 0 | printOperand(MI, 1, O); |
1365 | 0 | SStream_concat1(O, '('); |
1366 | 0 | printOperand(MI, 2, O); |
1367 | 0 | break; |
1368 | 0 | } |
1369 | | |
1370 | | |
1371 | | // Fragment 3 encoded into 3 bits for 6 unique commands. |
1372 | 0 | switch ((uint32_t)((Bits >> 20) & 7)) { |
1373 | 0 | default: assert(0 && "Invalid command number."); |
1374 | 0 | case 0: |
1375 | | // ADDLi, ADDLr, ADDQi, ADDQr, ADDS, ADDT, ANDi, ANDr, BICi, BICr, BISi, ... |
1376 | 0 | SStream_concat1(O, ','); |
1377 | 0 | printOperand(MI, 0, O); |
1378 | 0 | return; |
1379 | 0 | break; |
1380 | 0 | case 1: |
1381 | | // LDA, LDAH, LDBU, LDL, LDL_L, LDQ, LDQ_L, LDQ_U, LDS, LDT, LDWU, STL, S... |
1382 | 0 | SStream_concat1(O, ')'); |
1383 | 0 | return; |
1384 | 0 | break; |
1385 | 0 | case 2: |
1386 | | // LDAHr |
1387 | 0 | SStream_concat0(O, ")\t\t!gprelhigh"); |
1388 | 0 | return; |
1389 | 0 | break; |
1390 | 0 | case 3: |
1391 | | // LDAr, LDBUr, LDLr, LDQr, LDSr, LDTr, LDWUr, STBr, STLr, STQr, STSr, ST... |
1392 | 0 | SStream_concat0(O, ")\t\t!gprellow"); |
1393 | 0 | return; |
1394 | 0 | break; |
1395 | 0 | case 4: |
1396 | | // LDQl |
1397 | 0 | SStream_concat0(O, ")\t\t!literal"); |
1398 | 0 | return; |
1399 | 0 | break; |
1400 | 0 | case 5: |
1401 | | // STL_C, STQ_C |
1402 | 0 | SStream_concat1(O, '('); |
1403 | 0 | printOperand(MI, 3, O); |
1404 | 0 | SStream_concat1(O, ')'); |
1405 | 0 | return; |
1406 | 0 | break; |
1407 | 0 | } |
1408 | |
|
1409 | 0 | } |
1410 | | |
1411 | | |
1412 | | /// getRegisterName - This method is automatically generated by tblgen |
1413 | | /// from the register set description. This returns the assembler name |
1414 | | /// for the specified register. |
1415 | 0 | static const char *getRegisterName(unsigned RegNo) { |
1416 | 0 | #ifndef CAPSTONE_DIET |
1417 | 0 | assert(RegNo && RegNo < 65 && "Invalid register number!"); |
1418 | | |
1419 | 0 | static const char AsmStrs[] = { |
1420 | 0 | /* 0 */ "$0\0" |
1421 | 0 | /* 3 */ "$10\0" |
1422 | 0 | /* 7 */ "$f10\0" |
1423 | 0 | /* 12 */ "$20\0" |
1424 | 0 | /* 16 */ "$f20\0" |
1425 | 0 | /* 21 */ "$30\0" |
1426 | 0 | /* 25 */ "$f30\0" |
1427 | 0 | /* 30 */ "$f0\0" |
1428 | 0 | /* 34 */ "$1\0" |
1429 | 0 | /* 37 */ "$11\0" |
1430 | 0 | /* 41 */ "$f11\0" |
1431 | 0 | /* 46 */ "$21\0" |
1432 | 0 | /* 50 */ "$f21\0" |
1433 | 0 | /* 55 */ "$31\0" |
1434 | 0 | /* 59 */ "$f31\0" |
1435 | 0 | /* 64 */ "$f1\0" |
1436 | 0 | /* 68 */ "$2\0" |
1437 | 0 | /* 71 */ "$12\0" |
1438 | 0 | /* 75 */ "$f12\0" |
1439 | 0 | /* 80 */ "$22\0" |
1440 | 0 | /* 84 */ "$f22\0" |
1441 | 0 | /* 89 */ "$f2\0" |
1442 | 0 | /* 93 */ "$3\0" |
1443 | 0 | /* 96 */ "$13\0" |
1444 | 0 | /* 100 */ "$f13\0" |
1445 | 0 | /* 105 */ "$23\0" |
1446 | 0 | /* 109 */ "$f23\0" |
1447 | 0 | /* 114 */ "$f3\0" |
1448 | 0 | /* 118 */ "$4\0" |
1449 | 0 | /* 121 */ "$14\0" |
1450 | 0 | /* 125 */ "$f14\0" |
1451 | 0 | /* 130 */ "$24\0" |
1452 | 0 | /* 134 */ "$f24\0" |
1453 | 0 | /* 139 */ "$f4\0" |
1454 | 0 | /* 143 */ "$5\0" |
1455 | 0 | /* 146 */ "$15\0" |
1456 | 0 | /* 150 */ "$f15\0" |
1457 | 0 | /* 155 */ "$25\0" |
1458 | 0 | /* 159 */ "$f25\0" |
1459 | 0 | /* 164 */ "$f5\0" |
1460 | 0 | /* 168 */ "$6\0" |
1461 | 0 | /* 171 */ "$16\0" |
1462 | 0 | /* 175 */ "$f16\0" |
1463 | 0 | /* 180 */ "$26\0" |
1464 | 0 | /* 184 */ "$f26\0" |
1465 | 0 | /* 189 */ "$f6\0" |
1466 | 0 | /* 193 */ "$7\0" |
1467 | 0 | /* 196 */ "$17\0" |
1468 | 0 | /* 200 */ "$f17\0" |
1469 | 0 | /* 205 */ "$27\0" |
1470 | 0 | /* 209 */ "$f27\0" |
1471 | 0 | /* 214 */ "$f7\0" |
1472 | 0 | /* 218 */ "$8\0" |
1473 | 0 | /* 221 */ "$18\0" |
1474 | 0 | /* 225 */ "$f18\0" |
1475 | 0 | /* 230 */ "$28\0" |
1476 | 0 | /* 234 */ "$f28\0" |
1477 | 0 | /* 239 */ "$f8\0" |
1478 | 0 | /* 243 */ "$9\0" |
1479 | 0 | /* 246 */ "$19\0" |
1480 | 0 | /* 250 */ "$f19\0" |
1481 | 0 | /* 255 */ "$29\0" |
1482 | 0 | /* 259 */ "$f29\0" |
1483 | 0 | /* 264 */ "$f9\0" |
1484 | 0 | }; |
1485 | 0 | static const uint16_t RegAsmOffset[] = { |
1486 | 0 | 30, 64, 89, 114, 139, 164, 189, 214, 239, 264, 7, 41, 75, 100, |
1487 | 0 | 125, 150, 175, 200, 225, 250, 16, 50, 84, 109, 134, 159, 184, 209, |
1488 | 0 | 234, 259, 25, 59, 0, 34, 68, 93, 118, 143, 168, 193, 218, 243, |
1489 | 0 | 3, 37, 71, 96, 121, 146, 171, 196, 221, 246, 12, 46, 80, 105, |
1490 | 0 | 130, 155, 180, 205, 230, 255, 21, 55, |
1491 | 0 | }; |
1492 | |
|
1493 | 0 | assert (*(AsmStrs+RegAsmOffset[RegNo-1]) && |
1494 | 0 | "Invalid alt name index for register!"); |
1495 | 0 | return AsmStrs+RegAsmOffset[RegNo-1]; |
1496 | | #else |
1497 | | return NULL; |
1498 | | #endif // CAPSTONE_DIET |
1499 | 0 | } |
1500 | | #ifdef PRINT_ALIAS_INSTR |
1501 | | #undef PRINT_ALIAS_INSTR |
1502 | | |
1503 | 0 | static bool printAliasInstr(MCInst *MI, uint64_t Address, SStream *OS) { |
1504 | 0 | return false; |
1505 | 0 | } |
1506 | | |
1507 | | #endif // PRINT_ALIAS_INSTR |