• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|*                                                                            *|
3|*Assembly Writer Source Fragment                                             *|
4|*                                                                            *|
5|* Automatically generated file, do not edit!                                 *|
6|*                                                                            *|
7\*===----------------------------------------------------------------------===*/
8
9#include <stdio.h>
10
11/// printInstruction - This method is automatically generated by tablegen
12/// from the instruction set description.
13static void printInstruction(MCInst *MI, SStream *O, MCRegisterInfo *MRI) {
14  static const uint32_t OpInfo[] = {
15    0U,	// PHI
16    0U,	// INLINEASM
17    0U,	// CFI_INSTRUCTION
18    0U,	// EH_LABEL
19    0U,	// GC_LABEL
20    0U,	// KILL
21    0U,	// EXTRACT_SUBREG
22    0U,	// INSERT_SUBREG
23    0U,	// IMPLICIT_DEF
24    0U,	// SUBREG_TO_REG
25    0U,	// COPY_TO_REGCLASS
26    882U,	// DBG_VALUE
27    0U,	// REG_SEQUENCE
28    0U,	// COPY
29    875U,	// BUNDLE
30    904U,	// LIFETIME_START
31    862U,	// LIFETIME_END
32    0U,	// STACKMAP
33    0U,	// PATCHPOINT
34    0U,	// LOAD_STACK_GUARD
35    0U,	// STATEPOINT
36    0U,	// FRAME_ALLOC
37    1126U,	// ABS2_l2_rr
38    10847U,	// ABS_l1_pp
39    1631U,	// ABS_l1_rr
40    85006U,	// ADD2_d2_rrr
41    85006U,	// ADD2_l1_rrr_x2
42    85006U,	// ADD2_s1_rrr
43    85171U,	// ADD4_l1_rrr_x2
44    91479U,	// ADDAB_d1_rir
45    91479U,	// ADDAB_d1_rrr
46    91541U,	// ADDAD_d1_rir
47    91541U,	// ADDAD_d1_rrr
48    91577U,	// ADDAH_d1_rir
49    91577U,	// ADDAH_d1_rrr
50    91937U,	// ADDAW_d1_rir
51    91937U,	// ADDAW_d1_rrr
52    132488U,	// ADDKPC_s3_iir
53    1518U,	// ADDK_s2_ir
54    233140U,	// ADDU_l1_rpp
55    216756U,	// ADDU_l1_rrp_x2
56    91555U,	// ADD_d1_rir
57    91555U,	// ADD_d1_rrr
58    91555U,	// ADD_d2_rir
59    85411U,	// ADD_d2_rrr
60    232867U,	// ADD_l1_ipp
61    85411U,	// ADD_l1_irr
62    232867U,	// ADD_l1_rpp
63    216483U,	// ADD_l1_rrp_x2
64    85411U,	// ADD_l1_rrr_x2
65    85411U,	// ADD_s1_irr
66    85411U,	// ADD_s1_rrr
67    85542U,	// ANDN_d2_rrr
68    85542U,	// ANDN_l1_rrr_x2
69    85542U,	// ANDN_s4_rrr
70    85416U,	// AND_d2_rir
71    85416U,	// AND_d2_rrr
72    85416U,	// AND_l1_irr
73    85416U,	// AND_l1_rrr_x2
74    85416U,	// AND_s1_irr
75    85416U,	// AND_s1_rrr
76    85019U,	// AVG2_m1_rrr
77    85232U,	// AVGU4_m1_rrr
78    1410U,	// BDEC_s8_ir
79    1196U,	// BITC4_m2_rr
80    307756U,	// BNOP_s10_ri
81    307756U,	// BNOP_s9_ii
82    1654U,	// BPOS_s8_ir
83    53588U,	// B_s5_i
84    53588U,	// B_s6_r
85    892U,	// B_s7_irp
86    898U,	// B_s7_nrp
87    353870U,	// CLR_s15_riir
88    91726U,	// CLR_s1_rrr
89    85080U,	// CMPEQ2_s1_rrr
90    85207U,	// CMPEQ4_s1_rrr
91    101938U,	// CMPEQ_l1_ipr
92    85554U,	// CMPEQ_l1_irr
93    101938U,	// CMPEQ_l1_rpr
94    85554U,	// CMPEQ_l1_rrr_x2
95    85109U,	// CMPGT2_s1_rrr
96    85298U,	// CMPGTU4_s1_rrr
97    102037U,	// CMPGT_l1_ipr
98    85653U,	// CMPGT_l1_irr
99    102037U,	// CMPGT_l1_rpr
100    85653U,	// CMPGT_l1_rrr_x2
101    102150U,	// CMPLTU_l1_ipr
102    85766U,	// CMPLTU_l1_irr
103    102150U,	// CMPLTU_l1_rpr
104    85766U,	// CMPLTU_l1_rrr_x2
105    102044U,	// CMPLT_l1_ipr
106    85660U,	// CMPLT_l1_irr
107    102044U,	// CMPLT_l1_rpr
108    85660U,	// CMPLT_l1_rrr_x2
109    1529U,	// DEAL_m2_rr
110    216145U,	// DOTP2_m1_rrp
111    85073U,	// DOTP2_m1_rrr
112    85065U,	// DOTPN2_m1_rrr
113    85124U,	// DOTPNRSU2_m1_rrr
114    85135U,	// DOTPRSU2_m1_rrr
115    85281U,	// DOTPSU4_m1_rrr
116    85273U,	// DOTPU4_m1_rrr
117    354062U,	// EXTU_s15_riir
118    91918U,	// EXTU_s1_rrr
119    353955U,	// EXT_s15_riir
120    91811U,	// EXT_s1_rrr
121    102142U,	// GMPGTU_l1_ipr
122    85758U,	// GMPGTU_l1_irr
123    102142U,	// GMPGTU_l1_rpr
124    85758U,	// GMPGTU_l1_rrr_x2
125    85321U,	// GMPY4_m1_rrr
126    5800U,	// LDBU_d5_mr
127    6824U,	// LDBU_d6_mr
128    5470U,	// LDB_d5_mr
129    6494U,	// LDB_d6_mr
130    14120U,	// LDDW_d7_mp
131    5818U,	// LDHU_d5_mr
132    6842U,	// LDHU_d6_mr
133    5568U,	// LDH_d5_mr
134    6592U,	// LDH_d6_mr
135    14131U,	// LDNDW_d8_mp
136    5959U,	// LDNW_d5_mr
137    5934U,	// LDW_d5_mr
138    6958U,	// LDW_d6_mr
139    85404U,	// LMBD_l1_irr
140    85404U,	// LMBD_l1_rrr_x2
141    85145U,	// MAX2_l1_rrr_x2
142    85307U,	// MAXU4_l1_rrr_x2
143    85059U,	// MIN2_l1_rrr_x2
144    85266U,	// MINU4_l1_rrr_x2
145    216224U,	// MPY2_m1_rrp
146    85566U,	// MPYHIR_m1_rrr
147    216544U,	// MPYHI_m1_rrp
148    85720U,	// MPYHLU_m4_rrr
149    85516U,	// MPYHL_m4_rrr
150    85728U,	// MPYHSLU_m4_rrr
151    85743U,	// MPYHSU_m4_rrr
152    85613U,	// MPYHULS_m4_rrr
153    85628U,	// MPYHUS_m4_rrr
154    85713U,	// MPYHU_m4_rrr
155    85466U,	// MPYH_m4_rrr
156    85696U,	// MPYLHU_m4_rrr
157    85453U,	// MPYLH_m4_rrr
158    85574U,	// MPYLIR_m1_rrr
159    216551U,	// MPYLI_m1_rrp
160    85704U,	// MPYLSHU_m4_rrr
161    85604U,	// MPYLUHS_m4_rrr
162    216362U,	// MPYSU4_m1_rrp
163    85751U,	// MPYSU_m4_irr
164    85751U,	// MPYSU_m4_rrr
165    216386U,	// MPYU4_m1_rrp
166    85636U,	// MPYUS_m4_rrr
167    85780U,	// MPYU_m4_rrr
168    85849U,	// MPY_m4_irr
169    85849U,	// MPY_m4_rrr
170    1424U,	// MVC_s1_rr
171    1424U,	// MVC_s1_rr2
172    1453U,	// MVD_m2_rr
173    1477U,	// MVKLH_s12_ir
174    1524U,	// MVKL_s12_ir
175    1524U,	// MVK_d1_rr
176    1524U,	// MVK_l2_ir
177    53249U,	// NOP_n
178    2592U,	// NORM_l1_pr
179    1568U,	// NORM_l1_rr
180    85588U,	// OR_d2_rir
181    85588U,	// OR_d2_rrr
182    85588U,	// OR_l1_irr
183    85588U,	// OR_l1_rrr_x2
184    85588U,	// OR_s1_irr
185    85588U,	// OR_s1_rrr
186    85043U,	// PACK2_l1_rrr_x2
187    85043U,	// PACK2_s4_rrr
188    85025U,	// PACKH2_l1_rrr_x2
189    85025U,	// PACKH2_s1_rrr
190    85184U,	// PACKH4_l1_rrr_x2
191    85050U,	// PACKHL2_l1_rrr_x2
192    85050U,	// PACKHL2_s1_rrr
193    85192U,	// PACKL4_l1_rrr_x2
194    85033U,	// PACKLH2_l1_rrr_x2
195    85033U,	// PACKLH2_s1_rrr
196    91667U,	// ROTL_m1_rir
197    91667U,	// ROTL_m1_rrr
198    85005U,	// SADD2_s4_rrr
199    85224U,	// SADDU4_s4_rrr
200    85100U,	// SADDUS2_s4_rrr
201    232866U,	// SADD_l1_ipp
202    85410U,	// SADD_l1_irr
203    232866U,	// SADD_l1_rpp
204    85410U,	// SADD_l1_rrr_x2
205    85410U,	// SADD_s1_rrr
206    2699U,	// SAT_l1_pr
207    353936U,	// SET_s15_riir
208    91792U,	// SET_s1_rrr
209    1535U,	// SHFL_m2_rr
210    85347U,	// SHLMB_l1_rrr_x2
211    85347U,	// SHLMB_s4_rrr
212    223750U,	// SHL_s1_pip
213    223750U,	// SHL_s1_prp
214    222726U,	// SHL_s1_rip
215    91654U,	// SHL_s1_rir
216    222726U,	// SHL_s1_rrp
217    91654U,	// SHL_s1_rrr
218    91232U,	// SHR2_s1_rir
219    91232U,	// SHR2_s4_rrr
220    85354U,	// SHRMB_l1_rrr_x2
221    85354U,	// SHRMB_s4_rrr
222    91261U,	// SHRU2_s1_rir
223    91261U,	// SHRU2_s4_rrr
224    223977U,	// SHRU_s1_pip
225    223977U,	// SHRU_s1_prp
226    91881U,	// SHRU_s1_rir
227    91881U,	// SHRU_s1_rrr
228    223801U,	// SHR_s1_pip
229    223801U,	// SHR_s1_prp
230    91705U,	// SHR_s1_rir
231    91705U,	// SHR_s1_rrr
232    216223U,	// SMPY2_m1_rrp
233    85515U,	// SMPYHL_m4_rrr
234    85465U,	// SMPYH_m4_rrr
235    85452U,	// SMPYLH_m4_rrr
236    85848U,	// SMPY_m4_rrr
237    85042U,	// SPACK2_s4_rrr
238    85248U,	// SPACKU4_s4_rrr
239    91653U,	// SSHL_s1_rir
240    91653U,	// SSHL_s1_rrr
241    85529U,	// SSHVL_m1_rrr
242    85592U,	// SSHVR_m1_rrr
243    232822U,	// SSUB_l1_ipp
244    85366U,	// SSUB_l1_irr
245    85366U,	// SSUB_l1_rrr_x1
246    85366U,	// SSUB_l1_rrr_x2
247    438641U,	// STB_d5_rm
248    504177U,	// STB_d6_rm
249    8001U,	// STDW_d7_pm
250    438740U,	// STH_d5_rm
251    504276U,	// STH_d6_rm
252    7994U,	// STNDW_d8_pm
253    439117U,	// STNW_d5_rm
254    439123U,	// STW_d5_rm
255    504659U,	// STW_d6_rm
256    84999U,	// SUB2_d2_rrr
257    84999U,	// SUB2_l1_rrr_x2
258    84999U,	// SUB2_s1_rrr
259    85158U,	// SUB4_l1_rrr_x2
260    85215U,	// SUBABS4_l1_rrr_x2
261    91472U,	// SUBAB_d1_rir
262    91472U,	// SUBAB_d1_rrr
263    91472U,	// SUBAH_d1_rir
264    91570U,	// SUBAH_d1_rrr
265    91472U,	// SUBAW_d1_rir
266    91930U,	// SUBAW_d1_rrr
267    85372U,	// SUBC_l1_rrr_x2
268    216750U,	// SUBU_l1_rrp_x1
269    216750U,	// SUBU_l1_rrp_x2
270    91511U,	// SUB_d1_rir
271    91511U,	// SUB_d1_rrr
272    85367U,	// SUB_d2_rrr
273    232823U,	// SUB_l1_ipp
274    85367U,	// SUB_l1_irr
275    216439U,	// SUB_l1_rrp_x1
276    216439U,	// SUB_l1_rrp_x2
277    85367U,	// SUB_l1_rrr_x1
278    85367U,	// SUB_l1_rrr_x2
279    85367U,	// SUB_s1_irr
280    85367U,	// SUB_s1_rrr
281    91511U,	// SUB_s4_rrr
282    1232U,	// SWAP4_l2_rr
283    1271U,	// UNPKHU4_l2_rr
284    1271U,	// UNPKHU4_s14_rr
285    1289U,	// UNPKLU4_l2_rr
286    1289U,	// UNPKLU4_s14_rr
287    85587U,	// XOR_d2_rir
288    85587U,	// XOR_d2_rrr
289    85587U,	// XOR_l1_irr
290    85587U,	// XOR_l1_rrr_x2
291    85587U,	// XOR_s1_irr
292    85587U,	// XOR_s1_rrr
293    1044U,	// XPND2_m2_rr
294    1209U,	// XPND4_m2_rr
295    0U
296  };
297
298  static char AsmStrs[] = {
299  /* 0 */ 'n', 'o', 'p', 9, 9, 0,
300  /* 6 */ 's', 'u', 'b', '2', 9, 0,
301  /* 12 */ 's', 'a', 'd', 'd', '2', 9, 0,
302  /* 19 */ 'x', 'p', 'n', 'd', '2', 9, 0,
303  /* 26 */ 'a', 'v', 'g', '2', 9, 0,
304  /* 32 */ 'p', 'a', 'c', 'k', 'h', '2', 9, 0,
305  /* 40 */ 'p', 'a', 'c', 'k', 'l', 'h', '2', 9, 0,
306  /* 49 */ 's', 'p', 'a', 'c', 'k', '2', 9, 0,
307  /* 57 */ 'p', 'a', 'c', 'k', 'h', 'l', '2', 9, 0,
308  /* 66 */ 'm', 'i', 'n', '2', 9, 0,
309  /* 72 */ 'd', 'o', 't', 'p', 'n', '2', 9, 0,
310  /* 80 */ 'd', 'o', 't', 'p', '2', 9, 0,
311  /* 87 */ 'c', 'm', 'p', 'e', 'q', '2', 9, 0,
312  /* 95 */ 's', 'h', 'r', '2', 9, 0,
313  /* 101 */ 'a', 'b', 's', '2', 9, 0,
314  /* 107 */ 's', 'a', 'd', 'd', 'u', 's', '2', 9, 0,
315  /* 116 */ 'c', 'm', 'p', 'g', 't', '2', 9, 0,
316  /* 124 */ 's', 'h', 'r', 'u', '2', 9, 0,
317  /* 131 */ 'd', 'o', 't', 'p', 'n', 'r', 's', 'u', '2', 9, 0,
318  /* 142 */ 'd', 'o', 't', 'p', 'r', 's', 'u', '2', 9, 0,
319  /* 152 */ 'm', 'a', 'x', '2', 9, 0,
320  /* 158 */ 's', 'm', 'p', 'y', '2', 9, 0,
321  /* 165 */ 's', 'u', 'b', '4', 9, 0,
322  /* 171 */ 'b', 'i', 't', 'c', '4', 9, 0,
323  /* 178 */ 'a', 'd', 'd', '4', 9, 0,
324  /* 184 */ 'x', 'p', 'n', 'd', '4', 9, 0,
325  /* 191 */ 'p', 'a', 'c', 'k', 'h', '4', 9, 0,
326  /* 199 */ 'p', 'a', 'c', 'k', 'l', '4', 9, 0,
327  /* 207 */ 's', 'w', 'a', 'p', '4', 9, 0,
328  /* 214 */ 'c', 'm', 'p', 'e', 'q', '4', 9, 0,
329  /* 222 */ 's', 'u', 'b', 'a', 'b', 's', '4', 9, 0,
330  /* 231 */ 's', 'a', 'd', 'd', 'u', '4', 9, 0,
331  /* 239 */ 'a', 'v', 'g', 'u', '4', 9, 0,
332  /* 246 */ 'u', 'n', 'p', 'k', 'h', 'u', '4', 9, 0,
333  /* 255 */ 's', 'p', 'a', 'c', 'k', 'u', '4', 9, 0,
334  /* 264 */ 'u', 'n', 'p', 'k', 'l', 'u', '4', 9, 0,
335  /* 273 */ 'm', 'i', 'n', 'u', '4', 9, 0,
336  /* 280 */ 'd', 'o', 't', 'p', 'u', '4', 9, 0,
337  /* 288 */ 'd', 'o', 't', 'p', 's', 'u', '4', 9, 0,
338  /* 297 */ 'm', 'p', 'y', 's', 'u', '4', 9, 0,
339  /* 305 */ 'c', 'm', 'p', 'g', 't', 'u', '4', 9, 0,
340  /* 314 */ 'm', 'a', 'x', 'u', '4', 9, 0,
341  /* 321 */ 'm', 'p', 'y', 'u', '4', 9, 0,
342  /* 328 */ 'g', 'm', 'p', 'y', '4', 9, 0,
343  /* 335 */ 's', 'u', 'b', 'a', 'b', 9, 0,
344  /* 342 */ 'a', 'd', 'd', 'a', 'b', 9, 0,
345  /* 349 */ 'l', 'd', 'b', 9, 0,
346  /* 354 */ 's', 'h', 'l', 'm', 'b', 9, 0,
347  /* 361 */ 's', 'h', 'r', 'm', 'b', 9, 0,
348  /* 368 */ 's', 't', 'b', 9, 0,
349  /* 373 */ 's', 's', 'u', 'b', 9, 0,
350  /* 379 */ 's', 'u', 'b', 'c', 9, 0,
351  /* 385 */ 'b', 'd', 'e', 'c', 9, 0,
352  /* 391 */ 'a', 'd', 'd', 'k', 'p', 'c', 9, 0,
353  /* 399 */ 'm', 'v', 'c', 9, 0,
354  /* 404 */ 'a', 'd', 'd', 'a', 'd', 9, 0,
355  /* 411 */ 'l', 'm', 'b', 'd', 9, 0,
356  /* 417 */ 's', 'a', 'd', 'd', 9, 0,
357  /* 423 */ 'a', 'n', 'd', 9, 0,
358  /* 428 */ 'm', 'v', 'd', 9, 0,
359  /* 433 */ 's', 'u', 'b', 'a', 'h', 9, 0,
360  /* 440 */ 'a', 'd', 'd', 'a', 'h', 9, 0,
361  /* 447 */ 'l', 'd', 'h', 9, 0,
362  /* 452 */ 'm', 'v', 'k', 'l', 'h', 9, 0,
363  /* 459 */ 's', 'm', 'p', 'y', 'l', 'h', 9, 0,
364  /* 467 */ 's', 't', 'h', 9, 0,
365  /* 472 */ 's', 'm', 'p', 'y', 'h', 9, 0,
366  /* 479 */ 'm', 'p', 'y', 'h', 'i', 9, 0,
367  /* 486 */ 'm', 'p', 'y', 'l', 'i', 9, 0,
368  /* 493 */ 'a', 'd', 'd', 'k', 9, 0,
369  /* 499 */ 'm', 'v', 'k', 9, 0,
370  /* 504 */ 'd', 'e', 'a', 'l', 9, 0,
371  /* 510 */ 's', 'h', 'f', 'l', 9, 0,
372  /* 516 */ 's', 's', 'h', 'l', 9, 0,
373  /* 522 */ 's', 'm', 'p', 'y', 'h', 'l', 9, 0,
374  /* 530 */ 'r', 'o', 't', 'l', 9, 0,
375  /* 536 */ 's', 's', 'h', 'v', 'l', 9, 0,
376  /* 543 */ 'n', 'o', 'r', 'm', 9, 0,
377  /* 549 */ 'a', 'n', 'd', 'n', 9, 0,
378  /* 555 */ 'b', 'n', 'o', 'p', 9, 0,
379  /* 561 */ 'c', 'm', 'p', 'e', 'q', 9, 0,
380  /* 568 */ 's', 'h', 'r', 9, 0,
381  /* 573 */ 'm', 'p', 'y', 'h', 'i', 'r', 9, 0,
382  /* 581 */ 'm', 'p', 'y', 'l', 'i', 'r', 9, 0,
383  /* 589 */ 'c', 'l', 'r', 9, 0,
384  /* 594 */ 'x', 'o', 'r', 9, 0,
385  /* 599 */ 's', 's', 'h', 'v', 'r', 9, 0,
386  /* 606 */ 'a', 'b', 's', 9, 0,
387  /* 611 */ 'm', 'p', 'y', 'l', 'u', 'h', 's', 9, 0,
388  /* 620 */ 'm', 'p', 'y', 'h', 'u', 'l', 's', 9, 0,
389  /* 629 */ 'b', 'p', 'o', 's', 9, 0,
390  /* 635 */ 'm', 'p', 'y', 'h', 'u', 's', 9, 0,
391  /* 643 */ 'm', 'p', 'y', 'u', 's', 9, 0,
392  /* 650 */ 's', 'a', 't', 9, 0,
393  /* 655 */ 's', 'e', 't', 9, 0,
394  /* 660 */ 'c', 'm', 'p', 'g', 't', 9, 0,
395  /* 667 */ 'c', 'm', 'p', 'l', 't', 9, 0,
396  /* 674 */ 'e', 'x', 't', 9, 0,
397  /* 679 */ 'l', 'd', 'b', 'u', 9, 0,
398  /* 685 */ 's', 'u', 'b', 'u', 9, 0,
399  /* 691 */ 'a', 'd', 'd', 'u', 9, 0,
400  /* 697 */ 'l', 'd', 'h', 'u', 9, 0,
401  /* 703 */ 'm', 'p', 'y', 'l', 'h', 'u', 9, 0,
402  /* 711 */ 'm', 'p', 'y', 'l', 's', 'h', 'u', 9, 0,
403  /* 720 */ 'm', 'p', 'y', 'h', 'u', 9, 0,
404  /* 727 */ 'm', 'p', 'y', 'h', 'l', 'u', 9, 0,
405  /* 735 */ 'm', 'p', 'y', 'h', 's', 'l', 'u', 9, 0,
406  /* 744 */ 's', 'h', 'r', 'u', 9, 0,
407  /* 750 */ 'm', 'p', 'y', 'h', 's', 'u', 9, 0,
408  /* 758 */ 'm', 'p', 'y', 's', 'u', 9, 0,
409  /* 765 */ 'c', 'm', 'p', 'g', 't', 'u', 9, 0,
410  /* 773 */ 'c', 'm', 'p', 'l', 't', 'u', 9, 0,
411  /* 781 */ 'e', 'x', 't', 'u', 9, 0,
412  /* 787 */ 'm', 'p', 'y', 'u', 9, 0,
413  /* 793 */ 's', 'u', 'b', 'a', 'w', 9, 0,
414  /* 800 */ 'a', 'd', 'd', 'a', 'w', 9, 0,
415  /* 807 */ 'l', 'd', 'd', 'w', 9, 0,
416  /* 813 */ 'l', 'd', 'w', 9, 0,
417  /* 818 */ 'l', 'd', 'n', 'd', 'w', 9, 0,
418  /* 825 */ 's', 't', 'n', 'd', 'w', 9, 0,
419  /* 832 */ 's', 't', 'd', 'w', 9, 0,
420  /* 838 */ 'l', 'd', 'n', 'w', 9, 0,
421  /* 844 */ 's', 't', 'n', 'w', 9, 0,
422  /* 850 */ 's', 't', 'w', 9, 0,
423  /* 855 */ 's', 'm', 'p', 'y', 9, 0,
424  /* 861 */ 'l', 'i', 'f', 'e', 't', 'i', 'm', 'e', '_', 'e', 'n', 'd', 0,
425  /* 874 */ 'b', 'u', 'n', 'd', 'l', 'e', 0,
426  /* 881 */ 'd', 'b', 'g', '_', 'v', 'a', 'l', 'u', 'e', 0,
427  /* 891 */ 'b', 9, 'i', 'r', 'p', 0,
428  /* 897 */ 'b', 9, 'n', 'r', 'p', 0,
429  /* 903 */ 'l', 'i', 'f', 'e', 't', 'i', 'm', 'e', '_', 's', 't', 'a', 'r', 't', 0,
430  };
431
432  // Emit the opcode for the instruction.
433  uint32_t Bits = OpInfo[MCInst_getOpcode(MI)];
434  // assert(Bits != 0 && "Cannot print this instruction.");
435#ifndef CAPSTONE_DIET
436  SStream_concat0(O, AsmStrs+(Bits & 1023)-1);
437#endif
438
439
440  // Fragment 0 encoded into 3 bits for 8 unique commands.
441  switch ((Bits >> 10) & 7) {
442  default:
443  case 0:
444    // DBG_VALUE, BUNDLE, LIFETIME_START, LIFETIME_END, B_s7_irp, B_s7_nrp
445    return;
446    break;
447  case 1:
448    // ABS2_l2_rr, ABS_l1_rr, ADDAB_d1_rir, ADDAB_d1_rrr, ADDAD_d1_rir, ADDAD...
449    printOperand(MI, 1, O);
450    SStream_concat0(O, ", ");
451    break;
452  case 2:
453    // ABS_l1_pp, NORM_l1_pr, SAT_l1_pr, SHL_s1_pip, SHL_s1_prp, SHRU_s1_pip,...
454    printRegPair(MI, 1, O);
455    SStream_concat0(O, ", ");
456    break;
457  case 3:
458    // ADD2_d2_rrr, ADD2_l1_rrr_x2, ADD2_s1_rrr, ADD4_l1_rrr_x2, ADDU_l1_rpp,...
459    printOperand(MI, 2, O);
460    SStream_concat0(O, ", ");
461    break;
462  case 4:
463    // BNOP_s10_ri, BNOP_s9_ii, B_s5_i, B_s6_r, NOP_n, STB_d5_rm, STB_d6_rm, ...
464    printOperand(MI, 0, O);
465    break;
466  case 5:
467    // LDBU_d5_mr, LDB_d5_mr, LDDW_d7_mp, LDHU_d5_mr, LDH_d5_mr, LDNDW_d8_mp,...
468    printMemOperand(MI, 1, O);
469    SStream_concat0(O, ", ");
470    break;
471  case 6:
472    // LDBU_d6_mr, LDB_d6_mr, LDHU_d6_mr, LDH_d6_mr, LDW_d6_mr
473    printMemOperand2(MI, 1, O);
474    SStream_concat0(O, ", ");
475    printOperand(MI, 0, O);
476    return;
477    break;
478  case 7:
479    // STDW_d7_pm, STNDW_d8_pm
480    printRegPair(MI, 0, O);
481    SStream_concat0(O, ", ");
482    printMemOperand(MI, 1, O);
483    return;
484    break;
485  }
486
487
488  // Fragment 1 encoded into 3 bits for 7 unique commands.
489  switch ((Bits >> 13) & 7) {
490  default:
491  case 0:
492    // ABS2_l2_rr, ABS_l1_rr, ADDKPC_s3_iir, ADDK_s2_ir, BDEC_s8_ir, BITC4_m2...
493    printOperand(MI, 0, O);
494    break;
495  case 1:
496    // ABS_l1_pp, LDDW_d7_mp, LDNDW_d8_mp
497    printRegPair(MI, 0, O);
498    return;
499    break;
500  case 2:
501    // ADD2_d2_rrr, ADD2_l1_rrr_x2, ADD2_s1_rrr, ADD4_l1_rrr_x2, ADDU_l1_rrp_...
502    printOperand(MI, 1, O);
503    SStream_concat0(O, ", ");
504    break;
505  case 3:
506    // ADDAB_d1_rir, ADDAB_d1_rrr, ADDAD_d1_rir, ADDAD_d1_rrr, ADDAH_d1_rir, ...
507    printOperand(MI, 2, O);
508    SStream_concat0(O, ", ");
509    break;
510  case 4:
511    // ADDU_l1_rpp, ADD_l1_ipp, ADD_l1_rpp, CMPEQ_l1_ipr, CMPEQ_l1_rpr, CMPGT...
512    printRegPair(MI, 1, O);
513    SStream_concat0(O, ", ");
514    break;
515  case 5:
516    // BNOP_s10_ri, BNOP_s9_ii, STB_d5_rm, STB_d6_rm, STH_d5_rm, STH_d6_rm, S...
517    SStream_concat0(O, ", ");
518    break;
519  case 6:
520    // B_s5_i, B_s6_r, NOP_n
521    return;
522    break;
523  }
524
525
526  // Fragment 2 encoded into 3 bits for 8 unique commands.
527  switch ((Bits >> 16) & 7) {
528  default:
529  case 0:
530    // ABS2_l2_rr, ABS_l1_rr, ADDK_s2_ir, BDEC_s8_ir, BITC4_m2_rr, BPOS_s8_ir...
531    return;
532    break;
533  case 1:
534    // ADD2_d2_rrr, ADD2_l1_rrr_x2, ADD2_s1_rrr, ADD4_l1_rrr_x2, ADDAB_d1_rir...
535    printOperand(MI, 0, O);
536    return;
537    break;
538  case 2:
539    // ADDKPC_s3_iir
540    SStream_concat0(O, ", ");
541    printOperand(MI, 2, O);
542    return;
543    break;
544  case 3:
545    // ADDU_l1_rpp, ADDU_l1_rrp_x2, ADD_l1_ipp, ADD_l1_rpp, ADD_l1_rrp_x2, DO...
546    printRegPair(MI, 0, O);
547    return;
548    break;
549  case 4:
550    // BNOP_s10_ri, BNOP_s9_ii
551    printOperand(MI, 1, O);
552    return;
553    break;
554  case 5:
555    // CLR_s15_riir, EXTU_s15_riir, EXT_s15_riir, SET_s15_riir
556    printOperand(MI, 3, O);
557    SStream_concat0(O, ", ");
558    printOperand(MI, 0, O);
559    return;
560    break;
561  case 6:
562    // STB_d5_rm, STH_d5_rm, STNW_d5_rm, STW_d5_rm
563    printMemOperand(MI, 1, O);
564    return;
565    break;
566  case 7:
567    // STB_d6_rm, STH_d6_rm, STW_d6_rm
568    printMemOperand2(MI, 1, O);
569    return;
570    break;
571  }
572
573}
574
575
576/// getRegisterName - This method is automatically generated by tblgen
577/// from the register set description.  This returns the assembler name
578/// for the specified register.
579static char *getRegisterName(unsigned RegNo) {
580#ifndef CAPSTONE_DIET
581  static char AsmStrs[] = {
582  /* 0 */ 'a', '1', '0', 0,
583  /* 4 */ 'b', '1', '0', 0,
584  /* 8 */ 'a', '2', '0', 0,
585  /* 12 */ 'b', '2', '0', 0,
586  /* 16 */ 'a', '3', '0', 0,
587  /* 20 */ 'b', '3', '0', 0,
588  /* 24 */ 'a', '0', 0,
589  /* 27 */ 'b', '0', 0,
590  /* 30 */ 'a', '1', '1', 0,
591  /* 34 */ 'b', '1', '1', 0,
592  /* 38 */ 'a', '2', '1', 0,
593  /* 42 */ 'b', '2', '1', 0,
594  /* 46 */ 'a', '3', '1', 0,
595  /* 50 */ 'b', '3', '1', 0,
596  /* 54 */ 'a', '1', 0,
597  /* 57 */ 'b', '1', 0,
598  /* 60 */ 'p', 'c', 'e', '1', 0,
599  /* 65 */ 'a', '1', '2', 0,
600  /* 69 */ 'b', '1', '2', 0,
601  /* 73 */ 'a', '2', '2', 0,
602  /* 77 */ 'b', '2', '2', 0,
603  /* 81 */ 'a', '2', 0,
604  /* 84 */ 'b', '2', 0,
605  /* 87 */ 'a', '1', '3', 0,
606  /* 91 */ 'b', '1', '3', 0,
607  /* 95 */ 'a', '2', '3', 0,
608  /* 99 */ 'b', '2', '3', 0,
609  /* 103 */ 'a', '3', 0,
610  /* 106 */ 'b', '3', 0,
611  /* 109 */ 'a', '1', '4', 0,
612  /* 113 */ 'b', '1', '4', 0,
613  /* 117 */ 'a', '2', '4', 0,
614  /* 121 */ 'b', '2', '4', 0,
615  /* 125 */ 'a', '4', 0,
616  /* 128 */ 'b', '4', 0,
617  /* 131 */ 'a', '1', '5', 0,
618  /* 135 */ 'b', '1', '5', 0,
619  /* 139 */ 'a', '2', '5', 0,
620  /* 143 */ 'b', '2', '5', 0,
621  /* 147 */ 'a', '5', 0,
622  /* 150 */ 'b', '5', 0,
623  /* 153 */ 'a', '1', '6', 0,
624  /* 157 */ 'b', '1', '6', 0,
625  /* 161 */ 'a', '2', '6', 0,
626  /* 165 */ 'b', '2', '6', 0,
627  /* 169 */ 'a', '6', 0,
628  /* 172 */ 'b', '6', 0,
629  /* 175 */ 'a', '1', '7', 0,
630  /* 179 */ 'b', '1', '7', 0,
631  /* 183 */ 'a', '2', '7', 0,
632  /* 187 */ 'b', '2', '7', 0,
633  /* 191 */ 'a', '7', 0,
634  /* 194 */ 'b', '7', 0,
635  /* 197 */ 'a', '1', '8', 0,
636  /* 201 */ 'b', '1', '8', 0,
637  /* 205 */ 'a', '2', '8', 0,
638  /* 209 */ 'b', '2', '8', 0,
639  /* 213 */ 'a', '8', 0,
640  /* 216 */ 'b', '8', 0,
641  /* 219 */ 'a', '1', '9', 0,
642  /* 223 */ 'b', '1', '9', 0,
643  /* 227 */ 'a', '2', '9', 0,
644  /* 231 */ 'b', '2', '9', 0,
645  /* 235 */ 'a', '9', 0,
646  /* 238 */ 'b', '9', 0,
647  /* 241 */ 'g', 'p', 'l', 'y', 'a', 0,
648  /* 247 */ 'g', 'p', 'l', 'y', 'b', 0,
649  /* 253 */ 'r', 'i', 'l', 'c', 0,
650  /* 258 */ 't', 's', 'c', 'h', 0,
651  /* 263 */ 't', 's', 'c', 'l', 0,
652  /* 268 */ 'd', 'n', 'u', 'm', 0,
653  /* 273 */ 'r', 'e', 'p', 0,
654  /* 277 */ 'i', 'r', 'p', 0,
655  /* 281 */ 'n', 'r', 'p', 0,
656  /* 285 */ 'i', 's', 't', 'p', 0,
657  /* 290 */ 'e', 'c', 'r', 0,
658  /* 294 */ 'i', 'c', 'r', 0,
659  /* 298 */ 'd', 'i', 'e', 'r', 0,
660  /* 303 */ 'g', 'f', 'p', 'g', 'f', 'r', 0,
661  /* 310 */ 'a', 'm', 'r', 0,
662  /* 314 */ 'i', 'e', 'r', 'r', 0,
663  /* 319 */ 'c', 's', 'r', 0,
664  /* 323 */ 'i', 's', 'r', 0,
665  /* 327 */ 's', 's', 'r', 0,
666  /* 331 */ 'i', 't', 's', 'r', 0,
667  /* 336 */ 'n', 't', 's', 'r', 0,
668  };
669
670  static const uint16_t RegAsmOffset[] = {
671    310, 319, 298, 268, 290, 303, 241, 247, 294, 299, 314, 254, 277, 323,
672    285, 331, 281, 336, 273, 253, 327, 258, 263, 332, 24, 54, 81, 103,
673    125, 147, 169, 191, 213, 235, 0, 30, 65, 87, 109, 131, 153, 175,
674    197, 219, 8, 38, 73, 95, 117, 139, 161, 183, 205, 227, 16, 46,
675    27, 57, 84, 106, 128, 150, 172, 194, 216, 238, 4, 34, 69, 91,
676    113, 135, 157, 179, 201, 223, 12, 42, 77, 99, 121, 143, 165, 187,
677    209, 231, 20, 50, 60,
678  };
679
680  return AsmStrs+RegAsmOffset[RegNo-1];
681#else
682  return NULL;
683#endif
684}
685