Coverage Report

Created: 2024-08-21 06:24

/src/capstonenext/arch/XCore/XCoreGenAsmWriter.inc
Line
Count
Source (jump to first uncovered line)
1
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2
|*                                                                            *|
3
|*Assembly Writer Source Fragment                                             *|
4
|*                                                                            *|
5
|* Automatically generated file, do not edit!                                 *|
6
|*                                                                            *|
7
\*===----------------------------------------------------------------------===*/
8
9
/* Capstone Disassembly Engine */
10
/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2015 */
11
12
#include <stdio.h>  // debug
13
#include <capstone/platform.h>
14
15
16
/// printInstruction - This method is automatically generated by tablegen
17
/// from the instruction set description.
18
static void printInstruction(MCInst *MI, SStream *O, MCRegisterInfo *MRI)
19
84.0k
{
20
84.0k
  static const uint32_t OpInfo[] = {
21
84.0k
    0U, // PHI
22
84.0k
    0U, // INLINEASM
23
84.0k
    0U, // CFI_INSTRUCTION
24
84.0k
    0U, // EH_LABEL
25
84.0k
    0U, // GC_LABEL
26
84.0k
    0U, // KILL
27
84.0k
    0U, // EXTRACT_SUBREG
28
84.0k
    0U, // INSERT_SUBREG
29
84.0k
    0U, // IMPLICIT_DEF
30
84.0k
    0U, // SUBREG_TO_REG
31
84.0k
    0U, // COPY_TO_REGCLASS
32
84.0k
    665U, // DBG_VALUE
33
84.0k
    0U, // REG_SEQUENCE
34
84.0k
    0U, // COPY
35
84.0k
    658U, // BUNDLE
36
84.0k
    687U, // LIFETIME_START
37
84.0k
    645U, // LIFETIME_END
38
84.0k
    0U, // STACKMAP
39
84.0k
    0U, // PATCHPOINT
40
84.0k
    0U, // LOAD_STACK_GUARD
41
84.0k
    0U, // STATEPOINT
42
84.0k
    0U, // FRAME_ALLOC
43
84.0k
    2250U,  // ADD_2rus
44
84.0k
    2250U,  // ADD_3r
45
84.0k
    10363U, // ADJCALLSTACKDOWN
46
84.0k
    10383U, // ADJCALLSTACKUP
47
84.0k
    2361840U, // ANDNOT_2r
48
84.0k
    2255U,  // AND_3r
49
84.0k
    2404U,  // ASHR_l2rus
50
84.0k
    2404U,  // ASHR_l3r
51
84.0k
    10769U, // BAU_1r
52
84.0k
    2099777U, // BITREV_l2r
53
84.0k
    19161U, // BLACP_lu10
54
84.0k
    19161U, // BLACP_u10
55
84.0k
    10672U, // BLAT_lu6
56
84.0k
    10672U, // BLAT_u6
57
84.0k
    10425U, // BLA_1r
58
84.0k
    10510U, // BLRB_lu10
59
84.0k
    10510U, // BLRB_u10
60
84.0k
    10510U, // BLRF_lu10
61
84.0k
    10510U, // BLRF_u10
62
84.0k
    2099418U, // BRBF_lru6
63
84.0k
    2099418U, // BRBF_ru6
64
84.0k
    2099638U, // BRBT_lru6
65
84.0k
    2099638U, // BRBT_ru6
66
84.0k
    10774U, // BRBU_lu6
67
84.0k
    10774U, // BRBU_u6
68
84.0k
    2099418U, // BRFF_lru6
69
84.0k
    2099418U, // BRFF_ru6
70
84.0k
    2099638U, // BRFT_lru6
71
84.0k
    2099638U, // BRFT_ru6
72
84.0k
    10774U, // BRFU_lu6
73
84.0k
    10774U, // BRFU_u6
74
84.0k
    10791U, // BRU_1r
75
84.0k
    553511U,  // BR_JT
76
84.0k
    815655U,  // BR_JT32
77
84.0k
    2099768U, // BYTEREV_l2r
78
84.0k
    2132815U, // CHKCT_2r
79
84.0k
    2132815U, // CHKCT_rus
80
84.0k
    1163U,  // CLRE_0R
81
84.0k
    19301U, // CLRPT_1R
82
84.0k
    10614U, // CLRSR_branch_lu6
83
84.0k
    10614U, // CLRSR_branch_u6
84
84.0k
    10614U, // CLRSR_lu6
85
84.0k
    10614U, // CLRSR_u6
86
84.0k
    2099807U, // CLZ_l2r
87
84.0k
    5247047U, // CRC8_l4r
88
84.0k
    17041459U,  // CRC_l3r
89
84.0k
    1168U,  // DCALL_0R
90
84.0k
    1200U,  // DENTSP_0R
91
84.0k
    10488U, // DGETREG_1r
92
84.0k
    2474U,  // DIVS_l3r
93
84.0k
    2610U,  // DIVU_l3r
94
84.0k
    1207U,  // DRESTSP_0R
95
84.0k
    1242U,  // DRET_0R
96
84.0k
    10475U, // ECALLF_1r
97
84.0k
    10723U, // ECALLT_1r
98
84.0k
    19342U, // EDU_1r
99
84.0k
    6334686U, // EEF_2r
100
84.0k
    6334929U, // EET_2r
101
84.0k
    19351U, // EEU_1r
102
84.0k
    2099310U, // EH_RETURN
103
84.0k
    6334765U, // ENDIN_2r
104
84.0k
    10569U, // ENTSP_lu6
105
84.0k
    10569U, // ENTSP_u6
106
84.0k
    2400U,  // EQ_2rus
107
84.0k
    2400U,  // EQ_3r
108
84.0k
    10554U, // EXTDP_lu6
109
84.0k
    10554U, // EXTDP_u6
110
84.0k
    10585U, // EXTSP_lu6
111
84.0k
    10585U, // EXTSP_u6
112
84.0k
    10401U, // FRAME_TO_ARGS_OFFSET
113
84.0k
    19256U, // FREER_1r
114
84.0k
    1236U,  // FREET_0R
115
84.0k
    6334676U, // GETD_l2r
116
84.0k
    1139U,  // GETED_0R
117
84.0k
    1224U,  // GETET_0R
118
84.0k
    1151U,  // GETID_0R
119
84.0k
    1174U,  // GETKEP_0R
120
84.0k
    1187U,  // GETKSP_0R
121
84.0k
    6334772U, // GETN_l2r
122
84.0k
    51670U, // GETPS_l2r
123
84.0k
    2099588U, // GETR_rus
124
84.0k
    10252U, // GETSR_lu6
125
84.0k
    10252U, // GETSR_u6
126
84.0k
    6334968U, // GETST_2r
127
84.0k
    6334883U, // GETTS_2r
128
84.0k
    6334906U, // INCT_2r
129
84.0k
    62438U, // INITCP_2r
130
84.0k
    70630U, // INITDP_2r
131
84.0k
    78822U, // INITLR_l2r
132
84.0k
    87014U, // INITPC_2r
133
84.0k
    95206U, // INITSP_2r
134
84.0k
    8432212U, // INPW_l2rus
135
84.0k
    6596970U, // INSHR_2r
136
84.0k
    6334955U, // INT_2r
137
84.0k
    6334768U, // IN_2r
138
84.0k
    675U, // Int_MemBarrier
139
84.0k
    10528U, // KCALL_1r
140
84.0k
    10528U, // KCALL_lu6
141
84.0k
    10528U, // KCALL_u6
142
84.0k
    10568U, // KENTSP_lu6
143
84.0k
    10568U, // KENTSP_u6
144
84.0k
    10576U, // KRESTSP_lu6
145
84.0k
    10576U, // KRESTSP_u6
146
84.0k
    1247U,  // KRET_0R
147
84.0k
    45093065U,  // LADD_l5r
148
84.0k
    12585354U,  // LD16S_3r
149
84.0k
    12585483U,  // LD8U_3r
150
84.0k
    14682170U,  // LDA16B_l3r
151
84.0k
    12585018U,  // LDA16F_l3r
152
84.0k
    10241U, // LDAPB_lu10
153
84.0k
    10241U, // LDAPB_u10
154
84.0k
    10241U, // LDAPF_lu10
155
84.0k
    10241U, // LDAPF_lu10_ba
156
84.0k
    10241U, // LDAPF_u10
157
84.0k
    14682697U,  // LDAWB_l2rus
158
84.0k
    14682697U,  // LDAWB_l3r
159
84.0k
    19134U, // LDAWCP_lu6
160
84.0k
    19134U, // LDAWCP_u6
161
84.0k
    100937U,  // LDAWDP_lru6
162
84.0k
    100937U,  // LDAWDP_ru6
163
84.0k
    2099282U, // LDAWFI
164
84.0k
    12585545U,  // LDAWF_l2rus
165
84.0k
    12585545U,  // LDAWF_l3r
166
84.0k
    109129U,  // LDAWSP_lru6
167
84.0k
    109129U,  // LDAWSP_ru6
168
84.0k
    2099396U, // LDC_lru6
169
84.0k
    2099396U, // LDC_ru6
170
84.0k
    1105U,  // LDET_0R
171
84.0k
    184551985U, // LDIVU_l5r
172
84.0k
    1075U,  // LDSED_0R
173
84.0k
    1015U,  // LDSPC_0R
174
84.0k
    1045U,  // LDSSR_0R
175
84.0k
    117327U,  // LDWCP_lru6
176
84.0k
    19148U, // LDWCP_lu10
177
84.0k
    117327U,  // LDWCP_ru6
178
84.0k
    19148U, // LDWCP_u10
179
84.0k
    100943U,  // LDWDP_lru6
180
84.0k
    100943U,  // LDWDP_ru6
181
84.0k
    2099292U, // LDWFI
182
84.0k
    109135U,  // LDWSP_lru6
183
84.0k
    109135U,  // LDWSP_ru6
184
84.0k
    12585551U,  // LDW_2rus
185
84.0k
    12585551U,  // LDW_3r
186
84.0k
    268437799U, // LMUL_l6r
187
84.0k
    2462U,  // LSS_3r
188
84.0k
    45093054U,  // LSUB_l5r
189
84.0k
    2604U,  // LSU_3r
190
84.0k
    452987281U, // MACCS_l4r
191
84.0k
    452987418U, // MACCU_l4r
192
84.0k
    19224U, // MJOIN_1r
193
84.0k
    2099463U, // MKMSK_2r
194
84.0k
    2099463U, // MKMSK_rus
195
84.0k
    19169U, // MSYNC_1r
196
84.0k
    2344U,  // MUL_l3r
197
84.0k
    2099443U, // NEG
198
84.0k
    2099699U, // NOT
199
84.0k
    2418U,  // OR_3r
200
84.0k
    2132826U, // OUTCT_2r
201
84.0k
    2132826U, // OUTCT_rus
202
84.0k
    78681013U,  // OUTPW_l2rus
203
84.0k
    2136899U, // OUTSHR_2r
204
84.0k
    2132859U, // OUTT_2r
205
84.0k
    2132869U, // OUT_2r
206
84.0k
    6334721U, // PEEK_2r
207
84.0k
    2456U,  // REMS_l3r
208
84.0k
    2593U,  // REMU_l3r
209
84.0k
    10561U, // RETSP_lu6
210
84.0k
    10561U, // RETSP_u6
211
84.0k
    612U, // SELECT_CC
212
84.0k
    2132748U, // SETCLK_l2r
213
84.0k
    10264U, // SETCP_1r
214
84.0k
    2132728U, // SETC_l2r
215
84.0k
    2132728U, // SETC_lru6
216
84.0k
    2132728U, // SETC_ru6
217
84.0k
    10273U, // SETDP_1r
218
84.0k
    2132738U, // SETD_2r
219
84.0k
    125856U,  // SETEV_1r
220
84.0k
    632U, // SETKEP_0R
221
84.0k
    2132771U, // SETN_l2r
222
84.0k
    2132716U, // SETPSC_2r
223
84.0k
    2132951U, // SETPS_l2r
224
84.0k
    2132848U, // SETPT_2r
225
84.0k
    2132939U, // SETRDY_l2r
226
84.0k
    10282U, // SETSP_1r
227
84.0k
    10621U, // SETSR_branch_lu6
228
84.0k
    10621U, // SETSR_branch_u6
229
84.0k
    10621U, // SETSR_lu6
230
84.0k
    10621U, // SETSR_u6
231
84.0k
    2132928U, // SETTW_l2r
232
84.0k
    125867U,  // SETV_1r
233
84.0k
    2361855U, // SEXT_2r
234
84.0k
    2361855U, // SEXT_rus
235
84.0k
    2331U,  // SHL_2rus
236
84.0k
    2331U,  // SHL_3r
237
84.0k
    2405U,  // SHR_2rus
238
84.0k
    2405U,  // SHR_3r
239
84.0k
    1133U,  // SSYNC_0r
240
84.0k
    12585025U,  // ST16_l3r
241
84.0k
    12585037U,  // ST8_l3r
242
84.0k
    1119U,  // STET_0R
243
84.0k
    1090U,  // STSED_0R
244
84.0k
    1030U,  // STSPC_0R
245
84.0k
    1060U,  // STSSR_0R
246
84.0k
    100954U,  // STWDP_lru6
247
84.0k
    100954U,  // STWDP_ru6
248
84.0k
    2099301U, // STWFI
249
84.0k
    109146U,  // STWSP_lru6
250
84.0k
    109146U,  // STWSP_ru6
251
84.0k
    12585562U,  // STW_2rus
252
84.0k
    12585562U,  // STW_l3r
253
84.0k
    2239U,  // SUB_2rus
254
84.0k
    2239U,  // SUB_3r
255
84.0k
    19245U, // SYNCR_1r
256
84.0k
    6334912U, // TESTCT_2r
257
84.0k
    6334738U, // TESTLCL_l2r
258
84.0k
    6334920U, // TESTWCT_2r
259
84.0k
    2100415U, // TSETMR_2r
260
84.0k
    138207U,  // TSETR_3r
261
84.0k
    19438U, // TSTART_1R
262
84.0k
    10467U, // WAITEF_1R
263
84.0k
    10715U, // WAITET_1R
264
84.0k
    1252U,  // WAITEU_0R
265
84.0k
    2417U,  // XOR_l3r
266
84.0k
    2361861U, // ZEXT_2r
267
84.0k
    2361861U, // ZEXT_rus
268
84.0k
    0U
269
84.0k
  };
270
271
84.0k
  static const char AsmStrs[] = {
272
84.0k
  /* 0 */ 'l', 'd', 'a', 'p', 32, 'r', '1', '1', ',', 32, 0,
273
84.0k
  /* 11 */ 'g', 'e', 't', 's', 'r', 32, 'r', '1', '1', ',', 32, 0,
274
84.0k
  /* 23 */ 's', 'e', 't', 32, 'c', 'p', ',', 32, 0,
275
84.0k
  /* 32 */ 's', 'e', 't', 32, 'd', 'p', ',', 32, 0,
276
84.0k
  /* 41 */ 's', 'e', 't', 32, 's', 'p', ',', 32, 0,
277
84.0k
  /* 50 */ 'c', 'r', 'c', '3', '2', 32, 0,
278
84.0k
  /* 57 */ 'l', 'd', 'a', '1', '6', 32, 0,
279
84.0k
  /* 64 */ 's', 't', '1', '6', 32, 0,
280
84.0k
  /* 70 */ 'c', 'r', 'c', '8', 32, 0,
281
84.0k
  /* 76 */ 's', 't', '8', 32, 0,
282
84.0k
  /* 81 */ '#', 32, 'L', 'D', 'A', 'W', 'F', 'I', 32, 0,
283
84.0k
  /* 91 */ '#', 32, 'L', 'D', 'W', 'F', 'I', 32, 0,
284
84.0k
  /* 100 */ '#', 32, 'S', 'T', 'W', 'F', 'I', 32, 0,
285
84.0k
  /* 109 */ '#', 32, 'E', 'H', '_', 'R', 'E', 'T', 'U', 'R', 'N', 32, 0,
286
84.0k
  /* 122 */ '#', 32, 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'D', 'O', 'W', 'N', 32, 0,
287
84.0k
  /* 142 */ '#', 32, 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'U', 'P', 32, 0,
288
84.0k
  /* 160 */ '#', 32, 'F', 'R', 'A', 'M', 'E', '_', 'T', 'O', '_', 'A', 'R', 'G', 'S', '_', 'O', 'F', 'F', 'S', 'E', 'T', 32, 0,
289
84.0k
  /* 184 */ 'b', 'l', 'a', 32, 0,
290
84.0k
  /* 189 */ 'l', 's', 'u', 'b', 32, 0,
291
84.0k
  /* 195 */ 'l', 'd', 'c', 32, 0,
292
84.0k
  /* 200 */ 'l', 'a', 'd', 'd', 32, 0,
293
84.0k
  /* 206 */ 'a', 'n', 'd', 32, 0,
294
84.0k
  /* 211 */ 'g', 'e', 't', 'd', 32, 0,
295
84.0k
  /* 217 */ 'b', 'f', 32, 0,
296
84.0k
  /* 221 */ 'e', 'e', 'f', 32, 0,
297
84.0k
  /* 226 */ 'w', 'a', 'i', 't', 'e', 'f', 32, 0,
298
84.0k
  /* 234 */ 'e', 'c', 'a', 'l', 'l', 'f', 32, 0,
299
84.0k
  /* 242 */ 'n', 'e', 'g', 32, 0,
300
84.0k
  /* 247 */ 'd', 'g', 'e', 't', 'r', 'e', 'g', 32, 0,
301
84.0k
  /* 256 */ 'p', 'e', 'e', 'k', 32, 0,
302
84.0k
  /* 262 */ 'm', 'k', 'm', 's', 'k', 32, 0,
303
84.0k
  /* 269 */ 'b', 'l', 32, 0,
304
84.0k
  /* 273 */ 't', 'e', 's', 't', 'l', 'c', 'l', 32, 0,
305
84.0k
  /* 282 */ 's', 'h', 'l', 32, 0,
306
84.0k
  /* 287 */ 'k', 'c', 'a', 'l', 'l', 32, 0,
307
84.0k
  /* 294 */ 'l', 'm', 'u', 'l', 32, 0,
308
84.0k
  /* 300 */ 'e', 'n', 'd', 'i', 'n', 32, 0,
309
84.0k
  /* 307 */ 'g', 'e', 't', 'n', 32, 0,
310
84.0k
  /* 313 */ 'e', 'x', 't', 'd', 'p', 32, 0,
311
84.0k
  /* 320 */ 'r', 'e', 't', 's', 'p', 32, 0,
312
84.0k
  /* 327 */ 'k', 'e', 'n', 't', 's', 'p', 32, 0,
313
84.0k
  /* 335 */ 'k', 'r', 'e', 's', 't', 's', 'p', 32, 0,
314
84.0k
  /* 344 */ 'e', 'x', 't', 's', 'p', 32, 0,
315
84.0k
  /* 351 */ 'e', 'q', 32, 0,
316
84.0k
  /* 355 */ 'a', 's', 'h', 'r', 32, 0,
317
84.0k
  /* 361 */ 'i', 'n', 's', 'h', 'r', 32, 0,
318
84.0k
  /* 368 */ 'x', 'o', 'r', 32, 0,
319
84.0k
  /* 373 */ 'c', 'l', 'r', 's', 'r', 32, 0,
320
84.0k
  /* 380 */ 's', 'e', 't', 's', 'r', 32, 0,
321
84.0k
  /* 387 */ 'g', 'e', 't', 'r', 32, 0,
322
84.0k
  /* 393 */ 'l', 'd', '1', '6', 's', 32, 0,
323
84.0k
  /* 400 */ 'm', 'a', 'c', 'c', 's', 32, 0,
324
84.0k
  /* 407 */ 'r', 'e', 'm', 's', 32, 0,
325
84.0k
  /* 413 */ 'l', 's', 's', 32, 0,
326
84.0k
  /* 418 */ 'g', 'e', 't', 't', 's', 32, 0,
327
84.0k
  /* 425 */ 'd', 'i', 'v', 's', 32, 0,
328
84.0k
  /* 431 */ 'b', 'l', 'a', 't', 32, 0,
329
84.0k
  /* 437 */ 'b', 't', 32, 0,
330
84.0k
  /* 441 */ 'i', 'n', 'c', 't', 32, 0,
331
84.0k
  /* 447 */ 't', 'e', 's', 't', 'c', 't', 32, 0,
332
84.0k
  /* 455 */ 't', 'e', 's', 't', 'w', 'c', 't', 32, 0,
333
84.0k
  /* 464 */ 'e', 'e', 't', 32, 0,
334
84.0k
  /* 469 */ 'g', 'e', 't', 32, 0,
335
84.0k
  /* 474 */ 'w', 'a', 'i', 't', 'e', 't', 32, 0,
336
84.0k
  /* 482 */ 'e', 'c', 'a', 'l', 'l', 't', 32, 0,
337
84.0k
  /* 490 */ 'i', 'n', 't', 32, 0,
338
84.0k
  /* 495 */ 'a', 'n', 'd', 'n', 'o', 't', 32, 0,
339
84.0k
  /* 503 */ 'g', 'e', 't', 's', 't', 32, 0,
340
84.0k
  /* 510 */ 's', 'e', 'x', 't', 32, 0,
341
84.0k
  /* 516 */ 'z', 'e', 'x', 't', 32, 0,
342
84.0k
  /* 522 */ 'l', 'd', '8', 'u', 32, 0,
343
84.0k
  /* 528 */ 'b', 'a', 'u', 32, 0,
344
84.0k
  /* 533 */ 'b', 'u', 32, 0,
345
84.0k
  /* 537 */ 'm', 'a', 'c', 'c', 'u', 32, 0,
346
84.0k
  /* 544 */ 'r', 'e', 'm', 'u', 32, 0,
347
84.0k
  /* 550 */ 'b', 'r', 'u', 32, 0,
348
84.0k
  /* 555 */ 'l', 's', 'u', 32, 0,
349
84.0k
  /* 560 */ 'l', 'd', 'i', 'v', 'u', 32, 0,
350
84.0k
  /* 567 */ 'b', 'y', 't', 'e', 'r', 'e', 'v', 32, 0,
351
84.0k
  /* 576 */ 'b', 'i', 't', 'r', 'e', 'v', 32, 0,
352
84.0k
  /* 584 */ 'l', 'd', 'a', 'w', 32, 0,
353
84.0k
  /* 590 */ 'l', 'd', 'w', 32, 0,
354
84.0k
  /* 595 */ 'i', 'n', 'p', 'w', 32, 0,
355
84.0k
  /* 601 */ 's', 't', 'w', 32, 0,
356
84.0k
  /* 606 */ 'c', 'l', 'z', 32, 0,
357
84.0k
  /* 611 */ '#', 32, 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
358
84.0k
  /* 631 */ 's', 'e', 't', 32, 'k', 'e', 'p', ',', 32, 'r', '1', '1', 0,
359
84.0k
  /* 644 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'E', 'N', 'D', 0,
360
84.0k
  /* 657 */ 'B', 'U', 'N', 'D', 'L', 'E', 0,
361
84.0k
  /* 664 */ 'D', 'B', 'G', '_', 'V', 'A', 'L', 'U', 'E', 0,
362
84.0k
  /* 674 */ '#', 'M', 'E', 'M', 'B', 'A', 'R', 'R', 'I', 'E', 'R', 0,
363
84.0k
  /* 686 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'S', 'T', 'A', 'R', 'T', 0,
364
84.0k
  /* 701 */ 'l', 'd', 'a', 'w', 32, 'r', '1', '1', ',', 32, 'c', 'p', '[', 0,
365
84.0k
  /* 715 */ 'l', 'd', 'w', 32, 'r', '1', '1', ',', 32, 'c', 'p', '[', 0,
366
84.0k
  /* 728 */ 'b', 'l', 'a', 32, 'c', 'p', '[', 0,
367
84.0k
  /* 736 */ 'm', 's', 'y', 'n', 'c', 32, 'r', 'e', 's', '[', 0,
368
84.0k
  /* 747 */ 's', 'e', 't', 'p', 's', 'c', 32, 'r', 'e', 's', '[', 0,
369
84.0k
  /* 759 */ 's', 'e', 't', 'c', 32, 'r', 'e', 's', '[', 0,
370
84.0k
  /* 769 */ 's', 'e', 't', 'd', 32, 'r', 'e', 's', '[', 0,
371
84.0k
  /* 779 */ 's', 'e', 't', 'c', 'l', 'k', 32, 'r', 'e', 's', '[', 0,
372
84.0k
  /* 791 */ 'm', 'j', 'o', 'i', 'n', 32, 'r', 'e', 's', '[', 0,
373
84.0k
  /* 802 */ 's', 'e', 't', 'n', 32, 'r', 'e', 's', '[', 0,
374
84.0k
  /* 812 */ 's', 'y', 'n', 'c', 'r', 32, 'r', 'e', 's', '[', 0,
375
84.0k
  /* 823 */ 'f', 'r', 'e', 'e', 'r', 32, 'r', 'e', 's', '[', 0,
376
84.0k
  /* 834 */ 'o', 'u', 't', 's', 'h', 'r', 32, 'r', 'e', 's', '[', 0,
377
84.0k
  /* 846 */ 'c', 'h', 'k', 'c', 't', 32, 'r', 'e', 's', '[', 0,
378
84.0k
  /* 857 */ 'o', 'u', 't', 'c', 't', 32, 'r', 'e', 's', '[', 0,
379
84.0k
  /* 868 */ 'c', 'l', 'r', 'p', 't', 32, 'r', 'e', 's', '[', 0,
380
84.0k
  /* 879 */ 's', 'e', 't', 'p', 't', 32, 'r', 'e', 's', '[', 0,
381
84.0k
  /* 890 */ 'o', 'u', 't', 't', 32, 'r', 'e', 's', '[', 0,
382
84.0k
  /* 900 */ 'o', 'u', 't', 32, 'r', 'e', 's', '[', 0,
383
84.0k
  /* 909 */ 'e', 'd', 'u', 32, 'r', 'e', 's', '[', 0,
384
84.0k
  /* 918 */ 'e', 'e', 'u', 32, 'r', 'e', 's', '[', 0,
385
84.0k
  /* 927 */ 's', 'e', 't', 'e', 'v', 32, 'r', 'e', 's', '[', 0,
386
84.0k
  /* 938 */ 's', 'e', 't', 'v', 32, 'r', 'e', 's', '[', 0,
387
84.0k
  /* 948 */ 'o', 'u', 't', 'p', 'w', 32, 'r', 'e', 's', '[', 0,
388
84.0k
  /* 959 */ 's', 'e', 't', 't', 'w', 32, 'r', 'e', 's', '[', 0,
389
84.0k
  /* 970 */ 's', 'e', 't', 'r', 'd', 'y', 32, 'r', 'e', 's', '[', 0,
390
84.0k
  /* 982 */ 's', 'e', 't', 32, 'p', 's', '[', 0,
391
84.0k
  /* 990 */ 's', 'e', 't', 32, 't', '[', 0,
392
84.0k
  /* 997 */ 'i', 'n', 'i', 't', 32, 't', '[', 0,
393
84.0k
  /* 1005 */ 's', 't', 'a', 'r', 't', 32, 't', '[', 0,
394
84.0k
  /* 1014 */ 'l', 'd', 'w', 32, 's', 'p', 'c', ',', 32, 's', 'p', '[', '1', ']', 0,
395
84.0k
  /* 1029 */ 's', 't', 'w', 32, 's', 'p', 'c', ',', 32, 's', 'p', '[', '1', ']', 0,
396
84.0k
  /* 1044 */ 'l', 'd', 'w', 32, 's', 's', 'r', ',', 32, 's', 'p', '[', '2', ']', 0,
397
84.0k
  /* 1059 */ 's', 't', 'w', 32, 's', 's', 'r', ',', 32, 's', 'p', '[', '2', ']', 0,
398
84.0k
  /* 1074 */ 'l', 'd', 'w', 32, 's', 'e', 'd', ',', 32, 's', 'p', '[', '3', ']', 0,
399
84.0k
  /* 1089 */ 's', 't', 'w', 32, 's', 'e', 'd', ',', 32, 's', 'p', '[', '3', ']', 0,
400
84.0k
  /* 1104 */ 'l', 'd', 'w', 32, 'e', 't', ',', 32, 's', 'p', '[', '4', ']', 0,
401
84.0k
  /* 1118 */ 's', 't', 'w', 32, 'e', 't', ',', 32, 's', 'p', '[', '4', ']', 0,
402
84.0k
  /* 1132 */ 's', 's', 'y', 'n', 'c', 0,
403
84.0k
  /* 1138 */ 'g', 'e', 't', 32, 'r', '1', '1', ',', 32, 'e', 'd', 0,
404
84.0k
  /* 1150 */ 'g', 'e', 't', 32, 'r', '1', '1', ',', 32, 'i', 'd', 0,
405
84.0k
  /* 1162 */ 'c', 'l', 'r', 'e', 0,
406
84.0k
  /* 1167 */ 'd', 'c', 'a', 'l', 'l', 0,
407
84.0k
  /* 1173 */ 'g', 'e', 't', 32, 'r', '1', '1', ',', 32, 'k', 'e', 'p', 0,
408
84.0k
  /* 1186 */ 'g', 'e', 't', 32, 'r', '1', '1', ',', 32, 'k', 's', 'p', 0,
409
84.0k
  /* 1199 */ 'd', 'e', 'n', 't', 's', 'p', 0,
410
84.0k
  /* 1206 */ 'd', 'r', 'e', 's', 't', 's', 'p', 0,
411
84.0k
  /* 1214 */ 't', 's', 'e', 't', 'm', 'r', 32, 'r', 0,
412
84.0k
  /* 1223 */ 'g', 'e', 't', 32, 'r', '1', '1', ',', 32, 'e', 't', 0,
413
84.0k
  /* 1235 */ 'f', 'r', 'e', 'e', 't', 0,
414
84.0k
  /* 1241 */ 'd', 'r', 'e', 't', 0,
415
84.0k
  /* 1246 */ 'k', 'r', 'e', 't', 0,
416
84.0k
  /* 1251 */ 'w', 'a', 'i', 't', 'e', 'u', 0,
417
84.0k
  };
418
419
  // Emit the opcode for the instruction.
420
84.0k
  uint32_t Bits = OpInfo[MCInst_getOpcode(MI)];
421
  // assert(Bits != 0 && "Cannot print this instruction.");
422
84.0k
#ifndef CAPSTONE_DIET
423
84.0k
  SStream_concat0(O, AsmStrs+(Bits & 2047)-1);
424
84.0k
#endif
425
426
427
84.0k
  if (strchr((const char *)AsmStrs+(Bits & 2047)-1, '[')) {
428
13.8k
    set_mem_access(MI, true, 0);
429
13.8k
  }
430
431
  // Fragment 0 encoded into 2 bits for 4 unique commands.
432
  //printf(">>%s\n", AsmStrs+(Bits & 2047)-1);
433
  //printf("Frag-0: %u\n", (Bits >> 11) & 3);
434
84.0k
  switch ((uint32_t)((Bits >> 11) & 3)) {
435
0
  default:   // unreachable.
436
3.16k
  case 0:
437
    // DBG_VALUE, BUNDLE, LIFETIME_START, LIFETIME_END, CLRE_0R, DCALL_0R, DE...
438
    // already done. this means we have to extract details out ourself.
439
3.16k
    XCore_insn_extract(MI, (const char *)AsmStrs+(Bits & 2047)-1);
440
3.16k
    return;
441
0
    break;
442
75.0k
  case 1:
443
    // ADD_2rus, ADD_3r, ADJCALLSTACKDOWN, ADJCALLSTACKUP, ANDNOT_2r, AND_3r,...
444
75.0k
    printOperand(MI, 0, O); 
445
75.0k
    break;
446
4.61k
  case 2:
447
    // BR_JT, BR_JT32, CRC8_l4r, INITCP_2r, INITDP_2r, INITLR_l2r, INITPC_2r,...
448
4.61k
    printOperand(MI, 1, O); 
449
4.61k
    break;
450
1.21k
  case 3:
451
    // OUTSHR_2r, TSETR_3r
452
1.21k
    printOperand(MI, 2, O); 
453
1.21k
    break;
454
84.0k
  }
455
456
457
  // Fragment 1 encoded into 5 bits for 17 unique commands.
458
  //printf("Frag-1: %u\n", (Bits >> 13) & 31);
459
80.8k
  switch ((uint32_t)((Bits >> 13) & 31)) {
460
0
  default:   // unreachable.
461
52.8k
  case 0:
462
    // ADD_2rus, ADD_3r, ANDNOT_2r, AND_3r, ASHR_l2rus, ASHR_l3r, BITREV_l2r,...
463
52.8k
    SStream_concat0(O, ", "); 
464
52.8k
    break;
465
5.43k
  case 1:
466
    // ADJCALLSTACKDOWN, ADJCALLSTACKUP, BAU_1r, BLAT_lu6, BLAT_u6, BLA_1r, B...
467
5.43k
    return;
468
0
    break;
469
2.94k
  case 2:
470
    // BLACP_lu10, BLACP_u10, CLRPT_1R, EDU_1r, EEU_1r, FREER_1r, LDAWCP_lu6,...
471
2.94k
    SStream_concat0(O, "]"); 
472
2.94k
    set_mem_access(MI, false, 0);
473
2.94k
    return;
474
0
    break;
475
0
  case 3:
476
    // BR_JT, BR_JT32
477
0
    SStream_concat0(O, "\n"); 
478
0
    break;
479
3.98k
  case 4:
480
    // CHKCT_2r, CHKCT_rus, OUTCT_2r, OUTCT_rus, OUTPW_l2rus, OUTSHR_2r, OUTT...
481
3.98k
    SStream_concat0(O, "], "); 
482
3.98k
    set_mem_access(MI, false, 0);
483
3.98k
    break;
484
2.39k
  case 5:
485
    // EEF_2r, EET_2r, ENDIN_2r, GETD_l2r, GETN_l2r, GETST_2r, GETTS_2r, INCT...
486
2.39k
    SStream_concat0(O, ", res["); 
487
2.39k
    set_mem_access(MI, true, 0);
488
2.39k
    break;
489
170
  case 6:
490
    // GETPS_l2r
491
170
    SStream_concat0(O, ", ps["); 
492
170
    set_mem_access(MI, true, 0);
493
170
    printOperand(MI, 1, O); 
494
170
    SStream_concat0(O, "]"); 
495
170
    set_mem_access(MI, false, 0);
496
170
    return;
497
0
    break;
498
354
  case 7:
499
    // INITCP_2r
500
354
    SStream_concat0(O, "]:cp, "); 
501
354
    set_mem_access(MI, false, XCORE_REG_CP);
502
354
    printOperand(MI, 0, O); 
503
354
    return;
504
0
    break;
505
1.52k
  case 8:
506
    // INITDP_2r
507
1.52k
    SStream_concat0(O, "]:dp, "); 
508
1.52k
    set_mem_access(MI, false, XCORE_REG_DP);
509
1.52k
    printOperand(MI, 0, O); 
510
1.52k
    return;
511
0
    break;
512
132
  case 9:
513
    // INITLR_l2r
514
132
    SStream_concat0(O, "]:lr, "); 
515
132
    set_mem_access(MI, false, XCORE_REG_LR);
516
132
    printOperand(MI, 0, O); 
517
132
    return;
518
0
    break;
519
948
  case 10:
520
    // INITPC_2r
521
948
    SStream_concat0(O, "]:pc, "); 
522
948
    set_mem_access(MI, false, XCORE_REG_PC);
523
948
    printOperand(MI, 0, O); 
524
948
    return;
525
0
    break;
526
735
  case 11:
527
    // INITSP_2r
528
735
    SStream_concat0(O, "]:sp, "); 
529
735
    set_mem_access(MI, false, XCORE_REG_SP);
530
735
    printOperand(MI, 0, O); 
531
735
    return;
532
0
    break;
533
2.65k
  case 12:
534
    // LDAWDP_lru6, LDAWDP_ru6, LDWDP_lru6, LDWDP_ru6, STWDP_lru6, STWDP_ru6
535
2.65k
    SStream_concat0(O, ", dp["); 
536
2.65k
    set_mem_access(MI, true, XCORE_REG_DP);
537
2.65k
    printOperand(MI, 1, O); 
538
2.65k
    SStream_concat0(O, "]"); 
539
2.65k
    set_mem_access(MI, false, 0);
540
2.65k
    return;
541
0
    break;
542
2.91k
  case 13:
543
    // LDAWSP_lru6, LDAWSP_ru6, LDWSP_lru6, LDWSP_ru6, STWSP_lru6, STWSP_ru6
544
2.91k
    SStream_concat0(O, ", sp["); 
545
2.91k
    set_mem_access(MI, true, XCORE_REG_SP);
546
2.91k
    printOperand(MI, 1, O); 
547
2.91k
    SStream_concat0(O, "]"); 
548
2.91k
    set_mem_access(MI, false, 0);
549
2.91k
    return;
550
0
    break;
551
2.54k
  case 14:
552
    // LDWCP_lru6, LDWCP_ru6
553
2.54k
    SStream_concat0(O, ", cp["); 
554
2.54k
    set_mem_access(MI, true, XCORE_REG_CP);
555
2.54k
    printOperand(MI, 1, O); 
556
2.54k
    SStream_concat0(O, "]"); 
557
2.54k
    set_mem_access(MI, false, 0);
558
2.54k
    return;
559
0
    break;
560
166
  case 15:
561
    // SETEV_1r, SETV_1r
562
166
    SStream_concat0(O, "], r11"); 
563
166
    set_mem_access(MI, false, 0);
564
166
    return;
565
0
    break;
566
1.19k
  case 16:
567
    // TSETR_3r
568
1.19k
    SStream_concat0(O, "]:r"); 
569
1.19k
    set_mem_access(MI, false, 0);
570
1.19k
    printOperand(MI, 0, O); 
571
1.19k
    SStream_concat0(O, ", "); 
572
1.19k
    printOperand(MI, 1, O); 
573
1.19k
    return;
574
0
    break;
575
80.8k
  }
576
577
578
  // Fragment 2 encoded into 3 bits for 5 unique commands.
579
  //printf("Frag-2: %u\n", (Bits >> 18) & 7);
580
59.1k
  switch ((uint32_t)((Bits >> 18) & 7)) {
581
0
  default:   // unreachable.
582
54.6k
  case 0:
583
    // ADD_2rus, ADD_3r, AND_3r, ASHR_l2rus, ASHR_l3r, BITREV_l2r, BRBF_lru6,...
584
54.6k
    printOperand(MI, 1, O); 
585
54.6k
    break;
586
3.59k
  case 1:
587
    // ANDNOT_2r, CRC_l3r, INSHR_2r, SEXT_2r, SEXT_rus, ZEXT_2r, ZEXT_rus
588
3.59k
    printOperand(MI, 2, O); 
589
3.59k
    break;
590
0
  case 2:
591
    // BR_JT
592
0
    printInlineJT(MI, 0, O); 
593
0
    return;
594
0
    break;
595
0
  case 3:
596
    // BR_JT32
597
0
    printInlineJT32(MI, 0, O); 
598
0
    return;
599
0
    break;
600
921
  case 4:
601
    // CRC8_l4r, LADD_l5r, LSUB_l5r, OUTPW_l2rus
602
921
    printOperand(MI, 0, O); 
603
921
    SStream_concat0(O, ", "); 
604
921
    break;
605
59.1k
  }
606
607
608
  // Fragment 3 encoded into 3 bits for 8 unique commands.
609
  //printf("Frag-3: %u\n", (Bits >> 21) & 7);
610
59.1k
  switch ((uint32_t)((Bits >> 21) & 7)) {
611
0
  default:   // unreachable.
612
24.3k
  case 0:
613
    // ADD_2rus, ADD_3r, AND_3r, ASHR_l2rus, ASHR_l3r, CRC_l3r, DIVS_l3r, DIV...
614
24.3k
    SStream_concat0(O, ", "); 
615
24.3k
    break;
616
13.3k
  case 1:
617
    // ANDNOT_2r, BITREV_l2r, BRBF_lru6, BRBF_ru6, BRBT_lru6, BRBT_ru6, BRFF_...
618
13.3k
    return;
619
0
    break;
620
371
  case 2:
621
    // CRC8_l4r
622
371
    printOperand(MI, 3, O); 
623
371
    SStream_concat0(O, ", "); 
624
371
    printOperand(MI, 4, O); 
625
371
    return;
626
0
    break;
627
2.28k
  case 3:
628
    // EEF_2r, EET_2r, ENDIN_2r, GETD_l2r, GETN_l2r, GETST_2r, GETTS_2r, INCT...
629
2.28k
    SStream_concat0(O, "]"); 
630
2.28k
    set_mem_access(MI, false, 0);
631
2.28k
    return;
632
0
    break;
633
113
  case 4:
634
    // INPW_l2rus
635
113
    SStream_concat0(O, "], "); 
636
113
    set_mem_access(MI, false, 0);
637
113
    printOperand(MI, 2, O); 
638
113
    return;
639
0
    break;
640
550
  case 5:
641
    // LADD_l5r, LSUB_l5r, OUTPW_l2rus
642
550
    printOperand(MI, 2, O); 
643
550
    break;
644
17.3k
  case 6:
645
    // LD16S_3r, LD8U_3r, LDA16F_l3r, LDAWF_l2rus, LDAWF_l3r, LDW_2rus, LDW_3...
646
17.3k
    SStream_concat0(O, "["); 
647
17.3k
    set_mem_access(MI, true, 0xffff);
648
17.3k
    printOperand(MI, 2, O); 
649
17.3k
    SStream_concat0(O, "]"); 
650
17.3k
    set_mem_access(MI, false, 0);
651
17.3k
    return;
652
0
    break;
653
818
  case 7:
654
    // LDA16B_l3r, LDAWB_l2rus, LDAWB_l3r
655
818
    SStream_concat0(O, "[-"); 
656
818
    set_mem_access(MI, true, -0xffff);
657
818
    printOperand(MI, 2, O); 
658
818
    SStream_concat0(O, "]"); 
659
818
    set_mem_access(MI, false, 0);
660
818
    return;
661
0
    break;
662
59.1k
  }
663
664
665
  // Fragment 4 encoded into 3 bits for 5 unique commands.
666
  //printf("Frag-4: %u\n", (Bits >> 24) & 7);
667
24.9k
  switch ((uint32_t)((Bits >> 24) & 7)) {
668
0
  default:   // unreachable.
669
23.4k
  case 0:
670
    // ADD_2rus, ADD_3r, AND_3r, ASHR_l2rus, ASHR_l3r, DIVS_l3r, DIVU_l3r, EQ...
671
23.4k
    printOperand(MI, 2, O); 
672
23.4k
    break;
673
83
  case 1:
674
    // CRC_l3r
675
83
    printOperand(MI, 3, O); 
676
83
    return;
677
0
    break;
678
424
  case 2:
679
    // LADD_l5r, LSUB_l5r
680
424
    SStream_concat0(O, ", "); 
681
424
    printOperand(MI, 3, O); 
682
424
    SStream_concat0(O, ", "); 
683
424
    printOperand(MI, 4, O); 
684
424
    return;
685
0
    break;
686
790
  case 3:
687
    // LDIVU_l5r, MACCS_l4r, MACCU_l4r
688
790
    printOperand(MI, 4, O); 
689
790
    SStream_concat0(O, ", "); 
690
790
    break;
691
126
  case 4:
692
    // OUTPW_l2rus
693
126
    return;
694
0
    break;
695
24.9k
  }
696
697
698
  // Fragment 5 encoded into 2 bits for 4 unique commands.
699
  //printf("Frag-5: %u\n", (Bits >> 27) & 3);
700
24.2k
  switch ((uint32_t)((Bits >> 27) & 3)) {
701
0
  default:   // unreachable.
702
22.9k
  case 0:
703
    // ADD_2rus, ADD_3r, AND_3r, ASHR_l2rus, ASHR_l3r, DIVS_l3r, DIVU_l3r, EQ...
704
22.9k
    return;
705
0
    break;
706
442
  case 1:
707
    // LDIVU_l5r
708
442
    printOperand(MI, 2, O); 
709
442
    SStream_concat0(O, ", "); 
710
442
    printOperand(MI, 3, O); 
711
442
    return;
712
0
    break;
713
541
  case 2:
714
    // LMUL_l6r
715
541
    SStream_concat0(O, ", "); 
716
541
    printOperand(MI, 3, O); 
717
541
    SStream_concat0(O, ", "); 
718
541
    printOperand(MI, 4, O); 
719
541
    SStream_concat0(O, ", "); 
720
541
    printOperand(MI, 5, O); 
721
541
    return;
722
0
    break;
723
348
  case 3:
724
    // MACCS_l4r, MACCU_l4r
725
348
    printOperand(MI, 5, O); 
726
348
    return;
727
0
    break;
728
24.2k
  }
729
24.2k
}
730
731
732
/// getRegisterName - This method is automatically generated by tblgen
733
/// from the register set description.  This returns the assembler name
734
/// for the specified register.
735
static const char *getRegisterName(unsigned RegNo)
736
156k
{
737
  // assert(RegNo && RegNo < 17 && "Invalid register number!");
738
739
156k
#ifndef CAPSTONE_DIET
740
156k
  static const char AsmStrs[] = {
741
156k
  /* 0 */ 'r', '1', '0', 0,
742
156k
  /* 4 */ 'r', '0', 0,
743
156k
  /* 7 */ 'r', '1', '1', 0,
744
156k
  /* 11 */ 'r', '1', 0,
745
156k
  /* 14 */ 'r', '2', 0,
746
156k
  /* 17 */ 'r', '3', 0,
747
156k
  /* 20 */ 'r', '4', 0,
748
156k
  /* 23 */ 'r', '5', 0,
749
156k
  /* 26 */ 'r', '6', 0,
750
156k
  /* 29 */ 'r', '7', 0,
751
156k
  /* 32 */ 'r', '8', 0,
752
156k
  /* 35 */ 'r', '9', 0,
753
156k
  /* 38 */ 'c', 'p', 0,
754
156k
  /* 41 */ 'd', 'p', 0,
755
156k
  /* 44 */ 's', 'p', 0,
756
156k
  /* 47 */ 'l', 'r', 0,
757
156k
  };
758
759
156k
  static const uint8_t RegAsmOffset[] = {
760
156k
    38, 41, 47, 44, 4, 11, 14, 17, 20, 23, 26, 29, 32, 35, 
761
156k
    0, 7, 
762
156k
  };
763
764
  //int i;
765
  //for (i = 0; i < sizeof(RegAsmOffset); i++)
766
  //     printf("%s = %u\n", AsmStrs+RegAsmOffset[i], i + 1);
767
  //printf("*************************\n");
768
156k
  return AsmStrs+RegAsmOffset[RegNo-1];
769
#else
770
  return NULL;
771
#endif
772
156k
}