Seregon/Hermes

Hermes/Dyforge is a program written in c++ allows you to inject a dll that can analyze all processes in a program, can be used for mod and reverse engeneering

C/3.8 KB/No license
DyMain/include/capstone/tricore.h
Hermes / DyMain / include / capstone / tricore.h
1#ifndef CAPSTONE_TRICORE_H
2#define CAPSTONE_TRICORE_H
3 
4/* Capstone Disassembly Engine */
5/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2014 */
6 
7#ifdef __cplusplus
8extern "C" {
9#endif
10 
11#if !defined(_MSC_VER) || !defined(_KERNEL_MODE)
12#include <stdint.h>
13#endif
14 
15#include "cs_operand.h"
16#include "platform.h"
17 
18#ifdef _MSC_VER
19#pragma warning(disable : 4201)
20#endif
21 
22/// Operand type for instruction's operands
23typedef enum tricore_op_type {
24 TRICORE_OP_INVALID = CS_OP_INVALID, ///< CS_OP_INVALID (Uninitialized).
25 TRICORE_OP_REG = CS_OP_REG, ///< CS_OP_REG (Register operand).
26 TRICORE_OP_IMM = CS_OP_IMM, ///< CS_OP_IMM (Immediate operand).
27 TRICORE_OP_MEM = CS_OP_MEM, ///< CS_OP_MEM (Memory operand).
28} tricore_op_type;
29 
30/// Instruction's operand referring to memory
31/// This is associated with TRICORE_OP_MEM operand type above
32typedef struct tricore_op_mem {
33 uint8_t base; ///< base register
34 int64_t disp; ///< displacement/offset value
35} tricore_op_mem;
36 
37/// Instruction operand
38typedef struct cs_tricore_op {
39 tricore_op_type type; ///< operand type
40 union {
41 unsigned int reg; ///< register value for REG operand
42 int64_t imm; ///< immediate value for IMM operand
43 tricore_op_mem mem; ///< base/disp value for MEM operand
44 };
45 /// This field is combined of cs_ac_type.
46 /// NOTE: this field is irrelevant if engine is compiled in DIET mode.
47 uint8_t access; ///< How is this operand accessed? (READ, WRITE or READ|WRITE)
48} cs_tricore_op;
49 
50#define NUM_TRICORE_OPS 8
51 
52/// Instruction structure
53typedef struct cs_tricore {
54 uint8_t op_count; ///< number of operands of this instruction.
55 cs_tricore_op
56 operands[NUM_TRICORE_OPS]; ///< operands for this instruction.
57 /// TODO: Mark the modified flags register in td files and regenerate inc files
58 bool update_flags; ///< whether the flags register is updated.
59} cs_tricore;
60 
61/// TriCore registers
62typedef enum tricore_reg {
63 // generated content <TriCoreGenCSRegEnum.inc> begin
64 // clang-format off
65 
66 TRICORE_REG_INVALID = 0,
67 TRICORE_REG_FCX = 1,
68 TRICORE_REG_PC = 2,
69 TRICORE_REG_PCXI = 3,
70 TRICORE_REG_PSW = 4,
71 TRICORE_REG_A0 = 5,
72 TRICORE_REG_A1 = 6,
73 TRICORE_REG_A2 = 7,
74 TRICORE_REG_A3 = 8,
75 TRICORE_REG_A4 = 9,
76 TRICORE_REG_A5 = 10,
77 TRICORE_REG_A6 = 11,
78 TRICORE_REG_A7 = 12,
79 TRICORE_REG_A8 = 13,
80 TRICORE_REG_A9 = 14,
81 TRICORE_REG_A10 = 15,
82 TRICORE_REG_A11 = 16,
83 TRICORE_REG_A12 = 17,
84 TRICORE_REG_A13 = 18,
85 TRICORE_REG_A14 = 19,
86 TRICORE_REG_A15 = 20,
87 TRICORE_REG_D0 = 21,
88 TRICORE_REG_D1 = 22,
89 TRICORE_REG_D2 = 23,
90 TRICORE_REG_D3 = 24,
91 TRICORE_REG_D4 = 25,
92 TRICORE_REG_D5 = 26,
93 TRICORE_REG_D6 = 27,
94 TRICORE_REG_D7 = 28,
95 TRICORE_REG_D8 = 29,
96 TRICORE_REG_D9 = 30,
97 TRICORE_REG_D10 = 31,
98 TRICORE_REG_D11 = 32,
99 TRICORE_REG_D12 = 33,
100 TRICORE_REG_D13 = 34,
101 TRICORE_REG_D14 = 35,
102 TRICORE_REG_D15 = 36,
103 TRICORE_REG_E0 = 37,
104 TRICORE_REG_E2 = 38,
105 TRICORE_REG_E4 = 39,
106 TRICORE_REG_E6 = 40,
107 TRICORE_REG_E8 = 41,
108 TRICORE_REG_E10 = 42,
109 TRICORE_REG_E12 = 43,
110 TRICORE_REG_E14 = 44,
111 TRICORE_REG_P0 = 45,
112 TRICORE_REG_P2 = 46,
113 TRICORE_REG_P4 = 47,
114 TRICORE_REG_P6 = 48,
115 TRICORE_REG_P8 = 49,
116 TRICORE_REG_P10 = 50,
117 TRICORE_REG_P12 = 51,
118 TRICORE_REG_P14 = 52,
119 TRICORE_REG_A0_A1 = 53,
120 TRICORE_REG_A2_A3 = 54,
121 TRICORE_REG_A4_A5 = 55,
122 TRICORE_REG_A6_A7 = 56,
123 TRICORE_REG_A8_A9 = 57,
124 TRICORE_REG_A10_A11 = 58,
125 TRICORE_REG_A12_A13 = 59,
126 TRICORE_REG_A14_A15 = 60,
127 TRICORE_REG_ENDING, // 61
128 
129 // clang-format on
130 // generated content <TriCoreGenCSRegEnum.inc> end
131} tricore_reg;
132 
133/// TriCore instruction
134typedef enum tricore_insn {
135 // generated content <TriCoreGenCSInsnEnum.inc> begin
136 // clang-format off
137 
138 TRICORE_INS_INVALID,
139 TRICORE_INS_ABSDIFS_B,
140 TRICORE_INS_ABSDIFS_H,
141 TRICORE_INS_ABSDIFS,
142 TRICORE_INS_ABSDIF_B,
143 TRICORE_INS_ABSDIF_H,
144 TRICORE_INS_ABSDIF,
145 TRICORE_INS_ABSS_B,
146 TRICORE_INS_ABSS_H,
147 TRICORE_INS_ABSS,
148 TRICORE_INS_ABS_B,
149 TRICORE_INS_ABS_DF,
150 TRICORE_INS_ABS_F,
151 TRICORE_INS_ABS_H,
152 TRICORE_INS_ABS,
153 TRICORE_INS_ADDC,
154 TRICORE_INS_ADDIH_A,
155 TRICORE_INS_ADDIH,
156 TRICORE_INS_ADDI,
157 TRICORE_INS_ADDSC_AT,
158 TRICORE_INS_ADDSC_A,
159 TRICORE_INS_ADDS_BU,
160 TRICORE_INS_ADDS_B,
161 TRICORE_INS_ADDS_H,
162 TRICORE_INS_ADDS_HU,
163 TRICORE_INS_ADDS_U,
164 TRICORE_INS_ADDS,
165 TRICORE_INS_ADDX,
166 TRICORE_INS_ADD_A,
167 TRICORE_INS_ADD_B,
168 TRICORE_INS_ADD_DF,
169 TRICORE_INS_ADD_F,
170 TRICORE_INS_ADD_H,
171 TRICORE_INS_ADD,
172 TRICORE_INS_ANDN_T,
173 TRICORE_INS_ANDN,
174 TRICORE_INS_AND_ANDN_T,
175 TRICORE_INS_AND_AND_T,
176 TRICORE_INS_AND_EQ,
177 TRICORE_INS_AND_GE_U,
178 TRICORE_INS_AND_GE,
179 TRICORE_INS_AND_LT_U,
180 TRICORE_INS_AND_LT,
181 TRICORE_INS_AND_NE,
182 TRICORE_INS_AND_NOR_T,
183 TRICORE_INS_AND_OR_T,
184 TRICORE_INS_AND_T,
185 TRICORE_INS_AND,
186 TRICORE_INS_BISR,
187 TRICORE_INS_BMERGE,
188 TRICORE_INS_BSPLIT,
189 TRICORE_INS_CACHEA_I,
190 TRICORE_INS_CACHEA_WI,
191 TRICORE_INS_CACHEA_W,
192 TRICORE_INS_CACHEI_I,
193 TRICORE_INS_CACHEI_WI,
194 TRICORE_INS_CACHEI_W,
195 TRICORE_INS_CADDN_A,
196 TRICORE_INS_CADDN,
197 TRICORE_INS_CADD_A,
198 TRICORE_INS_CADD,
199 TRICORE_INS_CALLA,
200 TRICORE_INS_CALLI,
201 TRICORE_INS_CALL,
202 TRICORE_INS_CLO_B,
203 TRICORE_INS_CLO_H,
204 TRICORE_INS_CLO,
205 TRICORE_INS_CLS_B,
206 TRICORE_INS_CLS_H,
207 TRICORE_INS_CLS,
208 TRICORE_INS_CLZ_B,
209 TRICORE_INS_CLZ_H,
210 TRICORE_INS_CLZ,
211 TRICORE_INS_CMOVN,
212 TRICORE_INS_CMOV,
213 TRICORE_INS_CMPSWAP_W,
214 TRICORE_INS_CMP_DF,
215 TRICORE_INS_CMP_F,
216 TRICORE_INS_CRC32B_W,
217 TRICORE_INS_CRC32L_W,
218 TRICORE_INS_CRC32_B,
219 TRICORE_INS_CRCN,
220 TRICORE_INS_CSUBN_A,
221 TRICORE_INS_CSUBN,
222 TRICORE_INS_CSUB_A,
223 TRICORE_INS_CSUB,
224 TRICORE_INS_DEBUG,
225 TRICORE_INS_DEXTR,
226 TRICORE_INS_DFTOF,
227 TRICORE_INS_DFTOIN,
228 TRICORE_INS_DFTOIZ,
229 TRICORE_INS_DFTOI,
230 TRICORE_INS_DFTOLZ,
231 TRICORE_INS_DFTOL,
232 TRICORE_INS_DFTOULZ,
233 TRICORE_INS_DFTOUL,
234 TRICORE_INS_DFTOUZ,
235 TRICORE_INS_DFTOU,
236 TRICORE_INS_DIFSC_A,
237 TRICORE_INS_DISABLE,
238 TRICORE_INS_DIV64_U,
239 TRICORE_INS_DIV64,
240 TRICORE_INS_DIV_DF,
241 TRICORE_INS_DIV_F,
242 TRICORE_INS_DIV_U,
243 TRICORE_INS_DIV,
244 TRICORE_INS_DSYNC,
245 TRICORE_INS_DVADJ,
246 TRICORE_INS_DVINIT_BU,
247 TRICORE_INS_DVINIT_B,
248 TRICORE_INS_DVINIT_HU,
249 TRICORE_INS_DVINIT_H,
250 TRICORE_INS_DVINIT_U,
251 TRICORE_INS_DVINIT,
252 TRICORE_INS_DVSTEP_U,
253 TRICORE_INS_DVSTEP,
254 TRICORE_INS_ENABLE,
255 TRICORE_INS_EQANY_B,
256 TRICORE_INS_EQANY_H,
257 TRICORE_INS_EQZ_A,
258 TRICORE_INS_EQ_A,
259 TRICORE_INS_EQ_B,
260 TRICORE_INS_EQ_H,
261 TRICORE_INS_EQ_W,
262 TRICORE_INS_EQ,
263 TRICORE_INS_EXTR_U,
264 TRICORE_INS_EXTR,
265 TRICORE_INS_FCALLA,
266 TRICORE_INS_FCALLI,
267 TRICORE_INS_FCALL,
268 TRICORE_INS_FRET,
269 TRICORE_INS_FTODF,
270 TRICORE_INS_FTOHP,
271 TRICORE_INS_FTOIN,
272 TRICORE_INS_FTOIZ,
273 TRICORE_INS_FTOI,
274 TRICORE_INS_FTOQ31Z,
275 TRICORE_INS_FTOQ31,
276 TRICORE_INS_FTOUZ,
277 TRICORE_INS_FTOU,
278 TRICORE_INS_GE_A,
279 TRICORE_INS_GE_U,
280 TRICORE_INS_GE,
281 TRICORE_INS_HPTOF,
282 TRICORE_INS_IMASK,
283 TRICORE_INS_INSERT,
284 TRICORE_INS_INSN_T,
285 TRICORE_INS_INS_T,
286 TRICORE_INS_ISYNC,
287 TRICORE_INS_ITODF,
288 TRICORE_INS_ITOF,
289 TRICORE_INS_IXMAX_U,
290 TRICORE_INS_IXMAX,
291 TRICORE_INS_IXMIN_U,
292 TRICORE_INS_IXMIN,
293 TRICORE_INS_JA,
294 TRICORE_INS_JEQ_A,
295 TRICORE_INS_JEQ,
296 TRICORE_INS_JGEZ,
297 TRICORE_INS_JGE_U,
298 TRICORE_INS_JGE,
299 TRICORE_INS_JGTZ,
300 TRICORE_INS_JI,
301 TRICORE_INS_JLA,
302 TRICORE_INS_JLEZ,
303 TRICORE_INS_JLI,
304 TRICORE_INS_JLTZ,
305 TRICORE_INS_JLT_U,
306 TRICORE_INS_JLT,
307 TRICORE_INS_JL,
308 TRICORE_INS_JNED,
309 TRICORE_INS_JNEI,
310 TRICORE_INS_JNE_A,
311 TRICORE_INS_JNE,
312 TRICORE_INS_JNZ_A,
313 TRICORE_INS_JNZ_T,
314 TRICORE_INS_JNZ,
315 TRICORE_INS_JZ_A,
316 TRICORE_INS_JZ_T,
317 TRICORE_INS_JZ,
318 TRICORE_INS_J,
319 TRICORE_INS_LDLCX,
320 TRICORE_INS_LDMST,
321 TRICORE_INS_LDUCX,
322 TRICORE_INS_LD_A,
323 TRICORE_INS_LD_BU,
324 TRICORE_INS_LD_B,
325 TRICORE_INS_LD_DA,
326 TRICORE_INS_LD_D,
327 TRICORE_INS_LD_HU,
328 TRICORE_INS_LD_H,
329 TRICORE_INS_LD_Q,
330 TRICORE_INS_LD_W,
331 TRICORE_INS_LEA,
332 TRICORE_INS_LHA,
333 TRICORE_INS_LOOPU,
334 TRICORE_INS_LOOP,
335 TRICORE_INS_LTODF,
336 TRICORE_INS_LT_A,
337 TRICORE_INS_LT_B,
338 TRICORE_INS_LT_BU,
339 TRICORE_INS_LT_H,
340 TRICORE_INS_LT_HU,
341 TRICORE_INS_LT_U,
342 TRICORE_INS_LT_W,
343 TRICORE_INS_LT_WU,
344 TRICORE_INS_LT,
345 TRICORE_INS_MADDMS_H,
346 TRICORE_INS_MADDMS_U,
347 TRICORE_INS_MADDMS,
348 TRICORE_INS_MADDM_H,
349 TRICORE_INS_MADDM_Q,
350 TRICORE_INS_MADDM_U,
351 TRICORE_INS_MADDM,
352 TRICORE_INS_MADDRS_H,
353 TRICORE_INS_MADDRS_Q,
354 TRICORE_INS_MADDR_H,
355 TRICORE_INS_MADDR_Q,
356 TRICORE_INS_MADDSUMS_H,
357 TRICORE_INS_MADDSUM_H,
358 TRICORE_INS_MADDSURS_H,
359 TRICORE_INS_MADDSUR_H,
360 TRICORE_INS_MADDSUS_H,
361 TRICORE_INS_MADDSU_H,
362 TRICORE_INS_MADDS_H,
363 TRICORE_INS_MADDS_Q,
364 TRICORE_INS_MADDS_U,
365 TRICORE_INS_MADDS,
366 TRICORE_INS_MADD_DF,
367 TRICORE_INS_MADD_F,
368 TRICORE_INS_MADD_H,
369 TRICORE_INS_MADD_Q,
370 TRICORE_INS_MADD_U,
371 TRICORE_INS_MADD,
372 TRICORE_INS_MAX_B,
373 TRICORE_INS_MAX_BU,
374 TRICORE_INS_MAX_DF,
375 TRICORE_INS_MAX_F,
376 TRICORE_INS_MAX_H,
377 TRICORE_INS_MAX_HU,
378 TRICORE_INS_MAX_U,
379 TRICORE_INS_MAX,
380 TRICORE_INS_MFCR,
381 TRICORE_INS_MIN_B,
382 TRICORE_INS_MIN_BU,
383 TRICORE_INS_MIN_DF,
384 TRICORE_INS_MIN_F,
385 TRICORE_INS_MIN_H,
386 TRICORE_INS_MIN_HU,
387 TRICORE_INS_MIN_U,
388 TRICORE_INS_MIN,
389 TRICORE_INS_MOVH_A,
390 TRICORE_INS_MOVH,
391 TRICORE_INS_MOVZ_A,
392 TRICORE_INS_MOV_AA,
393 TRICORE_INS_MOV_A,
394 TRICORE_INS_MOV_D,
395 TRICORE_INS_MOV_U,
396 TRICORE_INS_MOV,
397 TRICORE_INS_MSUBADMS_H,
398 TRICORE_INS_MSUBADM_H,
399 TRICORE_INS_MSUBADRS_H,
400 TRICORE_INS_MSUBADR_H,
401 TRICORE_INS_MSUBADS_H,
402 TRICORE_INS_MSUBAD_H,
403 TRICORE_INS_MSUBMS_H,
404 TRICORE_INS_MSUBMS_U,
405 TRICORE_INS_MSUBMS,
406 TRICORE_INS_MSUBM_H,
407 TRICORE_INS_MSUBM_Q,
408 TRICORE_INS_MSUBM_U,
409 TRICORE_INS_MSUBM,
410 TRICORE_INS_MSUBRS_H,
411 TRICORE_INS_MSUBRS_Q,
412 TRICORE_INS_MSUBR_H,
413 TRICORE_INS_MSUBR_Q,
414 TRICORE_INS_MSUBS_H,
415 TRICORE_INS_MSUBS_Q,
416 TRICORE_INS_MSUBS_U,
417 TRICORE_INS_MSUBS,
418 TRICORE_INS_MSUB_DF,
419 TRICORE_INS_MSUB_F,
420 TRICORE_INS_MSUB_H,
421 TRICORE_INS_MSUB_Q,
422 TRICORE_INS_MSUB_U,
423 TRICORE_INS_MSUB,
424 TRICORE_INS_MTCR,
425 TRICORE_INS_MULMS_H,
426 TRICORE_INS_MULM_H,
427 TRICORE_INS_MULM_U,
428 TRICORE_INS_MULM,
429 TRICORE_INS_MULR_H,
430 TRICORE_INS_MULR_Q,
431 TRICORE_INS_MULS_U,
432 TRICORE_INS_MULS,
433 TRICORE_INS_MUL_DF,
434 TRICORE_INS_MUL_F,
435 TRICORE_INS_MUL_H,
436 TRICORE_INS_MUL_Q,
437 TRICORE_INS_MUL_U,
438 TRICORE_INS_MUL,
439 TRICORE_INS_NAND_T,
440 TRICORE_INS_NAND,
441 TRICORE_INS_NEG_DF,
442 TRICORE_INS_NEG_F,
443 TRICORE_INS_NEZ_A,
444 TRICORE_INS_NE_A,
445 TRICORE_INS_NE,
446 TRICORE_INS_NOP,
447 TRICORE_INS_NOR_T,
448 TRICORE_INS_NOR,
449 TRICORE_INS_NOT,
450 TRICORE_INS_ORN_T,
451 TRICORE_INS_ORN,
452 TRICORE_INS_OR_ANDN_T,
453 TRICORE_INS_OR_AND_T,
454 TRICORE_INS_OR_EQ,
455 TRICORE_INS_OR_GE_U,
456 TRICORE_INS_OR_GE,
457 TRICORE_INS_OR_LT_U,
458 TRICORE_INS_OR_LT,
459 TRICORE_INS_OR_NE,
460 TRICORE_INS_OR_NOR_T,
461 TRICORE_INS_OR_OR_T,
462 TRICORE_INS_OR_T,
463 TRICORE_INS_OR,
464 TRICORE_INS_PACK,
465 TRICORE_INS_PARITY,
466 TRICORE_INS_POPCNT_W,
467 TRICORE_INS_Q31TOF,
468 TRICORE_INS_QSEED_DF,
469 TRICORE_INS_QSEED_F,
470 TRICORE_INS_REM64_U,
471 TRICORE_INS_REM64,
472 TRICORE_INS_RESTORE,
473 TRICORE_INS_RET,
474 TRICORE_INS_RFE,
475 TRICORE_INS_RFM,
476 TRICORE_INS_RSLCX,
477 TRICORE_INS_RSTV,
478 TRICORE_INS_RSUBS_U,
479 TRICORE_INS_RSUBS,
480 TRICORE_INS_RSUB,
481 TRICORE_INS_SAT_BU,
482 TRICORE_INS_SAT_B,
483 TRICORE_INS_SAT_HU,
484 TRICORE_INS_SAT_H,
485 TRICORE_INS_SELN_A,
486 TRICORE_INS_SELN,
487 TRICORE_INS_SEL_A,
488 TRICORE_INS_SEL,
489 TRICORE_INS_SHAS,
490 TRICORE_INS_SHA_B,
491 TRICORE_INS_SHA_H,
492 TRICORE_INS_SHA,
493 TRICORE_INS_SHUFFLE,
494 TRICORE_INS_SH_ANDN_T,
495 TRICORE_INS_SH_AND_T,
496 TRICORE_INS_SH_B,
497 TRICORE_INS_SH_EQ,
498 TRICORE_INS_SH_GE_U,
499 TRICORE_INS_SH_GE,
500 TRICORE_INS_SH_H,
501 TRICORE_INS_SH_LT_U,
502 TRICORE_INS_SH_LT,
503 TRICORE_INS_SH_NAND_T,
504 TRICORE_INS_SH_NE,
505 TRICORE_INS_SH_NOR_T,
506 TRICORE_INS_SH_ORN_T,
507 TRICORE_INS_SH_OR_T,
508 TRICORE_INS_SH_XNOR_T,
509 TRICORE_INS_SH_XOR_T,
510 TRICORE_INS_SH,
511 TRICORE_INS_STLCX,
512 TRICORE_INS_STUCX,
513 TRICORE_INS_ST_A,
514 TRICORE_INS_ST_B,
515 TRICORE_INS_ST_DA,
516 TRICORE_INS_ST_D,
517 TRICORE_INS_ST_H,
518 TRICORE_INS_ST_Q,
519 TRICORE_INS_ST_T,
520 TRICORE_INS_ST_W,
521 TRICORE_INS_SUBC,
522 TRICORE_INS_SUBSC_A,
523 TRICORE_INS_SUBS_BU,
524 TRICORE_INS_SUBS_B,
525 TRICORE_INS_SUBS_HU,
526 TRICORE_INS_SUBS_H,
527 TRICORE_INS_SUBS_U,
528 TRICORE_INS_SUBS,
529 TRICORE_INS_SUBX,
530 TRICORE_INS_SUB_A,
531 TRICORE_INS_SUB_B,
532 TRICORE_INS_SUB_DF,
533 TRICORE_INS_SUB_F,
534 TRICORE_INS_SUB_H,
535 TRICORE_INS_SUB,
536 TRICORE_INS_SVLCX,
537 TRICORE_INS_SWAPMSK_W,
538 TRICORE_INS_SWAP_A,
539 TRICORE_INS_SWAP_W,
540 TRICORE_INS_SYSCALL,
541 TRICORE_INS_TLBDEMAP,
542 TRICORE_INS_TLBFLUSH_A,
543 TRICORE_INS_TLBFLUSH_B,
544 TRICORE_INS_TLBMAP,
545 TRICORE_INS_TLBPROBE_A,
546 TRICORE_INS_TLBPROBE_I,
547 TRICORE_INS_TRAPSV,
548 TRICORE_INS_TRAPV,
549 TRICORE_INS_ULTODF,
550 TRICORE_INS_UNPACK,
551 TRICORE_INS_UPDFL,
552 TRICORE_INS_UTODF,
553 TRICORE_INS_UTOF,
554 TRICORE_INS_WAIT,
555 TRICORE_INS_XNOR_T,
556 TRICORE_INS_XNOR,
557 TRICORE_INS_XOR_EQ,
558 TRICORE_INS_XOR_GE_U,
559 TRICORE_INS_XOR_GE,
560 TRICORE_INS_XOR_LT_U,
561 TRICORE_INS_XOR_LT,
562 TRICORE_INS_XOR_NE,
563 TRICORE_INS_XOR_T,
564 TRICORE_INS_XOR,
565 
566 // clang-format on
567 // generated content <TriCoreGenCSInsnEnum.inc> end
568 TRICORE_INS_ENDING, // <-- mark the end of the list of instructions
569} tricore_insn;
570 
571/// Group of TriCore instructions
572typedef enum tricore_insn_group {
573 TRICORE_GRP_INVALID, ///< = CS_GRP_INVALID
574 /// Generic groups
575 TRICORE_GRP_CALL, ///< = CS_GRP_CALL
576 TRICORE_GRP_JUMP, ///< = CS_GRP_JUMP
577 TRICORE_GRP_ENDING, ///< mark the end of the list of groups
578} tricore_insn_group;
579 
580typedef enum tricore_feature_t {
581 TRICORE_FEATURE_INVALID = 0,
582 // generated content <TriCoreGenCSFeatureEnum.inc> begin
583 // clang-format off
584 
585 TRICORE_FEATURE_HASV110 = 128,
586 TRICORE_FEATURE_HASV120,
587 TRICORE_FEATURE_HASV130,
588 TRICORE_FEATURE_HASV131,
589 TRICORE_FEATURE_HASV160,
590 TRICORE_FEATURE_HASV161,
591 TRICORE_FEATURE_HASV162,
592 TRICORE_FEATURE_HASV180,
593 TRICORE_FEATURE_HASV120_UP,
594 TRICORE_FEATURE_HASV130_UP,
595 TRICORE_FEATURE_HASV131_UP,
596 TRICORE_FEATURE_HASV160_UP,
597 TRICORE_FEATURE_HASV161_UP,
598 TRICORE_FEATURE_HASV162_UP,
599 TRICORE_FEATURE_HASV180_UP,
600 TRICORE_FEATURE_HASV120_DN,
601 TRICORE_FEATURE_HASV130_DN,
602 TRICORE_FEATURE_HASV131_DN,
603 TRICORE_FEATURE_HASV160_DN,
604 TRICORE_FEATURE_HASV161_DN,
605 TRICORE_FEATURE_HASV162_DN,
606 TRICORE_FEATURE_HASV180_DN,
607 
608 // clang-format on
609 // generated content <TriCoreGenCSFeatureEnum.inc> end
610 TRICORE_FEATURE_ENDING, ///< mark the end of the list of features
611} tricore_feature;
612 
613#ifdef __cplusplus
614}
615#endif
616 
617#endif
618