xref: /aosp_15_r20/external/capstone/arch/TMS320C64x/TMS320C64xMapping.c (revision 9a0e4156d50a75a99ec4f1653a0e9602a5d45c18)
1*9a0e4156SSadaf Ebrahimi /* Capstone Disassembly Engine */
2*9a0e4156SSadaf Ebrahimi /* TMS320C64x Backend by Fotis Loukos <[email protected]> 2016 */
3*9a0e4156SSadaf Ebrahimi 
4*9a0e4156SSadaf Ebrahimi #ifdef CAPSTONE_HAS_TMS320C64X
5*9a0e4156SSadaf Ebrahimi 
6*9a0e4156SSadaf Ebrahimi #include <stdio.h>	// debug
7*9a0e4156SSadaf Ebrahimi #include <string.h>
8*9a0e4156SSadaf Ebrahimi 
9*9a0e4156SSadaf Ebrahimi #include "../../utils.h"
10*9a0e4156SSadaf Ebrahimi 
11*9a0e4156SSadaf Ebrahimi #include "TMS320C64xMapping.h"
12*9a0e4156SSadaf Ebrahimi 
13*9a0e4156SSadaf Ebrahimi #define GET_INSTRINFO_ENUM
14*9a0e4156SSadaf Ebrahimi #include "TMS320C64xGenInstrInfo.inc"
15*9a0e4156SSadaf Ebrahimi 
16*9a0e4156SSadaf Ebrahimi static name_map reg_name_maps[] = {
17*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_INVALID, NULL },
18*9a0e4156SSadaf Ebrahimi 
19*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_AMR, "amr" },
20*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_CSR, "csr" },
21*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_DIER, "dier" },
22*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_DNUM, "dnum" },
23*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_ECR, "ecr" },
24*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_GFPGFR, "gfpgfr" },
25*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_GPLYA, "gplya" },
26*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_GPLYB, "gplyb" },
27*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_ICR, "icr" },
28*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_IER, "ier" },
29*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_IERR, "ierr" },
30*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_ILC, "ilc" },
31*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_IRP, "irp" },
32*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_ISR, "isr" },
33*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_ISTP, "istp" },
34*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_ITSR, "itsr" },
35*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_NRP, "nrp" },
36*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_NTSR, "ntsr" },
37*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_REP, "rep" },
38*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_RILC, "rilc" },
39*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_SSR, "ssr" },
40*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_TSCH, "tsch" },
41*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_TSCL, "tscl" },
42*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_TSR, "tsr" },
43*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A0, "a0" },
44*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A1, "a1" },
45*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A2, "a2" },
46*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A3, "a3" },
47*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A4, "a4" },
48*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A5, "a5" },
49*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A6, "a6" },
50*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A7, "a7" },
51*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A8, "a8" },
52*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A9, "a9" },
53*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A10, "a10" },
54*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A11, "a11" },
55*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A12, "a12" },
56*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A13, "a13" },
57*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A14, "a14" },
58*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A15, "a15" },
59*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A16, "a16" },
60*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A17, "a17" },
61*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A18, "a18" },
62*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A19, "a19" },
63*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A20, "a20" },
64*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A21, "a21" },
65*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A22, "a22" },
66*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A23, "a23" },
67*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A24, "a24" },
68*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A25, "a25" },
69*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A26, "a26" },
70*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A27, "a27" },
71*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A28, "a28" },
72*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A29, "a29" },
73*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A30, "a30" },
74*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_A31, "a31" },
75*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B0, "b0" },
76*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B1, "b1" },
77*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B2, "b2" },
78*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B3, "b3" },
79*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B4, "b4" },
80*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B5, "b5" },
81*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B6, "b6" },
82*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B7, "b7" },
83*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B8, "b8" },
84*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B9, "b9" },
85*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B10, "b10" },
86*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B11, "b11" },
87*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B12, "b12" },
88*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B13, "b13" },
89*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B14, "b14" },
90*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B15, "b15" },
91*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B16, "b16" },
92*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B17, "b17" },
93*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B18, "b18" },
94*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B19, "b19" },
95*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B20, "b20" },
96*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B21, "b21" },
97*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B22, "b22" },
98*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B23, "b23" },
99*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B24, "b24" },
100*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B25, "b25" },
101*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B26, "b26" },
102*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B27, "b27" },
103*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B28, "b28" },
104*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B29, "b29" },
105*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B30, "b30" },
106*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_B31, "b31" },
107*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_REG_PCE1, "pce1" },
108*9a0e4156SSadaf Ebrahimi };
109*9a0e4156SSadaf Ebrahimi 
TMS320C64x_reg_name(csh handle,unsigned int reg)110*9a0e4156SSadaf Ebrahimi const char *TMS320C64x_reg_name(csh handle, unsigned int reg)
111*9a0e4156SSadaf Ebrahimi {
112*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
113*9a0e4156SSadaf Ebrahimi 	if (reg >= ARR_SIZE(reg_name_maps))
114*9a0e4156SSadaf Ebrahimi 		return NULL;
115*9a0e4156SSadaf Ebrahimi 
116*9a0e4156SSadaf Ebrahimi 	return reg_name_maps[reg].name;
117*9a0e4156SSadaf Ebrahimi #else
118*9a0e4156SSadaf Ebrahimi 	return NULL;
119*9a0e4156SSadaf Ebrahimi #endif
120*9a0e4156SSadaf Ebrahimi }
121*9a0e4156SSadaf Ebrahimi 
TMS320C64x_reg_id(char * name)122*9a0e4156SSadaf Ebrahimi tms320c64x_reg TMS320C64x_reg_id(char *name)
123*9a0e4156SSadaf Ebrahimi {
124*9a0e4156SSadaf Ebrahimi 	int i;
125*9a0e4156SSadaf Ebrahimi 
126*9a0e4156SSadaf Ebrahimi 	for(i = 1; i < ARR_SIZE(reg_name_maps); i++) {
127*9a0e4156SSadaf Ebrahimi 		if (!strcmp(name, reg_name_maps[i].name))
128*9a0e4156SSadaf Ebrahimi 			return reg_name_maps[i].id;
129*9a0e4156SSadaf Ebrahimi 	}
130*9a0e4156SSadaf Ebrahimi 
131*9a0e4156SSadaf Ebrahimi 	return 0;
132*9a0e4156SSadaf Ebrahimi }
133*9a0e4156SSadaf Ebrahimi 
134*9a0e4156SSadaf Ebrahimi static insn_map insns[] = {
135*9a0e4156SSadaf Ebrahimi 	{
136*9a0e4156SSadaf Ebrahimi 		0, 0,
137*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
138*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { 0 }, 0, 0
139*9a0e4156SSadaf Ebrahimi #endif
140*9a0e4156SSadaf Ebrahimi 	},
141*9a0e4156SSadaf Ebrahimi 
142*9a0e4156SSadaf Ebrahimi 	{
143*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ABS2_l2_rr, TMS320C64X_INS_ABS2,
144*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
145*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
146*9a0e4156SSadaf Ebrahimi #endif
147*9a0e4156SSadaf Ebrahimi 	},
148*9a0e4156SSadaf Ebrahimi 	{
149*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ABS_l1_pp, TMS320C64X_INS_ABS,
150*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
151*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
152*9a0e4156SSadaf Ebrahimi #endif
153*9a0e4156SSadaf Ebrahimi 	},
154*9a0e4156SSadaf Ebrahimi 	{
155*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ABS_l1_rr, TMS320C64X_INS_ABS,
156*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
157*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
158*9a0e4156SSadaf Ebrahimi #endif
159*9a0e4156SSadaf Ebrahimi 	},
160*9a0e4156SSadaf Ebrahimi 	{
161*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADD2_d2_rrr, TMS320C64X_INS_ADD2,
162*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
163*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
164*9a0e4156SSadaf Ebrahimi #endif
165*9a0e4156SSadaf Ebrahimi 	},
166*9a0e4156SSadaf Ebrahimi 	{
167*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADD2_l1_rrr_x2, TMS320C64X_INS_ADD2,
168*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
169*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
170*9a0e4156SSadaf Ebrahimi #endif
171*9a0e4156SSadaf Ebrahimi 	},
172*9a0e4156SSadaf Ebrahimi 	{
173*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADD2_s1_rrr, TMS320C64X_INS_ADD2,
174*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
175*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
176*9a0e4156SSadaf Ebrahimi #endif
177*9a0e4156SSadaf Ebrahimi 	},
178*9a0e4156SSadaf Ebrahimi 	{
179*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADD4_l1_rrr_x2, TMS320C64X_INS_ADD4,
180*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
181*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
182*9a0e4156SSadaf Ebrahimi #endif
183*9a0e4156SSadaf Ebrahimi 	},
184*9a0e4156SSadaf Ebrahimi 	{
185*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADDAB_d1_rir, TMS320C64X_INS_ADDAB,
186*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
187*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
188*9a0e4156SSadaf Ebrahimi #endif
189*9a0e4156SSadaf Ebrahimi 	},
190*9a0e4156SSadaf Ebrahimi 	{
191*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADDAB_d1_rrr, TMS320C64X_INS_ADDAB,
192*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
193*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
194*9a0e4156SSadaf Ebrahimi #endif
195*9a0e4156SSadaf Ebrahimi 	},
196*9a0e4156SSadaf Ebrahimi 	{
197*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADDAD_d1_rir, TMS320C64X_INS_ADDAD,
198*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
199*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
200*9a0e4156SSadaf Ebrahimi #endif
201*9a0e4156SSadaf Ebrahimi 	},
202*9a0e4156SSadaf Ebrahimi 	{
203*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADDAD_d1_rrr, TMS320C64X_INS_ADDAD,
204*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
205*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
206*9a0e4156SSadaf Ebrahimi #endif
207*9a0e4156SSadaf Ebrahimi 	},
208*9a0e4156SSadaf Ebrahimi 	{
209*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADDAH_d1_rir, TMS320C64X_INS_ADDAH,
210*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
211*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
212*9a0e4156SSadaf Ebrahimi #endif
213*9a0e4156SSadaf Ebrahimi 	},
214*9a0e4156SSadaf Ebrahimi 	{
215*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADDAH_d1_rrr, TMS320C64X_INS_ADDAH,
216*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
217*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
218*9a0e4156SSadaf Ebrahimi #endif
219*9a0e4156SSadaf Ebrahimi 	},
220*9a0e4156SSadaf Ebrahimi 	{
221*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADDAW_d1_rir, TMS320C64X_INS_ADDAW,
222*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
223*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
224*9a0e4156SSadaf Ebrahimi #endif
225*9a0e4156SSadaf Ebrahimi 	},
226*9a0e4156SSadaf Ebrahimi 	{
227*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADDAW_d1_rrr, TMS320C64X_INS_ADDAW,
228*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
229*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
230*9a0e4156SSadaf Ebrahimi #endif
231*9a0e4156SSadaf Ebrahimi 	},
232*9a0e4156SSadaf Ebrahimi 	{
233*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADDKPC_s3_iir, TMS320C64X_INS_ADDKPC,
234*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
235*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
236*9a0e4156SSadaf Ebrahimi #endif
237*9a0e4156SSadaf Ebrahimi 	},
238*9a0e4156SSadaf Ebrahimi 	{
239*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADDK_s2_ir, TMS320C64X_INS_ADDK,
240*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
241*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
242*9a0e4156SSadaf Ebrahimi #endif
243*9a0e4156SSadaf Ebrahimi 	},
244*9a0e4156SSadaf Ebrahimi 	{
245*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADDU_l1_rpp, TMS320C64X_INS_ADDU,
246*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
247*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
248*9a0e4156SSadaf Ebrahimi #endif
249*9a0e4156SSadaf Ebrahimi 	},
250*9a0e4156SSadaf Ebrahimi 	{
251*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADDU_l1_rrp_x2, TMS320C64X_INS_ADDU,
252*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
253*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
254*9a0e4156SSadaf Ebrahimi #endif
255*9a0e4156SSadaf Ebrahimi 	},
256*9a0e4156SSadaf Ebrahimi 	{
257*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADD_d1_rir, TMS320C64X_INS_ADD,
258*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
259*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
260*9a0e4156SSadaf Ebrahimi #endif
261*9a0e4156SSadaf Ebrahimi 	},
262*9a0e4156SSadaf Ebrahimi 	{
263*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADD_d1_rrr, TMS320C64X_INS_ADD,
264*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
265*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
266*9a0e4156SSadaf Ebrahimi #endif
267*9a0e4156SSadaf Ebrahimi 	},
268*9a0e4156SSadaf Ebrahimi 	{
269*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADD_d2_rir, TMS320C64X_INS_ADD,
270*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
271*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
272*9a0e4156SSadaf Ebrahimi #endif
273*9a0e4156SSadaf Ebrahimi 	},
274*9a0e4156SSadaf Ebrahimi 	{
275*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADD_d2_rrr, TMS320C64X_INS_ADD,
276*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
277*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
278*9a0e4156SSadaf Ebrahimi #endif
279*9a0e4156SSadaf Ebrahimi 	},
280*9a0e4156SSadaf Ebrahimi 	{
281*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADD_l1_ipp, TMS320C64X_INS_ADD,
282*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
283*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
284*9a0e4156SSadaf Ebrahimi #endif
285*9a0e4156SSadaf Ebrahimi 	},
286*9a0e4156SSadaf Ebrahimi 	{
287*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADD_l1_irr, TMS320C64X_INS_ADD,
288*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
289*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
290*9a0e4156SSadaf Ebrahimi #endif
291*9a0e4156SSadaf Ebrahimi 	},
292*9a0e4156SSadaf Ebrahimi 	{
293*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADD_l1_rpp, TMS320C64X_INS_ADD,
294*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
295*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
296*9a0e4156SSadaf Ebrahimi #endif
297*9a0e4156SSadaf Ebrahimi 	},
298*9a0e4156SSadaf Ebrahimi 	{
299*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADD_l1_rrp_x2, TMS320C64X_INS_ADD,
300*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
301*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
302*9a0e4156SSadaf Ebrahimi #endif
303*9a0e4156SSadaf Ebrahimi 	},
304*9a0e4156SSadaf Ebrahimi 	{
305*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADD_l1_rrr_x2, TMS320C64X_INS_ADD,
306*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
307*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
308*9a0e4156SSadaf Ebrahimi #endif
309*9a0e4156SSadaf Ebrahimi 	},
310*9a0e4156SSadaf Ebrahimi 	{
311*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADD_s1_irr, TMS320C64X_INS_ADD,
312*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
313*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
314*9a0e4156SSadaf Ebrahimi #endif
315*9a0e4156SSadaf Ebrahimi 	},
316*9a0e4156SSadaf Ebrahimi 	{
317*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ADD_s1_rrr, TMS320C64X_INS_ADD,
318*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
319*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
320*9a0e4156SSadaf Ebrahimi #endif
321*9a0e4156SSadaf Ebrahimi 	},
322*9a0e4156SSadaf Ebrahimi 	{
323*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ANDN_d2_rrr, TMS320C64X_INS_ANDN,
324*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
325*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
326*9a0e4156SSadaf Ebrahimi #endif
327*9a0e4156SSadaf Ebrahimi 	},
328*9a0e4156SSadaf Ebrahimi 	{
329*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ANDN_l1_rrr_x2, TMS320C64X_INS_ANDN,
330*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
331*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
332*9a0e4156SSadaf Ebrahimi #endif
333*9a0e4156SSadaf Ebrahimi 	},
334*9a0e4156SSadaf Ebrahimi 	{
335*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ANDN_s4_rrr, TMS320C64X_INS_ANDN,
336*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
337*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
338*9a0e4156SSadaf Ebrahimi #endif
339*9a0e4156SSadaf Ebrahimi 	},
340*9a0e4156SSadaf Ebrahimi 	{
341*9a0e4156SSadaf Ebrahimi 		TMS320C64x_AND_d2_rir, TMS320C64X_INS_AND,
342*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
343*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
344*9a0e4156SSadaf Ebrahimi #endif
345*9a0e4156SSadaf Ebrahimi 	},
346*9a0e4156SSadaf Ebrahimi 	{
347*9a0e4156SSadaf Ebrahimi 		TMS320C64x_AND_d2_rrr, TMS320C64X_INS_AND,
348*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
349*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
350*9a0e4156SSadaf Ebrahimi #endif
351*9a0e4156SSadaf Ebrahimi 	},
352*9a0e4156SSadaf Ebrahimi 	{
353*9a0e4156SSadaf Ebrahimi 		TMS320C64x_AND_l1_irr, TMS320C64X_INS_AND,
354*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
355*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
356*9a0e4156SSadaf Ebrahimi #endif
357*9a0e4156SSadaf Ebrahimi 	},
358*9a0e4156SSadaf Ebrahimi 	{
359*9a0e4156SSadaf Ebrahimi 		TMS320C64x_AND_l1_rrr_x2, TMS320C64X_INS_AND,
360*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
361*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
362*9a0e4156SSadaf Ebrahimi #endif
363*9a0e4156SSadaf Ebrahimi 	},
364*9a0e4156SSadaf Ebrahimi 	{
365*9a0e4156SSadaf Ebrahimi 		TMS320C64x_AND_s1_irr, TMS320C64X_INS_AND,
366*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
367*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
368*9a0e4156SSadaf Ebrahimi #endif
369*9a0e4156SSadaf Ebrahimi 	},
370*9a0e4156SSadaf Ebrahimi 	{
371*9a0e4156SSadaf Ebrahimi 		TMS320C64x_AND_s1_rrr, TMS320C64X_INS_AND,
372*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
373*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
374*9a0e4156SSadaf Ebrahimi #endif
375*9a0e4156SSadaf Ebrahimi 	},
376*9a0e4156SSadaf Ebrahimi 	{
377*9a0e4156SSadaf Ebrahimi 		TMS320C64x_AVG2_m1_rrr, TMS320C64X_INS_AVG2,
378*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
379*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
380*9a0e4156SSadaf Ebrahimi #endif
381*9a0e4156SSadaf Ebrahimi 	},
382*9a0e4156SSadaf Ebrahimi 	{
383*9a0e4156SSadaf Ebrahimi 		TMS320C64x_AVGU4_m1_rrr, TMS320C64X_INS_AVGU4,
384*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
385*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
386*9a0e4156SSadaf Ebrahimi #endif
387*9a0e4156SSadaf Ebrahimi 	},
388*9a0e4156SSadaf Ebrahimi 	{
389*9a0e4156SSadaf Ebrahimi 		TMS320C64x_BDEC_s8_ir, TMS320C64X_INS_BDEC,
390*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
391*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 1, 0
392*9a0e4156SSadaf Ebrahimi #endif
393*9a0e4156SSadaf Ebrahimi 	},
394*9a0e4156SSadaf Ebrahimi 	{
395*9a0e4156SSadaf Ebrahimi 		TMS320C64x_BITC4_m2_rr, TMS320C64X_INS_BITC4,
396*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
397*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
398*9a0e4156SSadaf Ebrahimi #endif
399*9a0e4156SSadaf Ebrahimi 	},
400*9a0e4156SSadaf Ebrahimi 	{
401*9a0e4156SSadaf Ebrahimi 		TMS320C64x_BNOP_s10_ri, TMS320C64X_INS_BNOP,
402*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
403*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 1, 0
404*9a0e4156SSadaf Ebrahimi #endif
405*9a0e4156SSadaf Ebrahimi 	},
406*9a0e4156SSadaf Ebrahimi 	{
407*9a0e4156SSadaf Ebrahimi 		TMS320C64x_BNOP_s9_ii, TMS320C64X_INS_BNOP,
408*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
409*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 1, 0
410*9a0e4156SSadaf Ebrahimi #endif
411*9a0e4156SSadaf Ebrahimi 	},
412*9a0e4156SSadaf Ebrahimi 	{
413*9a0e4156SSadaf Ebrahimi 		TMS320C64x_BPOS_s8_ir, TMS320C64X_INS_BPOS,
414*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
415*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 1, 0
416*9a0e4156SSadaf Ebrahimi #endif
417*9a0e4156SSadaf Ebrahimi 	},
418*9a0e4156SSadaf Ebrahimi 	{
419*9a0e4156SSadaf Ebrahimi 		TMS320C64x_B_s5_i, TMS320C64X_INS_B,
420*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
421*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 1, 0
422*9a0e4156SSadaf Ebrahimi #endif
423*9a0e4156SSadaf Ebrahimi 	},
424*9a0e4156SSadaf Ebrahimi 	{
425*9a0e4156SSadaf Ebrahimi 		TMS320C64x_B_s6_r, TMS320C64X_INS_B,
426*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
427*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 1, 0
428*9a0e4156SSadaf Ebrahimi #endif
429*9a0e4156SSadaf Ebrahimi 	},
430*9a0e4156SSadaf Ebrahimi 	{
431*9a0e4156SSadaf Ebrahimi 		TMS320C64x_B_s7_irp, TMS320C64X_INS_B,
432*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
433*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 1, 0
434*9a0e4156SSadaf Ebrahimi #endif
435*9a0e4156SSadaf Ebrahimi 	},
436*9a0e4156SSadaf Ebrahimi 	{
437*9a0e4156SSadaf Ebrahimi 		TMS320C64x_B_s7_nrp, TMS320C64X_INS_B,
438*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
439*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 1, 0
440*9a0e4156SSadaf Ebrahimi #endif
441*9a0e4156SSadaf Ebrahimi 	},
442*9a0e4156SSadaf Ebrahimi 	{
443*9a0e4156SSadaf Ebrahimi 		TMS320C64x_CLR_s15_riir, TMS320C64X_INS_CLR,
444*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
445*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
446*9a0e4156SSadaf Ebrahimi #endif
447*9a0e4156SSadaf Ebrahimi 	},
448*9a0e4156SSadaf Ebrahimi 	{
449*9a0e4156SSadaf Ebrahimi 		TMS320C64x_CLR_s1_rrr, TMS320C64X_INS_CLR,
450*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
451*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
452*9a0e4156SSadaf Ebrahimi #endif
453*9a0e4156SSadaf Ebrahimi 	},
454*9a0e4156SSadaf Ebrahimi 	{
455*9a0e4156SSadaf Ebrahimi 		TMS320C64x_CMPEQ2_s1_rrr, TMS320C64X_INS_CMPEQ2,
456*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
457*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
458*9a0e4156SSadaf Ebrahimi #endif
459*9a0e4156SSadaf Ebrahimi 	},
460*9a0e4156SSadaf Ebrahimi 	{
461*9a0e4156SSadaf Ebrahimi 		TMS320C64x_CMPEQ4_s1_rrr, TMS320C64X_INS_CMPEQ4,
462*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
463*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
464*9a0e4156SSadaf Ebrahimi #endif
465*9a0e4156SSadaf Ebrahimi 	},
466*9a0e4156SSadaf Ebrahimi 	{
467*9a0e4156SSadaf Ebrahimi 		TMS320C64x_CMPEQ_l1_ipr, TMS320C64X_INS_CMPEQ,
468*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
469*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
470*9a0e4156SSadaf Ebrahimi #endif
471*9a0e4156SSadaf Ebrahimi 	},
472*9a0e4156SSadaf Ebrahimi 	{
473*9a0e4156SSadaf Ebrahimi 		TMS320C64x_CMPEQ_l1_irr, TMS320C64X_INS_CMPEQ,
474*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
475*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
476*9a0e4156SSadaf Ebrahimi #endif
477*9a0e4156SSadaf Ebrahimi 	},
478*9a0e4156SSadaf Ebrahimi 	{
479*9a0e4156SSadaf Ebrahimi 		TMS320C64x_CMPEQ_l1_rpr, TMS320C64X_INS_CMPEQ,
480*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
481*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
482*9a0e4156SSadaf Ebrahimi #endif
483*9a0e4156SSadaf Ebrahimi 	},
484*9a0e4156SSadaf Ebrahimi 	{
485*9a0e4156SSadaf Ebrahimi 		TMS320C64x_CMPEQ_l1_rrr_x2, TMS320C64X_INS_CMPEQ,
486*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
487*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
488*9a0e4156SSadaf Ebrahimi #endif
489*9a0e4156SSadaf Ebrahimi 	},
490*9a0e4156SSadaf Ebrahimi 	{
491*9a0e4156SSadaf Ebrahimi 		TMS320C64x_CMPGT2_s1_rrr, TMS320C64X_INS_CMPGT2,
492*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
493*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
494*9a0e4156SSadaf Ebrahimi #endif
495*9a0e4156SSadaf Ebrahimi 	},
496*9a0e4156SSadaf Ebrahimi 	{
497*9a0e4156SSadaf Ebrahimi 		TMS320C64x_CMPGTU4_s1_rrr, TMS320C64X_INS_CMPGTU4,
498*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
499*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
500*9a0e4156SSadaf Ebrahimi #endif
501*9a0e4156SSadaf Ebrahimi 	},
502*9a0e4156SSadaf Ebrahimi 	{
503*9a0e4156SSadaf Ebrahimi 		TMS320C64x_CMPGT_l1_ipr, TMS320C64X_INS_CMPGT,
504*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
505*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
506*9a0e4156SSadaf Ebrahimi #endif
507*9a0e4156SSadaf Ebrahimi 	},
508*9a0e4156SSadaf Ebrahimi 	{
509*9a0e4156SSadaf Ebrahimi 		TMS320C64x_CMPGT_l1_irr, TMS320C64X_INS_CMPGT,
510*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
511*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
512*9a0e4156SSadaf Ebrahimi #endif
513*9a0e4156SSadaf Ebrahimi 	},
514*9a0e4156SSadaf Ebrahimi 	{
515*9a0e4156SSadaf Ebrahimi 		TMS320C64x_CMPGT_l1_rpr, TMS320C64X_INS_CMPGT,
516*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
517*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
518*9a0e4156SSadaf Ebrahimi #endif
519*9a0e4156SSadaf Ebrahimi 	},
520*9a0e4156SSadaf Ebrahimi 	{
521*9a0e4156SSadaf Ebrahimi 		TMS320C64x_CMPGT_l1_rrr_x2, TMS320C64X_INS_CMPGT,
522*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
523*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
524*9a0e4156SSadaf Ebrahimi #endif
525*9a0e4156SSadaf Ebrahimi 	},
526*9a0e4156SSadaf Ebrahimi 	{
527*9a0e4156SSadaf Ebrahimi 		TMS320C64x_CMPLTU_l1_ipr, TMS320C64X_INS_CMPLTU,
528*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
529*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
530*9a0e4156SSadaf Ebrahimi #endif
531*9a0e4156SSadaf Ebrahimi 	},
532*9a0e4156SSadaf Ebrahimi 	{
533*9a0e4156SSadaf Ebrahimi 		TMS320C64x_CMPLTU_l1_irr, TMS320C64X_INS_CMPLTU,
534*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
535*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
536*9a0e4156SSadaf Ebrahimi #endif
537*9a0e4156SSadaf Ebrahimi 	},
538*9a0e4156SSadaf Ebrahimi 	{
539*9a0e4156SSadaf Ebrahimi 		TMS320C64x_CMPLTU_l1_rpr, TMS320C64X_INS_CMPLTU,
540*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
541*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
542*9a0e4156SSadaf Ebrahimi #endif
543*9a0e4156SSadaf Ebrahimi 	},
544*9a0e4156SSadaf Ebrahimi 	{
545*9a0e4156SSadaf Ebrahimi 		TMS320C64x_CMPLTU_l1_rrr_x2, TMS320C64X_INS_CMPLTU,
546*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
547*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
548*9a0e4156SSadaf Ebrahimi #endif
549*9a0e4156SSadaf Ebrahimi 	},
550*9a0e4156SSadaf Ebrahimi 	{
551*9a0e4156SSadaf Ebrahimi 		TMS320C64x_CMPLT_l1_ipr, TMS320C64X_INS_CMPLT,
552*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
553*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
554*9a0e4156SSadaf Ebrahimi #endif
555*9a0e4156SSadaf Ebrahimi 	},
556*9a0e4156SSadaf Ebrahimi 	{
557*9a0e4156SSadaf Ebrahimi 		TMS320C64x_CMPLT_l1_irr, TMS320C64X_INS_CMPLT,
558*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
559*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
560*9a0e4156SSadaf Ebrahimi #endif
561*9a0e4156SSadaf Ebrahimi 	},
562*9a0e4156SSadaf Ebrahimi 	{
563*9a0e4156SSadaf Ebrahimi 		TMS320C64x_CMPLT_l1_rpr, TMS320C64X_INS_CMPLT,
564*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
565*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
566*9a0e4156SSadaf Ebrahimi #endif
567*9a0e4156SSadaf Ebrahimi 	},
568*9a0e4156SSadaf Ebrahimi 	{
569*9a0e4156SSadaf Ebrahimi 		TMS320C64x_CMPLT_l1_rrr_x2, TMS320C64X_INS_CMPLT,
570*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
571*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
572*9a0e4156SSadaf Ebrahimi #endif
573*9a0e4156SSadaf Ebrahimi 	},
574*9a0e4156SSadaf Ebrahimi 	{
575*9a0e4156SSadaf Ebrahimi 		TMS320C64x_DEAL_m2_rr, TMS320C64X_INS_DEAL,
576*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
577*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
578*9a0e4156SSadaf Ebrahimi #endif
579*9a0e4156SSadaf Ebrahimi 	},
580*9a0e4156SSadaf Ebrahimi 	{
581*9a0e4156SSadaf Ebrahimi 		TMS320C64x_DOTP2_m1_rrp, TMS320C64X_INS_DOTP2,
582*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
583*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
584*9a0e4156SSadaf Ebrahimi #endif
585*9a0e4156SSadaf Ebrahimi 	},
586*9a0e4156SSadaf Ebrahimi 	{
587*9a0e4156SSadaf Ebrahimi 		TMS320C64x_DOTP2_m1_rrr, TMS320C64X_INS_DOTP2,
588*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
589*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
590*9a0e4156SSadaf Ebrahimi #endif
591*9a0e4156SSadaf Ebrahimi 	},
592*9a0e4156SSadaf Ebrahimi 	{
593*9a0e4156SSadaf Ebrahimi 		TMS320C64x_DOTPN2_m1_rrr, TMS320C64X_INS_DOTPN2,
594*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
595*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
596*9a0e4156SSadaf Ebrahimi #endif
597*9a0e4156SSadaf Ebrahimi 	},
598*9a0e4156SSadaf Ebrahimi 	{
599*9a0e4156SSadaf Ebrahimi 		TMS320C64x_DOTPNRSU2_m1_rrr, TMS320C64X_INS_DOTPNRSU2,
600*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
601*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
602*9a0e4156SSadaf Ebrahimi #endif
603*9a0e4156SSadaf Ebrahimi 	},
604*9a0e4156SSadaf Ebrahimi 	{
605*9a0e4156SSadaf Ebrahimi 		TMS320C64x_DOTPRSU2_m1_rrr, TMS320C64X_INS_DOTPRSU2,
606*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
607*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
608*9a0e4156SSadaf Ebrahimi #endif
609*9a0e4156SSadaf Ebrahimi 	},
610*9a0e4156SSadaf Ebrahimi 	{
611*9a0e4156SSadaf Ebrahimi 		TMS320C64x_DOTPSU4_m1_rrr, TMS320C64X_INS_DOTPSU4,
612*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
613*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
614*9a0e4156SSadaf Ebrahimi #endif
615*9a0e4156SSadaf Ebrahimi 	},
616*9a0e4156SSadaf Ebrahimi 	{
617*9a0e4156SSadaf Ebrahimi 		TMS320C64x_DOTPU4_m1_rrr, TMS320C64X_INS_DOTPU4,
618*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
619*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
620*9a0e4156SSadaf Ebrahimi #endif
621*9a0e4156SSadaf Ebrahimi 	},
622*9a0e4156SSadaf Ebrahimi 	{
623*9a0e4156SSadaf Ebrahimi 		TMS320C64x_EXTU_s15_riir, TMS320C64X_INS_EXTU,
624*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
625*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
626*9a0e4156SSadaf Ebrahimi #endif
627*9a0e4156SSadaf Ebrahimi 	},
628*9a0e4156SSadaf Ebrahimi 	{
629*9a0e4156SSadaf Ebrahimi 		TMS320C64x_EXTU_s1_rrr, TMS320C64X_INS_EXTU,
630*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
631*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
632*9a0e4156SSadaf Ebrahimi #endif
633*9a0e4156SSadaf Ebrahimi 	},
634*9a0e4156SSadaf Ebrahimi 	{
635*9a0e4156SSadaf Ebrahimi 		TMS320C64x_EXT_s15_riir, TMS320C64X_INS_EXT,
636*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
637*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
638*9a0e4156SSadaf Ebrahimi #endif
639*9a0e4156SSadaf Ebrahimi 	},
640*9a0e4156SSadaf Ebrahimi 	{
641*9a0e4156SSadaf Ebrahimi 		TMS320C64x_EXT_s1_rrr, TMS320C64X_INS_EXT,
642*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
643*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
644*9a0e4156SSadaf Ebrahimi #endif
645*9a0e4156SSadaf Ebrahimi 	},
646*9a0e4156SSadaf Ebrahimi 	{
647*9a0e4156SSadaf Ebrahimi 		TMS320C64x_GMPGTU_l1_ipr, TMS320C64X_INS_GMPGTU,
648*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
649*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
650*9a0e4156SSadaf Ebrahimi #endif
651*9a0e4156SSadaf Ebrahimi 	},
652*9a0e4156SSadaf Ebrahimi 	{
653*9a0e4156SSadaf Ebrahimi 		TMS320C64x_GMPGTU_l1_irr, TMS320C64X_INS_GMPGTU,
654*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
655*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
656*9a0e4156SSadaf Ebrahimi #endif
657*9a0e4156SSadaf Ebrahimi 	},
658*9a0e4156SSadaf Ebrahimi 	{
659*9a0e4156SSadaf Ebrahimi 		TMS320C64x_GMPGTU_l1_rpr, TMS320C64X_INS_GMPGTU,
660*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
661*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
662*9a0e4156SSadaf Ebrahimi #endif
663*9a0e4156SSadaf Ebrahimi 	},
664*9a0e4156SSadaf Ebrahimi 	{
665*9a0e4156SSadaf Ebrahimi 		TMS320C64x_GMPGTU_l1_rrr_x2, TMS320C64X_INS_GMPGTU,
666*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
667*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
668*9a0e4156SSadaf Ebrahimi #endif
669*9a0e4156SSadaf Ebrahimi 	},
670*9a0e4156SSadaf Ebrahimi 	{
671*9a0e4156SSadaf Ebrahimi 		TMS320C64x_GMPY4_m1_rrr, TMS320C64X_INS_GMPY4,
672*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
673*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
674*9a0e4156SSadaf Ebrahimi #endif
675*9a0e4156SSadaf Ebrahimi 	},
676*9a0e4156SSadaf Ebrahimi 	{
677*9a0e4156SSadaf Ebrahimi 		TMS320C64x_LDBU_d5_mr, TMS320C64X_INS_LDBU,
678*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
679*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
680*9a0e4156SSadaf Ebrahimi #endif
681*9a0e4156SSadaf Ebrahimi 	},
682*9a0e4156SSadaf Ebrahimi 	{
683*9a0e4156SSadaf Ebrahimi 		TMS320C64x_LDBU_d6_mr, TMS320C64X_INS_LDBU,
684*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
685*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
686*9a0e4156SSadaf Ebrahimi #endif
687*9a0e4156SSadaf Ebrahimi 	},
688*9a0e4156SSadaf Ebrahimi 	{
689*9a0e4156SSadaf Ebrahimi 		TMS320C64x_LDB_d5_mr, TMS320C64X_INS_LDB,
690*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
691*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
692*9a0e4156SSadaf Ebrahimi #endif
693*9a0e4156SSadaf Ebrahimi 	},
694*9a0e4156SSadaf Ebrahimi 	{
695*9a0e4156SSadaf Ebrahimi 		TMS320C64x_LDB_d6_mr, TMS320C64X_INS_LDB,
696*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
697*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
698*9a0e4156SSadaf Ebrahimi #endif
699*9a0e4156SSadaf Ebrahimi 	},
700*9a0e4156SSadaf Ebrahimi 	{
701*9a0e4156SSadaf Ebrahimi 		TMS320C64x_LDDW_d7_mp, TMS320C64X_INS_LDDW,
702*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
703*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
704*9a0e4156SSadaf Ebrahimi #endif
705*9a0e4156SSadaf Ebrahimi 	},
706*9a0e4156SSadaf Ebrahimi 	{
707*9a0e4156SSadaf Ebrahimi 		TMS320C64x_LDHU_d5_mr, TMS320C64X_INS_LDHU,
708*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
709*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
710*9a0e4156SSadaf Ebrahimi #endif
711*9a0e4156SSadaf Ebrahimi 	},
712*9a0e4156SSadaf Ebrahimi 	{
713*9a0e4156SSadaf Ebrahimi 		TMS320C64x_LDHU_d6_mr, TMS320C64X_INS_LDHU,
714*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
715*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
716*9a0e4156SSadaf Ebrahimi #endif
717*9a0e4156SSadaf Ebrahimi 	},
718*9a0e4156SSadaf Ebrahimi 	{
719*9a0e4156SSadaf Ebrahimi 		TMS320C64x_LDH_d5_mr, TMS320C64X_INS_LDH,
720*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
721*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
722*9a0e4156SSadaf Ebrahimi #endif
723*9a0e4156SSadaf Ebrahimi 	},
724*9a0e4156SSadaf Ebrahimi 	{
725*9a0e4156SSadaf Ebrahimi 		TMS320C64x_LDH_d6_mr, TMS320C64X_INS_LDH,
726*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
727*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
728*9a0e4156SSadaf Ebrahimi #endif
729*9a0e4156SSadaf Ebrahimi 	},
730*9a0e4156SSadaf Ebrahimi 	{
731*9a0e4156SSadaf Ebrahimi 		TMS320C64x_LDNDW_d8_mp, TMS320C64X_INS_LDNDW,
732*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
733*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
734*9a0e4156SSadaf Ebrahimi #endif
735*9a0e4156SSadaf Ebrahimi 	},
736*9a0e4156SSadaf Ebrahimi 	{
737*9a0e4156SSadaf Ebrahimi 		TMS320C64x_LDNW_d5_mr, TMS320C64X_INS_LDNW,
738*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
739*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
740*9a0e4156SSadaf Ebrahimi #endif
741*9a0e4156SSadaf Ebrahimi 	},
742*9a0e4156SSadaf Ebrahimi 	{
743*9a0e4156SSadaf Ebrahimi 		TMS320C64x_LDW_d5_mr, TMS320C64X_INS_LDW,
744*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
745*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
746*9a0e4156SSadaf Ebrahimi #endif
747*9a0e4156SSadaf Ebrahimi 	},
748*9a0e4156SSadaf Ebrahimi 	{
749*9a0e4156SSadaf Ebrahimi 		TMS320C64x_LDW_d6_mr, TMS320C64X_INS_LDW,
750*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
751*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
752*9a0e4156SSadaf Ebrahimi #endif
753*9a0e4156SSadaf Ebrahimi 	},
754*9a0e4156SSadaf Ebrahimi 	{
755*9a0e4156SSadaf Ebrahimi 		TMS320C64x_LMBD_l1_irr, TMS320C64X_INS_LMBD,
756*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
757*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
758*9a0e4156SSadaf Ebrahimi #endif
759*9a0e4156SSadaf Ebrahimi 	},
760*9a0e4156SSadaf Ebrahimi 	{
761*9a0e4156SSadaf Ebrahimi 		TMS320C64x_LMBD_l1_rrr_x2, TMS320C64X_INS_LMBD,
762*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
763*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
764*9a0e4156SSadaf Ebrahimi #endif
765*9a0e4156SSadaf Ebrahimi 	},
766*9a0e4156SSadaf Ebrahimi 	{
767*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MAX2_l1_rrr_x2, TMS320C64X_INS_MAX2,
768*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
769*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
770*9a0e4156SSadaf Ebrahimi #endif
771*9a0e4156SSadaf Ebrahimi 	},
772*9a0e4156SSadaf Ebrahimi 	{
773*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MAXU4_l1_rrr_x2, TMS320C64X_INS_MAXU4,
774*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
775*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
776*9a0e4156SSadaf Ebrahimi #endif
777*9a0e4156SSadaf Ebrahimi 	},
778*9a0e4156SSadaf Ebrahimi 	{
779*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MIN2_l1_rrr_x2, TMS320C64X_INS_MIN2,
780*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
781*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
782*9a0e4156SSadaf Ebrahimi #endif
783*9a0e4156SSadaf Ebrahimi 	},
784*9a0e4156SSadaf Ebrahimi 	{
785*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MINU4_l1_rrr_x2, TMS320C64X_INS_MINU4,
786*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
787*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
788*9a0e4156SSadaf Ebrahimi #endif
789*9a0e4156SSadaf Ebrahimi 	},
790*9a0e4156SSadaf Ebrahimi 	{
791*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MPY2_m1_rrp, TMS320C64X_INS_MPY2,
792*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
793*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
794*9a0e4156SSadaf Ebrahimi #endif
795*9a0e4156SSadaf Ebrahimi 	},
796*9a0e4156SSadaf Ebrahimi 	{
797*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MPYHIR_m1_rrr, TMS320C64X_INS_MPYHIR,
798*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
799*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
800*9a0e4156SSadaf Ebrahimi #endif
801*9a0e4156SSadaf Ebrahimi 	},
802*9a0e4156SSadaf Ebrahimi 	{
803*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MPYHI_m1_rrp, TMS320C64X_INS_MPYHI,
804*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
805*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
806*9a0e4156SSadaf Ebrahimi #endif
807*9a0e4156SSadaf Ebrahimi 	},
808*9a0e4156SSadaf Ebrahimi 	{
809*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MPYHLU_m4_rrr, TMS320C64X_INS_MPYHLU,
810*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
811*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
812*9a0e4156SSadaf Ebrahimi #endif
813*9a0e4156SSadaf Ebrahimi 	},
814*9a0e4156SSadaf Ebrahimi 	{
815*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MPYHL_m4_rrr, TMS320C64X_INS_MPYHL,
816*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
817*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
818*9a0e4156SSadaf Ebrahimi #endif
819*9a0e4156SSadaf Ebrahimi 	},
820*9a0e4156SSadaf Ebrahimi 	{
821*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MPYHSLU_m4_rrr, TMS320C64X_INS_MPYHSLU,
822*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
823*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
824*9a0e4156SSadaf Ebrahimi #endif
825*9a0e4156SSadaf Ebrahimi 	},
826*9a0e4156SSadaf Ebrahimi 	{
827*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MPYHSU_m4_rrr, TMS320C64X_INS_MPYHSU,
828*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
829*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
830*9a0e4156SSadaf Ebrahimi #endif
831*9a0e4156SSadaf Ebrahimi 	},
832*9a0e4156SSadaf Ebrahimi 	{
833*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MPYHULS_m4_rrr, TMS320C64X_INS_MPYHULS,
834*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
835*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
836*9a0e4156SSadaf Ebrahimi #endif
837*9a0e4156SSadaf Ebrahimi 	},
838*9a0e4156SSadaf Ebrahimi 	{
839*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MPYHUS_m4_rrr, TMS320C64X_INS_MPYHUS,
840*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
841*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
842*9a0e4156SSadaf Ebrahimi #endif
843*9a0e4156SSadaf Ebrahimi 	},
844*9a0e4156SSadaf Ebrahimi 	{
845*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MPYHU_m4_rrr, TMS320C64X_INS_MPYHU,
846*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
847*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
848*9a0e4156SSadaf Ebrahimi #endif
849*9a0e4156SSadaf Ebrahimi 	},
850*9a0e4156SSadaf Ebrahimi 	{
851*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MPYH_m4_rrr, TMS320C64X_INS_MPYH,
852*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
853*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
854*9a0e4156SSadaf Ebrahimi #endif
855*9a0e4156SSadaf Ebrahimi 	},
856*9a0e4156SSadaf Ebrahimi 	{
857*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MPYLHU_m4_rrr, TMS320C64X_INS_MPYLHU,
858*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
859*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
860*9a0e4156SSadaf Ebrahimi #endif
861*9a0e4156SSadaf Ebrahimi 	},
862*9a0e4156SSadaf Ebrahimi 	{
863*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MPYLH_m4_rrr, TMS320C64X_INS_MPYLH,
864*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
865*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
866*9a0e4156SSadaf Ebrahimi #endif
867*9a0e4156SSadaf Ebrahimi 	},
868*9a0e4156SSadaf Ebrahimi 	{
869*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MPYLIR_m1_rrr, TMS320C64X_INS_MPYLIR,
870*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
871*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
872*9a0e4156SSadaf Ebrahimi #endif
873*9a0e4156SSadaf Ebrahimi 	},
874*9a0e4156SSadaf Ebrahimi 	{
875*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MPYLI_m1_rrp, TMS320C64X_INS_MPYLI,
876*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
877*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
878*9a0e4156SSadaf Ebrahimi #endif
879*9a0e4156SSadaf Ebrahimi 	},
880*9a0e4156SSadaf Ebrahimi 	{
881*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MPYLSHU_m4_rrr, TMS320C64X_INS_MPYLSHU,
882*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
883*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
884*9a0e4156SSadaf Ebrahimi #endif
885*9a0e4156SSadaf Ebrahimi 	},
886*9a0e4156SSadaf Ebrahimi 	{
887*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MPYLUHS_m4_rrr, TMS320C64X_INS_MPYLUHS,
888*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
889*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
890*9a0e4156SSadaf Ebrahimi #endif
891*9a0e4156SSadaf Ebrahimi 	},
892*9a0e4156SSadaf Ebrahimi 	{
893*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MPYSU4_m1_rrp, TMS320C64X_INS_MPYSU4,
894*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
895*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
896*9a0e4156SSadaf Ebrahimi #endif
897*9a0e4156SSadaf Ebrahimi 	},
898*9a0e4156SSadaf Ebrahimi 	{
899*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MPYSU_m4_irr, TMS320C64X_INS_MPYSU,
900*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
901*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
902*9a0e4156SSadaf Ebrahimi #endif
903*9a0e4156SSadaf Ebrahimi 	},
904*9a0e4156SSadaf Ebrahimi 	{
905*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MPYSU_m4_rrr, TMS320C64X_INS_MPYSU,
906*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
907*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
908*9a0e4156SSadaf Ebrahimi #endif
909*9a0e4156SSadaf Ebrahimi 	},
910*9a0e4156SSadaf Ebrahimi 	{
911*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MPYU4_m1_rrp, TMS320C64X_INS_MPYU4,
912*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
913*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
914*9a0e4156SSadaf Ebrahimi #endif
915*9a0e4156SSadaf Ebrahimi 	},
916*9a0e4156SSadaf Ebrahimi 	{
917*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MPYUS_m4_rrr, TMS320C64X_INS_MPYUS,
918*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
919*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
920*9a0e4156SSadaf Ebrahimi #endif
921*9a0e4156SSadaf Ebrahimi 	},
922*9a0e4156SSadaf Ebrahimi 	{
923*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MPYU_m4_rrr, TMS320C64X_INS_MPYU,
924*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
925*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
926*9a0e4156SSadaf Ebrahimi #endif
927*9a0e4156SSadaf Ebrahimi 	},
928*9a0e4156SSadaf Ebrahimi 	{
929*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MPY_m4_irr, TMS320C64X_INS_MPY,
930*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
931*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
932*9a0e4156SSadaf Ebrahimi #endif
933*9a0e4156SSadaf Ebrahimi 	},
934*9a0e4156SSadaf Ebrahimi 	{
935*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MPY_m4_rrr, TMS320C64X_INS_MPY,
936*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
937*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
938*9a0e4156SSadaf Ebrahimi #endif
939*9a0e4156SSadaf Ebrahimi 	},
940*9a0e4156SSadaf Ebrahimi 	{
941*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MVC_s1_rr, TMS320C64X_INS_MVC,
942*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
943*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
944*9a0e4156SSadaf Ebrahimi #endif
945*9a0e4156SSadaf Ebrahimi 	},
946*9a0e4156SSadaf Ebrahimi 	{
947*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MVC_s1_rr2, TMS320C64X_INS_MVC,
948*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
949*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
950*9a0e4156SSadaf Ebrahimi #endif
951*9a0e4156SSadaf Ebrahimi 	},
952*9a0e4156SSadaf Ebrahimi 	{
953*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MVD_m2_rr, TMS320C64X_INS_MVD,
954*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
955*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
956*9a0e4156SSadaf Ebrahimi #endif
957*9a0e4156SSadaf Ebrahimi 	},
958*9a0e4156SSadaf Ebrahimi 	{
959*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MVKLH_s12_ir, TMS320C64X_INS_MVKLH,
960*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
961*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
962*9a0e4156SSadaf Ebrahimi #endif
963*9a0e4156SSadaf Ebrahimi 	},
964*9a0e4156SSadaf Ebrahimi 	{
965*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MVKL_s12_ir, TMS320C64X_INS_MVKL,
966*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
967*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
968*9a0e4156SSadaf Ebrahimi #endif
969*9a0e4156SSadaf Ebrahimi 	},
970*9a0e4156SSadaf Ebrahimi 	{
971*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MVK_d1_rr, TMS320C64X_INS_MVK,
972*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
973*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
974*9a0e4156SSadaf Ebrahimi #endif
975*9a0e4156SSadaf Ebrahimi 	},
976*9a0e4156SSadaf Ebrahimi 	{
977*9a0e4156SSadaf Ebrahimi 		TMS320C64x_MVK_l2_ir, TMS320C64X_INS_MVK,
978*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
979*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
980*9a0e4156SSadaf Ebrahimi #endif
981*9a0e4156SSadaf Ebrahimi 	},
982*9a0e4156SSadaf Ebrahimi 	{
983*9a0e4156SSadaf Ebrahimi 		TMS320C64x_NOP_n, TMS320C64X_INS_NOP,
984*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
985*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_NO, 0 }, 0, 0
986*9a0e4156SSadaf Ebrahimi #endif
987*9a0e4156SSadaf Ebrahimi 	},
988*9a0e4156SSadaf Ebrahimi 	{
989*9a0e4156SSadaf Ebrahimi 		TMS320C64x_NORM_l1_pr, TMS320C64X_INS_NORM,
990*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
991*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
992*9a0e4156SSadaf Ebrahimi #endif
993*9a0e4156SSadaf Ebrahimi 	},
994*9a0e4156SSadaf Ebrahimi 	{
995*9a0e4156SSadaf Ebrahimi 		TMS320C64x_NORM_l1_rr, TMS320C64X_INS_NORM,
996*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
997*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
998*9a0e4156SSadaf Ebrahimi #endif
999*9a0e4156SSadaf Ebrahimi 	},
1000*9a0e4156SSadaf Ebrahimi 	{
1001*9a0e4156SSadaf Ebrahimi 		TMS320C64x_OR_d2_rir, TMS320C64X_INS_OR,
1002*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1003*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
1004*9a0e4156SSadaf Ebrahimi #endif
1005*9a0e4156SSadaf Ebrahimi 	},
1006*9a0e4156SSadaf Ebrahimi 	{
1007*9a0e4156SSadaf Ebrahimi 		TMS320C64x_OR_d2_rrr, TMS320C64X_INS_OR,
1008*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1009*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
1010*9a0e4156SSadaf Ebrahimi #endif
1011*9a0e4156SSadaf Ebrahimi 	},
1012*9a0e4156SSadaf Ebrahimi 	{
1013*9a0e4156SSadaf Ebrahimi 		TMS320C64x_OR_l1_irr, TMS320C64X_INS_OR,
1014*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1015*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1016*9a0e4156SSadaf Ebrahimi #endif
1017*9a0e4156SSadaf Ebrahimi 	},
1018*9a0e4156SSadaf Ebrahimi 	{
1019*9a0e4156SSadaf Ebrahimi 		TMS320C64x_OR_l1_rrr_x2, TMS320C64X_INS_OR,
1020*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1021*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1022*9a0e4156SSadaf Ebrahimi #endif
1023*9a0e4156SSadaf Ebrahimi 	},
1024*9a0e4156SSadaf Ebrahimi 	{
1025*9a0e4156SSadaf Ebrahimi 		TMS320C64x_OR_s1_irr, TMS320C64X_INS_OR,
1026*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1027*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1028*9a0e4156SSadaf Ebrahimi #endif
1029*9a0e4156SSadaf Ebrahimi 	},
1030*9a0e4156SSadaf Ebrahimi 	{
1031*9a0e4156SSadaf Ebrahimi 		TMS320C64x_OR_s1_rrr, TMS320C64X_INS_OR,
1032*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1033*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1034*9a0e4156SSadaf Ebrahimi #endif
1035*9a0e4156SSadaf Ebrahimi 	},
1036*9a0e4156SSadaf Ebrahimi 	{
1037*9a0e4156SSadaf Ebrahimi 		TMS320C64x_PACK2_l1_rrr_x2, TMS320C64X_INS_PACK2,
1038*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1039*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1040*9a0e4156SSadaf Ebrahimi #endif
1041*9a0e4156SSadaf Ebrahimi 	},
1042*9a0e4156SSadaf Ebrahimi 	{
1043*9a0e4156SSadaf Ebrahimi 		TMS320C64x_PACK2_s4_rrr, TMS320C64X_INS_PACK2,
1044*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1045*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1046*9a0e4156SSadaf Ebrahimi #endif
1047*9a0e4156SSadaf Ebrahimi 	},
1048*9a0e4156SSadaf Ebrahimi 	{
1049*9a0e4156SSadaf Ebrahimi 		TMS320C64x_PACKH2_l1_rrr_x2, TMS320C64X_INS_PACKH2,
1050*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1051*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1052*9a0e4156SSadaf Ebrahimi #endif
1053*9a0e4156SSadaf Ebrahimi 	},
1054*9a0e4156SSadaf Ebrahimi 	{
1055*9a0e4156SSadaf Ebrahimi 		TMS320C64x_PACKH2_s1_rrr, TMS320C64X_INS_PACKH2,
1056*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1057*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1058*9a0e4156SSadaf Ebrahimi #endif
1059*9a0e4156SSadaf Ebrahimi 	},
1060*9a0e4156SSadaf Ebrahimi 	{
1061*9a0e4156SSadaf Ebrahimi 		TMS320C64x_PACKH4_l1_rrr_x2, TMS320C64X_INS_PACKH4,
1062*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1063*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1064*9a0e4156SSadaf Ebrahimi #endif
1065*9a0e4156SSadaf Ebrahimi 	},
1066*9a0e4156SSadaf Ebrahimi 	{
1067*9a0e4156SSadaf Ebrahimi 		TMS320C64x_PACKHL2_l1_rrr_x2, TMS320C64X_INS_PACKHL2,
1068*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1069*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1070*9a0e4156SSadaf Ebrahimi #endif
1071*9a0e4156SSadaf Ebrahimi 	},
1072*9a0e4156SSadaf Ebrahimi 	{
1073*9a0e4156SSadaf Ebrahimi 		TMS320C64x_PACKHL2_s1_rrr, TMS320C64X_INS_PACKHL2,
1074*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1075*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1076*9a0e4156SSadaf Ebrahimi #endif
1077*9a0e4156SSadaf Ebrahimi 	},
1078*9a0e4156SSadaf Ebrahimi 	{
1079*9a0e4156SSadaf Ebrahimi 		TMS320C64x_PACKL4_l1_rrr_x2, TMS320C64X_INS_PACKL4,
1080*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1081*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1082*9a0e4156SSadaf Ebrahimi #endif
1083*9a0e4156SSadaf Ebrahimi 	},
1084*9a0e4156SSadaf Ebrahimi 	{
1085*9a0e4156SSadaf Ebrahimi 		TMS320C64x_PACKLH2_l1_rrr_x2, TMS320C64X_INS_PACKLH2,
1086*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1087*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1088*9a0e4156SSadaf Ebrahimi #endif
1089*9a0e4156SSadaf Ebrahimi 	},
1090*9a0e4156SSadaf Ebrahimi 	{
1091*9a0e4156SSadaf Ebrahimi 		TMS320C64x_PACKLH2_s1_rrr, TMS320C64X_INS_PACKLH2,
1092*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1093*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1094*9a0e4156SSadaf Ebrahimi #endif
1095*9a0e4156SSadaf Ebrahimi 	},
1096*9a0e4156SSadaf Ebrahimi 	{
1097*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ROTL_m1_rir, TMS320C64X_INS_ROTL,
1098*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1099*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
1100*9a0e4156SSadaf Ebrahimi #endif
1101*9a0e4156SSadaf Ebrahimi 	},
1102*9a0e4156SSadaf Ebrahimi 	{
1103*9a0e4156SSadaf Ebrahimi 		TMS320C64x_ROTL_m1_rrr, TMS320C64X_INS_ROTL,
1104*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1105*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
1106*9a0e4156SSadaf Ebrahimi #endif
1107*9a0e4156SSadaf Ebrahimi 	},
1108*9a0e4156SSadaf Ebrahimi 	{
1109*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SADD2_s4_rrr, TMS320C64X_INS_SADD2,
1110*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1111*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1112*9a0e4156SSadaf Ebrahimi #endif
1113*9a0e4156SSadaf Ebrahimi 	},
1114*9a0e4156SSadaf Ebrahimi 	{
1115*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SADDU4_s4_rrr, TMS320C64X_INS_SADDU4,
1116*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1117*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1118*9a0e4156SSadaf Ebrahimi #endif
1119*9a0e4156SSadaf Ebrahimi 	},
1120*9a0e4156SSadaf Ebrahimi 	{
1121*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SADDUS2_s4_rrr, TMS320C64X_INS_SADDUS2,
1122*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1123*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1124*9a0e4156SSadaf Ebrahimi #endif
1125*9a0e4156SSadaf Ebrahimi 	},
1126*9a0e4156SSadaf Ebrahimi 	{
1127*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SADD_l1_ipp, TMS320C64X_INS_SADD,
1128*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1129*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1130*9a0e4156SSadaf Ebrahimi #endif
1131*9a0e4156SSadaf Ebrahimi 	},
1132*9a0e4156SSadaf Ebrahimi 	{
1133*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SADD_l1_irr, TMS320C64X_INS_SADD,
1134*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1135*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1136*9a0e4156SSadaf Ebrahimi #endif
1137*9a0e4156SSadaf Ebrahimi 	},
1138*9a0e4156SSadaf Ebrahimi 	{
1139*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SADD_l1_rpp, TMS320C64X_INS_SADD,
1140*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1141*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1142*9a0e4156SSadaf Ebrahimi #endif
1143*9a0e4156SSadaf Ebrahimi 	},
1144*9a0e4156SSadaf Ebrahimi 	{
1145*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SADD_l1_rrr_x2, TMS320C64X_INS_SADD,
1146*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1147*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1148*9a0e4156SSadaf Ebrahimi #endif
1149*9a0e4156SSadaf Ebrahimi 	},
1150*9a0e4156SSadaf Ebrahimi 	{
1151*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SADD_s1_rrr, TMS320C64X_INS_SADD,
1152*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1153*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1154*9a0e4156SSadaf Ebrahimi #endif
1155*9a0e4156SSadaf Ebrahimi 	},
1156*9a0e4156SSadaf Ebrahimi 	{
1157*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SAT_l1_pr, TMS320C64X_INS_SAT,
1158*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1159*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1160*9a0e4156SSadaf Ebrahimi #endif
1161*9a0e4156SSadaf Ebrahimi 	},
1162*9a0e4156SSadaf Ebrahimi 	{
1163*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SET_s15_riir, TMS320C64X_INS_SET,
1164*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1165*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1166*9a0e4156SSadaf Ebrahimi #endif
1167*9a0e4156SSadaf Ebrahimi 	},
1168*9a0e4156SSadaf Ebrahimi 	{
1169*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SET_s1_rrr, TMS320C64X_INS_SET,
1170*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1171*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1172*9a0e4156SSadaf Ebrahimi #endif
1173*9a0e4156SSadaf Ebrahimi 	},
1174*9a0e4156SSadaf Ebrahimi 	{
1175*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SHFL_m2_rr, TMS320C64X_INS_SHFL,
1176*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1177*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
1178*9a0e4156SSadaf Ebrahimi #endif
1179*9a0e4156SSadaf Ebrahimi 	},
1180*9a0e4156SSadaf Ebrahimi 	{
1181*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SHLMB_l1_rrr_x2, TMS320C64X_INS_SHLMB,
1182*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1183*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1184*9a0e4156SSadaf Ebrahimi #endif
1185*9a0e4156SSadaf Ebrahimi 	},
1186*9a0e4156SSadaf Ebrahimi 	{
1187*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SHLMB_s4_rrr, TMS320C64X_INS_SHLMB,
1188*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1189*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1190*9a0e4156SSadaf Ebrahimi #endif
1191*9a0e4156SSadaf Ebrahimi 	},
1192*9a0e4156SSadaf Ebrahimi 	{
1193*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SHL_s1_pip, TMS320C64X_INS_SHL,
1194*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1195*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1196*9a0e4156SSadaf Ebrahimi #endif
1197*9a0e4156SSadaf Ebrahimi 	},
1198*9a0e4156SSadaf Ebrahimi 	{
1199*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SHL_s1_prp, TMS320C64X_INS_SHL,
1200*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1201*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1202*9a0e4156SSadaf Ebrahimi #endif
1203*9a0e4156SSadaf Ebrahimi 	},
1204*9a0e4156SSadaf Ebrahimi 	{
1205*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SHL_s1_rip, TMS320C64X_INS_SHL,
1206*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1207*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1208*9a0e4156SSadaf Ebrahimi #endif
1209*9a0e4156SSadaf Ebrahimi 	},
1210*9a0e4156SSadaf Ebrahimi 	{
1211*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SHL_s1_rir, TMS320C64X_INS_SHL,
1212*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1213*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1214*9a0e4156SSadaf Ebrahimi #endif
1215*9a0e4156SSadaf Ebrahimi 	},
1216*9a0e4156SSadaf Ebrahimi 	{
1217*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SHL_s1_rrp, TMS320C64X_INS_SHL,
1218*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1219*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1220*9a0e4156SSadaf Ebrahimi #endif
1221*9a0e4156SSadaf Ebrahimi 	},
1222*9a0e4156SSadaf Ebrahimi 	{
1223*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SHL_s1_rrr, TMS320C64X_INS_SHL,
1224*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1225*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1226*9a0e4156SSadaf Ebrahimi #endif
1227*9a0e4156SSadaf Ebrahimi 	},
1228*9a0e4156SSadaf Ebrahimi 	{
1229*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SHR2_s1_rir, TMS320C64X_INS_SHR2,
1230*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1231*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1232*9a0e4156SSadaf Ebrahimi #endif
1233*9a0e4156SSadaf Ebrahimi 	},
1234*9a0e4156SSadaf Ebrahimi 	{
1235*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SHR2_s4_rrr, TMS320C64X_INS_SHR2,
1236*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1237*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1238*9a0e4156SSadaf Ebrahimi #endif
1239*9a0e4156SSadaf Ebrahimi 	},
1240*9a0e4156SSadaf Ebrahimi 	{
1241*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SHRMB_l1_rrr_x2, TMS320C64X_INS_SHRMB,
1242*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1243*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1244*9a0e4156SSadaf Ebrahimi #endif
1245*9a0e4156SSadaf Ebrahimi 	},
1246*9a0e4156SSadaf Ebrahimi 	{
1247*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SHRMB_s4_rrr, TMS320C64X_INS_SHRMB,
1248*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1249*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1250*9a0e4156SSadaf Ebrahimi #endif
1251*9a0e4156SSadaf Ebrahimi 	},
1252*9a0e4156SSadaf Ebrahimi 	{
1253*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SHRU2_s1_rir, TMS320C64X_INS_SHRU2,
1254*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1255*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1256*9a0e4156SSadaf Ebrahimi #endif
1257*9a0e4156SSadaf Ebrahimi 	},
1258*9a0e4156SSadaf Ebrahimi 	{
1259*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SHRU2_s4_rrr, TMS320C64X_INS_SHRU2,
1260*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1261*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1262*9a0e4156SSadaf Ebrahimi #endif
1263*9a0e4156SSadaf Ebrahimi 	},
1264*9a0e4156SSadaf Ebrahimi 	{
1265*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SHRU_s1_pip, TMS320C64X_INS_SHRU,
1266*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1267*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1268*9a0e4156SSadaf Ebrahimi #endif
1269*9a0e4156SSadaf Ebrahimi 	},
1270*9a0e4156SSadaf Ebrahimi 	{
1271*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SHRU_s1_prp, TMS320C64X_INS_SHRU,
1272*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1273*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1274*9a0e4156SSadaf Ebrahimi #endif
1275*9a0e4156SSadaf Ebrahimi 	},
1276*9a0e4156SSadaf Ebrahimi 	{
1277*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SHRU_s1_rir, TMS320C64X_INS_SHRU,
1278*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1279*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1280*9a0e4156SSadaf Ebrahimi #endif
1281*9a0e4156SSadaf Ebrahimi 	},
1282*9a0e4156SSadaf Ebrahimi 	{
1283*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SHRU_s1_rrr, TMS320C64X_INS_SHRU,
1284*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1285*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1286*9a0e4156SSadaf Ebrahimi #endif
1287*9a0e4156SSadaf Ebrahimi 	},
1288*9a0e4156SSadaf Ebrahimi 	{
1289*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SHR_s1_pip, TMS320C64X_INS_SHR,
1290*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1291*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1292*9a0e4156SSadaf Ebrahimi #endif
1293*9a0e4156SSadaf Ebrahimi 	},
1294*9a0e4156SSadaf Ebrahimi 	{
1295*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SHR_s1_prp, TMS320C64X_INS_SHR,
1296*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1297*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1298*9a0e4156SSadaf Ebrahimi #endif
1299*9a0e4156SSadaf Ebrahimi 	},
1300*9a0e4156SSadaf Ebrahimi 	{
1301*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SHR_s1_rir, TMS320C64X_INS_SHR,
1302*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1303*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1304*9a0e4156SSadaf Ebrahimi #endif
1305*9a0e4156SSadaf Ebrahimi 	},
1306*9a0e4156SSadaf Ebrahimi 	{
1307*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SHR_s1_rrr, TMS320C64X_INS_SHR,
1308*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1309*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1310*9a0e4156SSadaf Ebrahimi #endif
1311*9a0e4156SSadaf Ebrahimi 	},
1312*9a0e4156SSadaf Ebrahimi 	{
1313*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SMPY2_m1_rrp, TMS320C64X_INS_SMPY2,
1314*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1315*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
1316*9a0e4156SSadaf Ebrahimi #endif
1317*9a0e4156SSadaf Ebrahimi 	},
1318*9a0e4156SSadaf Ebrahimi 	{
1319*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SMPYHL_m4_rrr, TMS320C64X_INS_SMPYHL,
1320*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1321*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
1322*9a0e4156SSadaf Ebrahimi #endif
1323*9a0e4156SSadaf Ebrahimi 	},
1324*9a0e4156SSadaf Ebrahimi 	{
1325*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SMPYH_m4_rrr, TMS320C64X_INS_SMPYH,
1326*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1327*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
1328*9a0e4156SSadaf Ebrahimi #endif
1329*9a0e4156SSadaf Ebrahimi 	},
1330*9a0e4156SSadaf Ebrahimi 	{
1331*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SMPYLH_m4_rrr, TMS320C64X_INS_SMPYLH,
1332*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1333*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
1334*9a0e4156SSadaf Ebrahimi #endif
1335*9a0e4156SSadaf Ebrahimi 	},
1336*9a0e4156SSadaf Ebrahimi 	{
1337*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SMPY_m4_rrr, TMS320C64X_INS_SMPY,
1338*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1339*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
1340*9a0e4156SSadaf Ebrahimi #endif
1341*9a0e4156SSadaf Ebrahimi 	},
1342*9a0e4156SSadaf Ebrahimi 	{
1343*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SPACK2_s4_rrr, TMS320C64X_INS_SPACK2,
1344*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1345*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1346*9a0e4156SSadaf Ebrahimi #endif
1347*9a0e4156SSadaf Ebrahimi 	},
1348*9a0e4156SSadaf Ebrahimi 	{
1349*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SPACKU4_s4_rrr, TMS320C64X_INS_SPACKU4,
1350*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1351*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1352*9a0e4156SSadaf Ebrahimi #endif
1353*9a0e4156SSadaf Ebrahimi 	},
1354*9a0e4156SSadaf Ebrahimi 	{
1355*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SSHL_s1_rir, TMS320C64X_INS_SSHL,
1356*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1357*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1358*9a0e4156SSadaf Ebrahimi #endif
1359*9a0e4156SSadaf Ebrahimi 	},
1360*9a0e4156SSadaf Ebrahimi 	{
1361*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SSHL_s1_rrr, TMS320C64X_INS_SSHL,
1362*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1363*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1364*9a0e4156SSadaf Ebrahimi #endif
1365*9a0e4156SSadaf Ebrahimi 	},
1366*9a0e4156SSadaf Ebrahimi 	{
1367*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SSHVL_m1_rrr, TMS320C64X_INS_SSHVL,
1368*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1369*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
1370*9a0e4156SSadaf Ebrahimi #endif
1371*9a0e4156SSadaf Ebrahimi 	},
1372*9a0e4156SSadaf Ebrahimi 	{
1373*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SSHVR_m1_rrr, TMS320C64X_INS_SSHVR,
1374*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1375*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
1376*9a0e4156SSadaf Ebrahimi #endif
1377*9a0e4156SSadaf Ebrahimi 	},
1378*9a0e4156SSadaf Ebrahimi 	{
1379*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SSUB_l1_ipp, TMS320C64X_INS_SSUB,
1380*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1381*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1382*9a0e4156SSadaf Ebrahimi #endif
1383*9a0e4156SSadaf Ebrahimi 	},
1384*9a0e4156SSadaf Ebrahimi 	{
1385*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SSUB_l1_irr, TMS320C64X_INS_SSUB,
1386*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1387*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1388*9a0e4156SSadaf Ebrahimi #endif
1389*9a0e4156SSadaf Ebrahimi 	},
1390*9a0e4156SSadaf Ebrahimi 	{
1391*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SSUB_l1_rrr_x1, TMS320C64X_INS_SSUB,
1392*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1393*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1394*9a0e4156SSadaf Ebrahimi #endif
1395*9a0e4156SSadaf Ebrahimi 	},
1396*9a0e4156SSadaf Ebrahimi 	{
1397*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SSUB_l1_rrr_x2, TMS320C64X_INS_SSUB,
1398*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1399*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1400*9a0e4156SSadaf Ebrahimi #endif
1401*9a0e4156SSadaf Ebrahimi 	},
1402*9a0e4156SSadaf Ebrahimi 	{
1403*9a0e4156SSadaf Ebrahimi 		TMS320C64x_STB_d5_rm, TMS320C64X_INS_STB,
1404*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1405*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
1406*9a0e4156SSadaf Ebrahimi #endif
1407*9a0e4156SSadaf Ebrahimi 	},
1408*9a0e4156SSadaf Ebrahimi 	{
1409*9a0e4156SSadaf Ebrahimi 		TMS320C64x_STB_d6_rm, TMS320C64X_INS_STB,
1410*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1411*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
1412*9a0e4156SSadaf Ebrahimi #endif
1413*9a0e4156SSadaf Ebrahimi 	},
1414*9a0e4156SSadaf Ebrahimi 	{
1415*9a0e4156SSadaf Ebrahimi 		TMS320C64x_STDW_d7_pm, TMS320C64X_INS_STDW,
1416*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1417*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
1418*9a0e4156SSadaf Ebrahimi #endif
1419*9a0e4156SSadaf Ebrahimi 	},
1420*9a0e4156SSadaf Ebrahimi 	{
1421*9a0e4156SSadaf Ebrahimi 		TMS320C64x_STH_d5_rm, TMS320C64X_INS_STH,
1422*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1423*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
1424*9a0e4156SSadaf Ebrahimi #endif
1425*9a0e4156SSadaf Ebrahimi 	},
1426*9a0e4156SSadaf Ebrahimi 	{
1427*9a0e4156SSadaf Ebrahimi 		TMS320C64x_STH_d6_rm, TMS320C64X_INS_STH,
1428*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1429*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
1430*9a0e4156SSadaf Ebrahimi #endif
1431*9a0e4156SSadaf Ebrahimi 	},
1432*9a0e4156SSadaf Ebrahimi 	{
1433*9a0e4156SSadaf Ebrahimi 		TMS320C64x_STNDW_d8_pm, TMS320C64X_INS_STNDW,
1434*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1435*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
1436*9a0e4156SSadaf Ebrahimi #endif
1437*9a0e4156SSadaf Ebrahimi 	},
1438*9a0e4156SSadaf Ebrahimi 	{
1439*9a0e4156SSadaf Ebrahimi 		TMS320C64x_STNW_d5_rm, TMS320C64X_INS_STNW,
1440*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1441*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
1442*9a0e4156SSadaf Ebrahimi #endif
1443*9a0e4156SSadaf Ebrahimi 	},
1444*9a0e4156SSadaf Ebrahimi 	{
1445*9a0e4156SSadaf Ebrahimi 		TMS320C64x_STW_d5_rm, TMS320C64X_INS_STW,
1446*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1447*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
1448*9a0e4156SSadaf Ebrahimi #endif
1449*9a0e4156SSadaf Ebrahimi 	},
1450*9a0e4156SSadaf Ebrahimi 	{
1451*9a0e4156SSadaf Ebrahimi 		TMS320C64x_STW_d6_rm, TMS320C64X_INS_STW,
1452*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1453*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
1454*9a0e4156SSadaf Ebrahimi #endif
1455*9a0e4156SSadaf Ebrahimi 	},
1456*9a0e4156SSadaf Ebrahimi 	{
1457*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUB2_d2_rrr, TMS320C64X_INS_SUB2,
1458*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1459*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
1460*9a0e4156SSadaf Ebrahimi #endif
1461*9a0e4156SSadaf Ebrahimi 	},
1462*9a0e4156SSadaf Ebrahimi 	{
1463*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUB2_l1_rrr_x2, TMS320C64X_INS_SUB2,
1464*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1465*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1466*9a0e4156SSadaf Ebrahimi #endif
1467*9a0e4156SSadaf Ebrahimi 	},
1468*9a0e4156SSadaf Ebrahimi 	{
1469*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUB2_s1_rrr, TMS320C64X_INS_SUB2,
1470*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1471*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1472*9a0e4156SSadaf Ebrahimi #endif
1473*9a0e4156SSadaf Ebrahimi 	},
1474*9a0e4156SSadaf Ebrahimi 	{
1475*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUB4_l1_rrr_x2, TMS320C64X_INS_SUB4,
1476*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1477*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1478*9a0e4156SSadaf Ebrahimi #endif
1479*9a0e4156SSadaf Ebrahimi 	},
1480*9a0e4156SSadaf Ebrahimi 	{
1481*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUBABS4_l1_rrr_x2, TMS320C64X_INS_SUBABS4,
1482*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1483*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1484*9a0e4156SSadaf Ebrahimi #endif
1485*9a0e4156SSadaf Ebrahimi 	},
1486*9a0e4156SSadaf Ebrahimi 	{
1487*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUBAB_d1_rir, TMS320C64X_INS_SUBAB,
1488*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1489*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
1490*9a0e4156SSadaf Ebrahimi #endif
1491*9a0e4156SSadaf Ebrahimi 	},
1492*9a0e4156SSadaf Ebrahimi 	{
1493*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUBAB_d1_rrr, TMS320C64X_INS_SUBAB,
1494*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1495*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
1496*9a0e4156SSadaf Ebrahimi #endif
1497*9a0e4156SSadaf Ebrahimi 	},
1498*9a0e4156SSadaf Ebrahimi 	{
1499*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUBAH_d1_rir, TMS320C64X_INS_SUBAH,
1500*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1501*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
1502*9a0e4156SSadaf Ebrahimi #endif
1503*9a0e4156SSadaf Ebrahimi 	},
1504*9a0e4156SSadaf Ebrahimi 	{
1505*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUBAH_d1_rrr, TMS320C64X_INS_SUBAH,
1506*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1507*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
1508*9a0e4156SSadaf Ebrahimi #endif
1509*9a0e4156SSadaf Ebrahimi 	},
1510*9a0e4156SSadaf Ebrahimi 	{
1511*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUBAW_d1_rir, TMS320C64X_INS_SUBAW,
1512*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1513*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
1514*9a0e4156SSadaf Ebrahimi #endif
1515*9a0e4156SSadaf Ebrahimi 	},
1516*9a0e4156SSadaf Ebrahimi 	{
1517*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUBAW_d1_rrr, TMS320C64X_INS_SUBAW,
1518*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1519*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
1520*9a0e4156SSadaf Ebrahimi #endif
1521*9a0e4156SSadaf Ebrahimi 	},
1522*9a0e4156SSadaf Ebrahimi 	{
1523*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUBC_l1_rrr_x2, TMS320C64X_INS_SUBC,
1524*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1525*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1526*9a0e4156SSadaf Ebrahimi #endif
1527*9a0e4156SSadaf Ebrahimi 	},
1528*9a0e4156SSadaf Ebrahimi 	{
1529*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUBU_l1_rrp_x1, TMS320C64X_INS_SUBU,
1530*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1531*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1532*9a0e4156SSadaf Ebrahimi #endif
1533*9a0e4156SSadaf Ebrahimi 	},
1534*9a0e4156SSadaf Ebrahimi 	{
1535*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUBU_l1_rrp_x2, TMS320C64X_INS_SUBU,
1536*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1537*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1538*9a0e4156SSadaf Ebrahimi #endif
1539*9a0e4156SSadaf Ebrahimi 	},
1540*9a0e4156SSadaf Ebrahimi 	{
1541*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUB_d1_rir, TMS320C64X_INS_SUB,
1542*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1543*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
1544*9a0e4156SSadaf Ebrahimi #endif
1545*9a0e4156SSadaf Ebrahimi 	},
1546*9a0e4156SSadaf Ebrahimi 	{
1547*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUB_d1_rrr, TMS320C64X_INS_SUB,
1548*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1549*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
1550*9a0e4156SSadaf Ebrahimi #endif
1551*9a0e4156SSadaf Ebrahimi 	},
1552*9a0e4156SSadaf Ebrahimi 	{
1553*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUB_d2_rrr, TMS320C64X_INS_SUB,
1554*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1555*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
1556*9a0e4156SSadaf Ebrahimi #endif
1557*9a0e4156SSadaf Ebrahimi 	},
1558*9a0e4156SSadaf Ebrahimi 	{
1559*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUB_l1_ipp, TMS320C64X_INS_SUB,
1560*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1561*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1562*9a0e4156SSadaf Ebrahimi #endif
1563*9a0e4156SSadaf Ebrahimi 	},
1564*9a0e4156SSadaf Ebrahimi 	{
1565*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUB_l1_irr, TMS320C64X_INS_SUB,
1566*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1567*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1568*9a0e4156SSadaf Ebrahimi #endif
1569*9a0e4156SSadaf Ebrahimi 	},
1570*9a0e4156SSadaf Ebrahimi 	{
1571*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUB_l1_rrp_x1, TMS320C64X_INS_SUB,
1572*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1573*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1574*9a0e4156SSadaf Ebrahimi #endif
1575*9a0e4156SSadaf Ebrahimi 	},
1576*9a0e4156SSadaf Ebrahimi 	{
1577*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUB_l1_rrp_x2, TMS320C64X_INS_SUB,
1578*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1579*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1580*9a0e4156SSadaf Ebrahimi #endif
1581*9a0e4156SSadaf Ebrahimi 	},
1582*9a0e4156SSadaf Ebrahimi 	{
1583*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUB_l1_rrr_x1, TMS320C64X_INS_SUB,
1584*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1585*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1586*9a0e4156SSadaf Ebrahimi #endif
1587*9a0e4156SSadaf Ebrahimi 	},
1588*9a0e4156SSadaf Ebrahimi 	{
1589*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUB_l1_rrr_x2, TMS320C64X_INS_SUB,
1590*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1591*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1592*9a0e4156SSadaf Ebrahimi #endif
1593*9a0e4156SSadaf Ebrahimi 	},
1594*9a0e4156SSadaf Ebrahimi 	{
1595*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUB_s1_irr, TMS320C64X_INS_SUB,
1596*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1597*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1598*9a0e4156SSadaf Ebrahimi #endif
1599*9a0e4156SSadaf Ebrahimi 	},
1600*9a0e4156SSadaf Ebrahimi 	{
1601*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUB_s1_rrr, TMS320C64X_INS_SUB,
1602*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1603*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1604*9a0e4156SSadaf Ebrahimi #endif
1605*9a0e4156SSadaf Ebrahimi 	},
1606*9a0e4156SSadaf Ebrahimi 	{
1607*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SUB_s4_rrr, TMS320C64X_INS_SUB,
1608*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1609*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1610*9a0e4156SSadaf Ebrahimi #endif
1611*9a0e4156SSadaf Ebrahimi 	},
1612*9a0e4156SSadaf Ebrahimi 	{
1613*9a0e4156SSadaf Ebrahimi 		TMS320C64x_SWAP4_l2_rr, TMS320C64X_INS_SWAP4,
1614*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1615*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1616*9a0e4156SSadaf Ebrahimi #endif
1617*9a0e4156SSadaf Ebrahimi 	},
1618*9a0e4156SSadaf Ebrahimi 	{
1619*9a0e4156SSadaf Ebrahimi 		TMS320C64x_UNPKHU4_l2_rr, TMS320C64X_INS_UNPKHU4,
1620*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1621*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1622*9a0e4156SSadaf Ebrahimi #endif
1623*9a0e4156SSadaf Ebrahimi 	},
1624*9a0e4156SSadaf Ebrahimi 	{
1625*9a0e4156SSadaf Ebrahimi 		TMS320C64x_UNPKHU4_s14_rr, TMS320C64X_INS_UNPKHU4,
1626*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1627*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1628*9a0e4156SSadaf Ebrahimi #endif
1629*9a0e4156SSadaf Ebrahimi 	},
1630*9a0e4156SSadaf Ebrahimi 	{
1631*9a0e4156SSadaf Ebrahimi 		TMS320C64x_UNPKLU4_l2_rr, TMS320C64X_INS_UNPKLU4,
1632*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1633*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1634*9a0e4156SSadaf Ebrahimi #endif
1635*9a0e4156SSadaf Ebrahimi 	},
1636*9a0e4156SSadaf Ebrahimi 	{
1637*9a0e4156SSadaf Ebrahimi 		TMS320C64x_UNPKLU4_s14_rr, TMS320C64X_INS_UNPKLU4,
1638*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1639*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1640*9a0e4156SSadaf Ebrahimi #endif
1641*9a0e4156SSadaf Ebrahimi 	},
1642*9a0e4156SSadaf Ebrahimi 	{
1643*9a0e4156SSadaf Ebrahimi 		TMS320C64x_XOR_d2_rir, TMS320C64X_INS_XOR,
1644*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1645*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
1646*9a0e4156SSadaf Ebrahimi #endif
1647*9a0e4156SSadaf Ebrahimi 	},
1648*9a0e4156SSadaf Ebrahimi 	{
1649*9a0e4156SSadaf Ebrahimi 		TMS320C64x_XOR_d2_rrr, TMS320C64X_INS_XOR,
1650*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1651*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_D, 0 }, 0, 0
1652*9a0e4156SSadaf Ebrahimi #endif
1653*9a0e4156SSadaf Ebrahimi 	},
1654*9a0e4156SSadaf Ebrahimi 	{
1655*9a0e4156SSadaf Ebrahimi 		TMS320C64x_XOR_l1_irr, TMS320C64X_INS_XOR,
1656*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1657*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1658*9a0e4156SSadaf Ebrahimi #endif
1659*9a0e4156SSadaf Ebrahimi 	},
1660*9a0e4156SSadaf Ebrahimi 	{
1661*9a0e4156SSadaf Ebrahimi 		TMS320C64x_XOR_l1_rrr_x2, TMS320C64X_INS_XOR,
1662*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1663*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_L, 0 }, 0, 0
1664*9a0e4156SSadaf Ebrahimi #endif
1665*9a0e4156SSadaf Ebrahimi 	},
1666*9a0e4156SSadaf Ebrahimi 	{
1667*9a0e4156SSadaf Ebrahimi 		TMS320C64x_XOR_s1_irr, TMS320C64X_INS_XOR,
1668*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1669*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1670*9a0e4156SSadaf Ebrahimi #endif
1671*9a0e4156SSadaf Ebrahimi 	},
1672*9a0e4156SSadaf Ebrahimi 	{
1673*9a0e4156SSadaf Ebrahimi 		TMS320C64x_XOR_s1_rrr, TMS320C64X_INS_XOR,
1674*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1675*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_S, 0 }, 0, 0
1676*9a0e4156SSadaf Ebrahimi #endif
1677*9a0e4156SSadaf Ebrahimi 	},
1678*9a0e4156SSadaf Ebrahimi 	{
1679*9a0e4156SSadaf Ebrahimi 		TMS320C64x_XPND2_m2_rr, TMS320C64X_INS_XPND2,
1680*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1681*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
1682*9a0e4156SSadaf Ebrahimi #endif
1683*9a0e4156SSadaf Ebrahimi 	},
1684*9a0e4156SSadaf Ebrahimi 	{
1685*9a0e4156SSadaf Ebrahimi 		TMS320C64x_XPND4_m2_rr, TMS320C64X_INS_XPND4,
1686*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1687*9a0e4156SSadaf Ebrahimi 		{ 0 }, { 0 }, { TMS320C64X_GRP_FUNIT_M, 0 }, 0, 0
1688*9a0e4156SSadaf Ebrahimi #endif
1689*9a0e4156SSadaf Ebrahimi 	},
1690*9a0e4156SSadaf Ebrahimi };
1691*9a0e4156SSadaf Ebrahimi 
TMS320C64x_get_insn_id(cs_struct * h,cs_insn * insn,unsigned int id)1692*9a0e4156SSadaf Ebrahimi void TMS320C64x_get_insn_id(cs_struct *h, cs_insn *insn, unsigned int id)
1693*9a0e4156SSadaf Ebrahimi {
1694*9a0e4156SSadaf Ebrahimi 	unsigned short i;
1695*9a0e4156SSadaf Ebrahimi 
1696*9a0e4156SSadaf Ebrahimi 	i = insn_find(insns, ARR_SIZE(insns), id, &h->insn_cache);
1697*9a0e4156SSadaf Ebrahimi 	if (i != 0) {
1698*9a0e4156SSadaf Ebrahimi 		insn->id = insns[i].mapid;
1699*9a0e4156SSadaf Ebrahimi 
1700*9a0e4156SSadaf Ebrahimi 		if (h->detail) {
1701*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1702*9a0e4156SSadaf Ebrahimi 			memcpy(insn->detail->regs_read, insns[i].regs_use, sizeof(insns[i].regs_use));
1703*9a0e4156SSadaf Ebrahimi 			insn->detail->regs_read_count = (uint8_t)count_positive(insns[i].regs_use);
1704*9a0e4156SSadaf Ebrahimi 
1705*9a0e4156SSadaf Ebrahimi 			memcpy(insn->detail->regs_write, insns[i].regs_mod, sizeof(insns[i].regs_mod));
1706*9a0e4156SSadaf Ebrahimi 			insn->detail->regs_write_count = (uint8_t)count_positive(insns[i].regs_mod);
1707*9a0e4156SSadaf Ebrahimi 
1708*9a0e4156SSadaf Ebrahimi 			memcpy(insn->detail->groups, insns[i].groups, sizeof(insns[i].groups));
1709*9a0e4156SSadaf Ebrahimi 			insn->detail->groups_count = (uint8_t)count_positive8(insns[i].groups);
1710*9a0e4156SSadaf Ebrahimi 
1711*9a0e4156SSadaf Ebrahimi 			if (insns[i].branch || insns[i].indirect_branch) {
1712*9a0e4156SSadaf Ebrahimi 				insn->detail->groups[insn->detail->groups_count] = TMS320C64X_GRP_JUMP;
1713*9a0e4156SSadaf Ebrahimi 				insn->detail->groups_count++;
1714*9a0e4156SSadaf Ebrahimi 			}
1715*9a0e4156SSadaf Ebrahimi #endif
1716*9a0e4156SSadaf Ebrahimi 		}
1717*9a0e4156SSadaf Ebrahimi 	}
1718*9a0e4156SSadaf Ebrahimi }
1719*9a0e4156SSadaf Ebrahimi 
1720*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1721*9a0e4156SSadaf Ebrahimi //grep TMS320C64X_INS include/capstone/tms320c64x.h | awk '{print "{"$1 "\""tolower(substr($1, 16, length($1)-16))"\"""},"}'
1722*9a0e4156SSadaf Ebrahimi static name_map insn_name_maps[] = {
1723*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_INVALID, NULL},
1724*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_ABS, "abs"},
1725*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_ABS2, "abs2"},
1726*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_ADD, "add"},
1727*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_ADD2, "add2"},
1728*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_ADD4, "add4"},
1729*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_ADDAB, "addab"},
1730*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_ADDAD, "addad"},
1731*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_ADDAH, "addah"},
1732*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_ADDAW, "addaw"},
1733*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_ADDK, "addk"},
1734*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_ADDKPC, "addkpc"},
1735*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_ADDU, "addu"},
1736*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_AND, "and"},
1737*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_ANDN, "andn"},
1738*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_AVG2, "avg2"},
1739*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_AVGU4, "avgu4"},
1740*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_B, "b"},
1741*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_BDEC, "bdec"},
1742*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_BITC4, "bitc4"},
1743*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_BNOP, "bnop"},
1744*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_BPOS, "bpos"},
1745*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_CLR, "clr"},
1746*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_CMPEQ, "cmpeq"},
1747*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_CMPEQ2, "cmpeq2"},
1748*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_CMPEQ4, "cmpeq4"},
1749*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_CMPGT, "cmpgt"},
1750*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_CMPGT2, "cmpgt2"},
1751*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_CMPGTU4, "cmpgtu4"},
1752*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_CMPLT, "cmplt"},
1753*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_CMPLTU, "cmpltu"},
1754*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_DEAL, "deal"},
1755*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_DOTP2, "dotp2"},
1756*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_DOTPN2, "dotpn2"},
1757*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_DOTPNRSU2, "dotpnrsu2"},
1758*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_DOTPRSU2, "dotprsu2"},
1759*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_DOTPSU4, "dotpsu4"},
1760*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_DOTPU4, "dotpu4"},
1761*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_EXT, "ext"},
1762*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_EXTU, "extu"},
1763*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_GMPGTU, "gmpgtu"},
1764*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_GMPY4, "gmpy4"},
1765*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_LDB, "ldb"},
1766*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_LDBU, "ldbu"},
1767*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_LDDW, "lddw"},
1768*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_LDH, "ldh"},
1769*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_LDHU, "ldhu"},
1770*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_LDNDW, "ldndw"},
1771*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_LDNW, "ldnw"},
1772*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_LDW, "ldw"},
1773*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_LMBD, "lmbd"},
1774*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MAX2, "max2"},
1775*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MAXU4, "maxu4"},
1776*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MIN2, "min2"},
1777*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MINU4, "minu4"},
1778*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MPY, "mpy"},
1779*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MPY2, "mpy2"},
1780*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MPYH, "mpyh"},
1781*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MPYHI, "mpyhi"},
1782*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MPYHIR, "mpyhir"},
1783*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MPYHL, "mpyhl"},
1784*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MPYHLU, "mpyhlu"},
1785*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MPYHSLU, "mpyhslu"},
1786*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MPYHSU, "mpyhsu"},
1787*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MPYHU, "mpyhu"},
1788*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MPYHULS, "mpyhuls"},
1789*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MPYHUS, "mpyhus"},
1790*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MPYLH, "mpylh"},
1791*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MPYLHU, "mpylhu"},
1792*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MPYLI, "mpyli"},
1793*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MPYLIR, "mpylir"},
1794*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MPYLSHU, "mpylshu"},
1795*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MPYLUHS, "mpyluhs"},
1796*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MPYSU, "mpysu"},
1797*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MPYSU4, "mpysu4"},
1798*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MPYU, "mpyu"},
1799*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MPYU4, "mpyu4"},
1800*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MPYUS, "mpyus"},
1801*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MVC, "mvc"},
1802*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MVD, "mvd"},
1803*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MVK, "mvk"},
1804*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MVKL, "mvkl"},
1805*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MVKLH, "mvklh"},
1806*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_NOP, "nop"},
1807*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_NORM, "norm"},
1808*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_OR, "or"},
1809*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_PACK2, "pack2"},
1810*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_PACKH2, "packh2"},
1811*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_PACKH4, "packh4"},
1812*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_PACKHL2, "packhl2"},
1813*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_PACKL4, "packl4"},
1814*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_PACKLH2, "packlh2"},
1815*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_ROTL, "rotl"},
1816*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SADD, "sadd"},
1817*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SADD2, "sadd2"},
1818*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SADDU4, "saddu4"},
1819*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SADDUS2, "saddus2"},
1820*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SAT, "sat"},
1821*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SET, "set"},
1822*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SHFL, "shfl"},
1823*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SHL, "shl"},
1824*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SHLMB, "shlmb"},
1825*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SHR, "shr"},
1826*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SHR2, "shr2"},
1827*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SHRMB, "shrmb"},
1828*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SHRU, "shru"},
1829*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SHRU2, "shru2"},
1830*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SMPY, "smpy"},
1831*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SMPY2, "smpy2"},
1832*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SMPYH, "smpyh"},
1833*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SMPYHL, "smpyhl"},
1834*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SMPYLH, "smpylh"},
1835*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SPACK2, "spack2"},
1836*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SPACKU4, "spacku4"},
1837*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SSHL, "sshl"},
1838*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SSHVL, "sshvl"},
1839*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SSHVR, "sshvr"},
1840*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SSUB, "ssub"},
1841*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_STB, "stb"},
1842*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_STDW, "stdw"},
1843*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_STH, "sth"},
1844*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_STNDW, "stndw"},
1845*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_STNW, "stnw"},
1846*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_STW, "stw"},
1847*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SUB, "sub"},
1848*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SUB2, "sub2"},
1849*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SUB4, "sub4"},
1850*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SUBAB, "subab"},
1851*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SUBABS4, "subabs4"},
1852*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SUBAH, "subah"},
1853*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SUBAW, "subaw"},
1854*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SUBC, "subc"},
1855*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SUBU, "subu"},
1856*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SWAP4, "swap4"},
1857*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_UNPKHU4, "unpkhu4"},
1858*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_UNPKLU4, "unpklu4"},
1859*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_XOR, "xor"},
1860*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_XPND2, "xpnd2"},
1861*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_XPND4, "xpnd4"},
1862*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_IDLE, "idle"},
1863*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_MV, "mv"},
1864*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_NEG, "neg"},
1865*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_NOT, "not"},
1866*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_SWAP2, "swap2"},
1867*9a0e4156SSadaf Ebrahimi 	{TMS320C64X_INS_ZERO, "zero"},
1868*9a0e4156SSadaf Ebrahimi };
1869*9a0e4156SSadaf Ebrahimi 
1870*9a0e4156SSadaf Ebrahimi #endif
1871*9a0e4156SSadaf Ebrahimi 
TMS320C64x_insn_name(csh handle,unsigned int id)1872*9a0e4156SSadaf Ebrahimi const char *TMS320C64x_insn_name(csh handle, unsigned int id)
1873*9a0e4156SSadaf Ebrahimi {
1874*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1875*9a0e4156SSadaf Ebrahimi 	if (id >= TMS320C64X_INS_ENDING)
1876*9a0e4156SSadaf Ebrahimi 		return NULL;
1877*9a0e4156SSadaf Ebrahimi 
1878*9a0e4156SSadaf Ebrahimi 	return insn_name_maps[id].name;
1879*9a0e4156SSadaf Ebrahimi #else
1880*9a0e4156SSadaf Ebrahimi 	return NULL;
1881*9a0e4156SSadaf Ebrahimi #endif
1882*9a0e4156SSadaf Ebrahimi }
1883*9a0e4156SSadaf Ebrahimi 
1884*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1885*9a0e4156SSadaf Ebrahimi static name_map group_name_maps[] = {
1886*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_GRP_INVALID, NULL },
1887*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_GRP_FUNIT_D, "funit_d" },
1888*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_GRP_FUNIT_L, "funit_l" },
1889*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_GRP_FUNIT_M, "funit_m" },
1890*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_GRP_FUNIT_S, "funit_s" },
1891*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_GRP_FUNIT_NO, "funit_no" },
1892*9a0e4156SSadaf Ebrahimi 	{ TMS320C64X_GRP_JUMP, "jump" },
1893*9a0e4156SSadaf Ebrahimi };
1894*9a0e4156SSadaf Ebrahimi #endif
1895*9a0e4156SSadaf Ebrahimi 
TMS320C64x_group_name(csh handle,unsigned int id)1896*9a0e4156SSadaf Ebrahimi const char *TMS320C64x_group_name(csh handle, unsigned int id)
1897*9a0e4156SSadaf Ebrahimi {
1898*9a0e4156SSadaf Ebrahimi #ifndef CAPSTONE_DIET
1899*9a0e4156SSadaf Ebrahimi 	unsigned int i;
1900*9a0e4156SSadaf Ebrahimi 
1901*9a0e4156SSadaf Ebrahimi 	if (id >= TMS320C64X_GRP_ENDING)
1902*9a0e4156SSadaf Ebrahimi 		return NULL;
1903*9a0e4156SSadaf Ebrahimi 
1904*9a0e4156SSadaf Ebrahimi 	for (i = 0; i < ARR_SIZE(group_name_maps); i++) {
1905*9a0e4156SSadaf Ebrahimi 		if (group_name_maps[i].id == id)
1906*9a0e4156SSadaf Ebrahimi 			return group_name_maps[i].name;
1907*9a0e4156SSadaf Ebrahimi 	}
1908*9a0e4156SSadaf Ebrahimi 
1909*9a0e4156SSadaf Ebrahimi 	return group_name_maps[id].name;
1910*9a0e4156SSadaf Ebrahimi #else
1911*9a0e4156SSadaf Ebrahimi 	return NULL;
1912*9a0e4156SSadaf Ebrahimi #endif
1913*9a0e4156SSadaf Ebrahimi }
1914*9a0e4156SSadaf Ebrahimi 
TMS320C64x_map_register(unsigned int r)1915*9a0e4156SSadaf Ebrahimi tms320c64x_reg TMS320C64x_map_register(unsigned int r)
1916*9a0e4156SSadaf Ebrahimi {
1917*9a0e4156SSadaf Ebrahimi 	static unsigned int map[] = { 0,
1918*9a0e4156SSadaf Ebrahimi 	};
1919*9a0e4156SSadaf Ebrahimi 
1920*9a0e4156SSadaf Ebrahimi 	if (r < ARR_SIZE(map))
1921*9a0e4156SSadaf Ebrahimi 		return map[r];
1922*9a0e4156SSadaf Ebrahimi 
1923*9a0e4156SSadaf Ebrahimi 	return 0;
1924*9a0e4156SSadaf Ebrahimi }
1925*9a0e4156SSadaf Ebrahimi 
1926*9a0e4156SSadaf Ebrahimi #endif
1927