1 //! \file
2 /*
3 **  Copyright (C) - Triton
4 **
5 **  This program is under the terms of the Apache License 2.0.
6 */
7 
8 #include <triton/arm32Specifications.hpp>
9 #include <triton/architecture.hpp>
10 #include <triton/cpuSize.hpp>
11 #include <triton/exceptions.hpp>
12 #include <triton/externalLibs.hpp>
13 
14 
15 
16 namespace triton {
17   namespace arch {
18     namespace arm {
19       namespace arm32 {
20 
Arm32Specifications(triton::arch::architecture_e arch)21         Arm32Specifications::Arm32Specifications(triton::arch::architecture_e arch) {
22           if (arch != triton::arch::ARCH_ARM32)
23               throw triton::exceptions::Architecture("ARM32Specifications::ARM32Specifications(): Invalid architecture.");
24 
25             // Fill registers_ with those available in Arm32 from spec
26             #define REG_SPEC(UPPER_NAME, LOWER_NAME, ARM32_UPPER, ARM32_LOWER, ARM32_PARENT, MUTABLE) \
27               registers_.emplace(ID_REG_ARM32_##UPPER_NAME,                                           \
28                                  triton::arch::Register(triton::arch::ID_REG_ARM32_##UPPER_NAME,      \
29                                                         #LOWER_NAME,                                  \
30                                                         triton::arch::ID_REG_ARM32_##ARM32_PARENT,    \
31                                                         ARM32_UPPER,                                  \
32                                                         ARM32_LOWER,                                  \
33                                                         MUTABLE)                                      \
34                                 );
35             // Handle register not available in capstone as normal registers
36             #define REG_SPEC_NO_CAPSTONE REG_SPEC
37             #include "triton/arm32.spec"
38         }
39 
40 
capstoneRegisterToTritonRegister(triton::uint32 id) const41         triton::arch::register_e Arm32Specifications::capstoneRegisterToTritonRegister(triton::uint32 id) const {
42           triton::arch::register_e tritonId = triton::arch::ID_REG_INVALID;
43 
44           switch (id) {
45             // Convert registers from capstone value to triton value
46             #define REG_SPEC(UPPER_NAME, _1, _2, _3, _4, _5)      \
47             case triton::extlibs::capstone::ARM_REG_##UPPER_NAME: \
48               tritonId = triton::arch::ID_REG_ARM32_##UPPER_NAME; \
49               break;
50             // Ignore registers not available in capstone
51             #define REG_SPEC_NO_CAPSTONE(_1, _2, _3, _4, _5, _6)
52             #include "triton/arm32.spec"
53 
54             default:
55               tritonId = triton::arch::ID_REG_INVALID;
56               break;
57           }
58 
59           return tritonId;
60         }
61 
62 
capstoneShiftToTritonShift(triton::uint32 id) const63         triton::arch::arm::shift_e Arm32Specifications::capstoneShiftToTritonShift(triton::uint32 id) const {
64           triton::arch::arm::shift_e tritonId = triton::arch::arm::ID_SHIFT_INVALID;
65 
66           switch (id) {
67             case triton::extlibs::capstone::ARM_SFT_INVALID:
68               tritonId = triton::arch::arm::ID_SHIFT_INVALID;
69               break;
70 
71             case triton::extlibs::capstone::ARM_SFT_ASR:
72               tritonId = triton::arch::arm::ID_SHIFT_ASR;
73               break;
74 
75             case triton::extlibs::capstone::ARM_SFT_LSL:
76               tritonId = triton::arch::arm::ID_SHIFT_LSL;
77               break;
78 
79             case triton::extlibs::capstone::ARM_SFT_LSR:
80               tritonId = triton::arch::arm::ID_SHIFT_LSR;
81               break;
82 
83             case triton::extlibs::capstone::ARM_SFT_ROR:
84               tritonId = triton::arch::arm::ID_SHIFT_ROR;
85               break;
86 
87             case triton::extlibs::capstone::ARM_SFT_RRX:
88               tritonId = triton::arch::arm::ID_SHIFT_RRX;
89               break;
90 
91             case triton::extlibs::capstone::ARM_SFT_ASR_REG:
92               tritonId = triton::arch::arm::ID_SHIFT_ASR_REG;
93               break;
94 
95             case triton::extlibs::capstone::ARM_SFT_LSL_REG:
96               tritonId = triton::arch::arm::ID_SHIFT_LSL_REG;
97               break;
98 
99             case triton::extlibs::capstone::ARM_SFT_LSR_REG:
100               tritonId = triton::arch::arm::ID_SHIFT_LSR_REG;
101               break;
102 
103             case triton::extlibs::capstone::ARM_SFT_ROR_REG:
104               tritonId = triton::arch::arm::ID_SHIFT_ROR_REG;
105               break;
106 
107             case triton::extlibs::capstone::ARM_SFT_RRX_REG:
108               tritonId = triton::arch::arm::ID_SHIFT_RRX_REG;
109               break;
110 
111             default:
112               tritonId = triton::arch::arm::ID_SHIFT_INVALID;
113               break;
114           }
115 
116           return tritonId;
117         }
118 
119 
capstoneConditionToTritonCondition(triton::uint32 id) const120         triton::arch::arm::condition_e Arm32Specifications::capstoneConditionToTritonCondition(triton::uint32 id) const {
121           triton::arch::arm::condition_e tritonId = triton::arch::arm::ID_CONDITION_INVALID;
122 
123           switch (id) {
124             case triton::extlibs::capstone::ARM_CC_INVALID:
125               tritonId = triton::arch::arm::ID_CONDITION_INVALID;
126               break;
127 
128             case triton::extlibs::capstone::ARM_CC_AL:
129               tritonId = triton::arch::arm::ID_CONDITION_AL;
130               break;
131 
132             case triton::extlibs::capstone::ARM_CC_EQ:
133               tritonId = triton::arch::arm::ID_CONDITION_EQ;
134               break;
135 
136             case triton::extlibs::capstone::ARM_CC_GE:
137               tritonId = triton::arch::arm::ID_CONDITION_GE;
138               break;
139 
140             case triton::extlibs::capstone::ARM_CC_GT:
141               tritonId = triton::arch::arm::ID_CONDITION_GT;
142               break;
143 
144             case triton::extlibs::capstone::ARM_CC_HI:
145               tritonId = triton::arch::arm::ID_CONDITION_HI;
146               break;
147 
148             case triton::extlibs::capstone::ARM_CC_HS:
149               tritonId = triton::arch::arm::ID_CONDITION_HS;
150               break;
151 
152             case triton::extlibs::capstone::ARM_CC_LE:
153               tritonId = triton::arch::arm::ID_CONDITION_LE;
154               break;
155 
156             case triton::extlibs::capstone::ARM_CC_LO:
157               tritonId = triton::arch::arm::ID_CONDITION_LO;
158               break;
159 
160             case triton::extlibs::capstone::ARM_CC_LS:
161               tritonId = triton::arch::arm::ID_CONDITION_LS;
162               break;
163 
164             case triton::extlibs::capstone::ARM_CC_LT:
165               tritonId = triton::arch::arm::ID_CONDITION_LT;
166               break;
167 
168             case triton::extlibs::capstone::ARM_CC_MI:
169               tritonId = triton::arch::arm::ID_CONDITION_MI;
170               break;
171 
172             case triton::extlibs::capstone::ARM_CC_NE:
173               tritonId = triton::arch::arm::ID_CONDITION_NE;
174               break;
175 
176             case triton::extlibs::capstone::ARM_CC_PL:
177               tritonId = triton::arch::arm::ID_CONDITION_PL;
178               break;
179 
180             case triton::extlibs::capstone::ARM_CC_VC:
181               tritonId = triton::arch::arm::ID_CONDITION_VC;
182               break;
183 
184             case triton::extlibs::capstone::ARM_CC_VS:
185               tritonId = triton::arch::arm::ID_CONDITION_VS;
186               break;
187 
188             default:
189               tritonId = triton::arch::arm::ID_CONDITION_INVALID;
190               break;
191           }
192 
193           return tritonId;
194         }
195 
196 
capstoneInstructionToTritonInstruction(triton::uint32 id) const197         triton::uint32 Arm32Specifications::capstoneInstructionToTritonInstruction(triton::uint32 id) const {
198           triton::uint32 tritonId = triton::arch::arm::arm32::ID_INS_INVALID;
199 
200           switch (id) {
201             case triton::extlibs::capstone::ARM_INS_INVALID:
202               tritonId = triton::arch::arm::arm32::ID_INS_INVALID;
203               break;
204 
205             case triton::extlibs::capstone::ARM_INS_ADC:
206               tritonId = triton::arch::arm::arm32::ID_INS_ADC;
207               break;
208 
209             case triton::extlibs::capstone::ARM_INS_ADD:
210               tritonId = triton::arch::arm::arm32::ID_INS_ADD;
211               break;
212 
213             case triton::extlibs::capstone::ARM_INS_ADR:
214               tritonId = triton::arch::arm::arm32::ID_INS_ADR;
215               break;
216 
217             case triton::extlibs::capstone::ARM_INS_AESD:
218               tritonId = triton::arch::arm::arm32::ID_INS_AESD;
219               break;
220 
221             case triton::extlibs::capstone::ARM_INS_AESE:
222               tritonId = triton::arch::arm::arm32::ID_INS_AESE;
223               break;
224 
225             case triton::extlibs::capstone::ARM_INS_AESIMC:
226               tritonId = triton::arch::arm::arm32::ID_INS_AESIMC;
227               break;
228 
229             case triton::extlibs::capstone::ARM_INS_AESMC:
230               tritonId = triton::arch::arm::arm32::ID_INS_AESMC;
231               break;
232 
233             case triton::extlibs::capstone::ARM_INS_AND:
234               tritonId = triton::arch::arm::arm32::ID_INS_AND;
235               break;
236 
237             case triton::extlibs::capstone::ARM_INS_BFC:
238               tritonId = triton::arch::arm::arm32::ID_INS_BFC;
239               break;
240 
241             case triton::extlibs::capstone::ARM_INS_BFI:
242               tritonId = triton::arch::arm::arm32::ID_INS_BFI;
243               break;
244 
245             case triton::extlibs::capstone::ARM_INS_BIC:
246               tritonId = triton::arch::arm::arm32::ID_INS_BIC;
247               break;
248 
249             case triton::extlibs::capstone::ARM_INS_BKPT:
250               tritonId = triton::arch::arm::arm32::ID_INS_BKPT;
251               break;
252 
253             case triton::extlibs::capstone::ARM_INS_BL:
254               tritonId = triton::arch::arm::arm32::ID_INS_BL;
255               break;
256 
257             case triton::extlibs::capstone::ARM_INS_BLX:
258               tritonId = triton::arch::arm::arm32::ID_INS_BLX;
259               break;
260 
261             case triton::extlibs::capstone::ARM_INS_BX:
262               tritonId = triton::arch::arm::arm32::ID_INS_BX;
263               break;
264 
265             case triton::extlibs::capstone::ARM_INS_BXJ:
266               tritonId = triton::arch::arm::arm32::ID_INS_BXJ;
267               break;
268 
269             case triton::extlibs::capstone::ARM_INS_B:
270               tritonId = triton::arch::arm::arm32::ID_INS_B;
271               break;
272 
273             case triton::extlibs::capstone::ARM_INS_CDP:
274               tritonId = triton::arch::arm::arm32::ID_INS_CDP;
275               break;
276 
277             case triton::extlibs::capstone::ARM_INS_CDP2:
278               tritonId = triton::arch::arm::arm32::ID_INS_CDP2;
279               break;
280 
281             case triton::extlibs::capstone::ARM_INS_CLREX:
282               tritonId = triton::arch::arm::arm32::ID_INS_CLREX;
283               break;
284 
285             case triton::extlibs::capstone::ARM_INS_CLZ:
286               tritonId = triton::arch::arm::arm32::ID_INS_CLZ;
287               break;
288 
289             case triton::extlibs::capstone::ARM_INS_CMN:
290               tritonId = triton::arch::arm::arm32::ID_INS_CMN;
291               break;
292 
293             case triton::extlibs::capstone::ARM_INS_CMP:
294               tritonId = triton::arch::arm::arm32::ID_INS_CMP;
295               break;
296 
297             case triton::extlibs::capstone::ARM_INS_CPS:
298               tritonId = triton::arch::arm::arm32::ID_INS_CPS;
299               break;
300 
301             case triton::extlibs::capstone::ARM_INS_CRC32B:
302               tritonId = triton::arch::arm::arm32::ID_INS_CRC32B;
303               break;
304 
305             case triton::extlibs::capstone::ARM_INS_CRC32CB:
306               tritonId = triton::arch::arm::arm32::ID_INS_CRC32CB;
307               break;
308 
309             case triton::extlibs::capstone::ARM_INS_CRC32CH:
310               tritonId = triton::arch::arm::arm32::ID_INS_CRC32CH;
311               break;
312 
313             case triton::extlibs::capstone::ARM_INS_CRC32CW:
314               tritonId = triton::arch::arm::arm32::ID_INS_CRC32CW;
315               break;
316 
317             case triton::extlibs::capstone::ARM_INS_CRC32H:
318               tritonId = triton::arch::arm::arm32::ID_INS_CRC32H;
319               break;
320 
321             case triton::extlibs::capstone::ARM_INS_CRC32W:
322               tritonId = triton::arch::arm::arm32::ID_INS_CRC32W;
323               break;
324 
325             case triton::extlibs::capstone::ARM_INS_DBG:
326               tritonId = triton::arch::arm::arm32::ID_INS_DBG;
327               break;
328 
329             case triton::extlibs::capstone::ARM_INS_DMB:
330               tritonId = triton::arch::arm::arm32::ID_INS_DMB;
331               break;
332 
333             case triton::extlibs::capstone::ARM_INS_DSB:
334               tritonId = triton::arch::arm::arm32::ID_INS_DSB;
335               break;
336 
337             case triton::extlibs::capstone::ARM_INS_EOR:
338               tritonId = triton::arch::arm::arm32::ID_INS_EOR;
339               break;
340 
341             case triton::extlibs::capstone::ARM_INS_ERET:
342               tritonId = triton::arch::arm::arm32::ID_INS_ERET;
343               break;
344 
345             case triton::extlibs::capstone::ARM_INS_VMOV:
346               tritonId = triton::arch::arm::arm32::ID_INS_VMOV;
347               break;
348 
349             case triton::extlibs::capstone::ARM_INS_FLDMDBX:
350               tritonId = triton::arch::arm::arm32::ID_INS_FLDMDBX;
351               break;
352 
353             case triton::extlibs::capstone::ARM_INS_FLDMIAX:
354               tritonId = triton::arch::arm::arm32::ID_INS_FLDMIAX;
355               break;
356 
357             case triton::extlibs::capstone::ARM_INS_VMRS:
358               tritonId = triton::arch::arm::arm32::ID_INS_VMRS;
359               break;
360 
361             case triton::extlibs::capstone::ARM_INS_FSTMDBX:
362               tritonId = triton::arch::arm::arm32::ID_INS_FSTMDBX;
363               break;
364 
365             case triton::extlibs::capstone::ARM_INS_FSTMIAX:
366               tritonId = triton::arch::arm::arm32::ID_INS_FSTMIAX;
367               break;
368 
369             case triton::extlibs::capstone::ARM_INS_HINT:
370               tritonId = triton::arch::arm::arm32::ID_INS_HINT;
371               break;
372 
373             case triton::extlibs::capstone::ARM_INS_HLT:
374               tritonId = triton::arch::arm::arm32::ID_INS_HLT;
375               break;
376 
377             case triton::extlibs::capstone::ARM_INS_HVC:
378               tritonId = triton::arch::arm::arm32::ID_INS_HVC;
379               break;
380 
381             case triton::extlibs::capstone::ARM_INS_ISB:
382               tritonId = triton::arch::arm::arm32::ID_INS_ISB;
383               break;
384 
385             case triton::extlibs::capstone::ARM_INS_LDA:
386               tritonId = triton::arch::arm::arm32::ID_INS_LDA;
387               break;
388 
389             case triton::extlibs::capstone::ARM_INS_LDAB:
390               tritonId = triton::arch::arm::arm32::ID_INS_LDAB;
391               break;
392 
393             case triton::extlibs::capstone::ARM_INS_LDAEX:
394               tritonId = triton::arch::arm::arm32::ID_INS_LDAEX;
395               break;
396 
397             case triton::extlibs::capstone::ARM_INS_LDAEXB:
398               tritonId = triton::arch::arm::arm32::ID_INS_LDAEXB;
399               break;
400 
401             case triton::extlibs::capstone::ARM_INS_LDAEXD:
402               tritonId = triton::arch::arm::arm32::ID_INS_LDAEXD;
403               break;
404 
405             case triton::extlibs::capstone::ARM_INS_LDAEXH:
406               tritonId = triton::arch::arm::arm32::ID_INS_LDAEXH;
407               break;
408 
409             case triton::extlibs::capstone::ARM_INS_LDAH:
410               tritonId = triton::arch::arm::arm32::ID_INS_LDAH;
411               break;
412 
413             case triton::extlibs::capstone::ARM_INS_LDC2L:
414               tritonId = triton::arch::arm::arm32::ID_INS_LDC2L;
415               break;
416 
417             case triton::extlibs::capstone::ARM_INS_LDC2:
418               tritonId = triton::arch::arm::arm32::ID_INS_LDC2;
419               break;
420 
421             case triton::extlibs::capstone::ARM_INS_LDCL:
422               tritonId = triton::arch::arm::arm32::ID_INS_LDCL;
423               break;
424 
425             case triton::extlibs::capstone::ARM_INS_LDC:
426               tritonId = triton::arch::arm::arm32::ID_INS_LDC;
427               break;
428 
429             case triton::extlibs::capstone::ARM_INS_LDMDA:
430               tritonId = triton::arch::arm::arm32::ID_INS_LDMDA;
431               break;
432 
433             case triton::extlibs::capstone::ARM_INS_LDMDB:
434               tritonId = triton::arch::arm::arm32::ID_INS_LDMDB;
435               break;
436 
437             case triton::extlibs::capstone::ARM_INS_LDM:
438               tritonId = triton::arch::arm::arm32::ID_INS_LDM;
439               break;
440 
441             case triton::extlibs::capstone::ARM_INS_LDMIB:
442               tritonId = triton::arch::arm::arm32::ID_INS_LDMIB;
443               break;
444 
445             case triton::extlibs::capstone::ARM_INS_LDRBT:
446               tritonId = triton::arch::arm::arm32::ID_INS_LDRBT;
447               break;
448 
449             case triton::extlibs::capstone::ARM_INS_LDRB:
450               tritonId = triton::arch::arm::arm32::ID_INS_LDRB;
451               break;
452 
453             case triton::extlibs::capstone::ARM_INS_LDRD:
454               tritonId = triton::arch::arm::arm32::ID_INS_LDRD;
455               break;
456 
457             case triton::extlibs::capstone::ARM_INS_LDREX:
458               tritonId = triton::arch::arm::arm32::ID_INS_LDREX;
459               break;
460 
461             case triton::extlibs::capstone::ARM_INS_LDREXB:
462               tritonId = triton::arch::arm::arm32::ID_INS_LDREXB;
463               break;
464 
465             case triton::extlibs::capstone::ARM_INS_LDREXD:
466               tritonId = triton::arch::arm::arm32::ID_INS_LDREXD;
467               break;
468 
469             case triton::extlibs::capstone::ARM_INS_LDREXH:
470               tritonId = triton::arch::arm::arm32::ID_INS_LDREXH;
471               break;
472 
473             case triton::extlibs::capstone::ARM_INS_LDRH:
474               tritonId = triton::arch::arm::arm32::ID_INS_LDRH;
475               break;
476 
477             case triton::extlibs::capstone::ARM_INS_LDRHT:
478               tritonId = triton::arch::arm::arm32::ID_INS_LDRHT;
479               break;
480 
481             case triton::extlibs::capstone::ARM_INS_LDRSB:
482               tritonId = triton::arch::arm::arm32::ID_INS_LDRSB;
483               break;
484 
485             case triton::extlibs::capstone::ARM_INS_LDRSBT:
486               tritonId = triton::arch::arm::arm32::ID_INS_LDRSBT;
487               break;
488 
489             case triton::extlibs::capstone::ARM_INS_LDRSH:
490               tritonId = triton::arch::arm::arm32::ID_INS_LDRSH;
491               break;
492 
493             case triton::extlibs::capstone::ARM_INS_LDRSHT:
494               tritonId = triton::arch::arm::arm32::ID_INS_LDRSHT;
495               break;
496 
497             case triton::extlibs::capstone::ARM_INS_LDRT:
498               tritonId = triton::arch::arm::arm32::ID_INS_LDRT;
499               break;
500 
501             case triton::extlibs::capstone::ARM_INS_LDR:
502               tritonId = triton::arch::arm::arm32::ID_INS_LDR;
503               break;
504 
505             case triton::extlibs::capstone::ARM_INS_MCR:
506               tritonId = triton::arch::arm::arm32::ID_INS_MCR;
507               break;
508 
509             case triton::extlibs::capstone::ARM_INS_MCR2:
510               tritonId = triton::arch::arm::arm32::ID_INS_MCR2;
511               break;
512 
513             case triton::extlibs::capstone::ARM_INS_MCRR:
514               tritonId = triton::arch::arm::arm32::ID_INS_MCRR;
515               break;
516 
517             case triton::extlibs::capstone::ARM_INS_MCRR2:
518               tritonId = triton::arch::arm::arm32::ID_INS_MCRR2;
519               break;
520 
521             case triton::extlibs::capstone::ARM_INS_MLA:
522               tritonId = triton::arch::arm::arm32::ID_INS_MLA;
523               break;
524 
525             case triton::extlibs::capstone::ARM_INS_MLS:
526               tritonId = triton::arch::arm::arm32::ID_INS_MLS;
527               break;
528 
529             case triton::extlibs::capstone::ARM_INS_MOV:
530               tritonId = triton::arch::arm::arm32::ID_INS_MOV;
531               break;
532 
533             case triton::extlibs::capstone::ARM_INS_MOVT:
534               tritonId = triton::arch::arm::arm32::ID_INS_MOVT;
535               break;
536 
537             case triton::extlibs::capstone::ARM_INS_MOVW:
538               tritonId = triton::arch::arm::arm32::ID_INS_MOVW;
539               break;
540 
541             case triton::extlibs::capstone::ARM_INS_MRC:
542               tritonId = triton::arch::arm::arm32::ID_INS_MRC;
543               break;
544 
545             case triton::extlibs::capstone::ARM_INS_MRC2:
546               tritonId = triton::arch::arm::arm32::ID_INS_MRC2;
547               break;
548 
549             case triton::extlibs::capstone::ARM_INS_MRRC:
550               tritonId = triton::arch::arm::arm32::ID_INS_MRRC;
551               break;
552 
553             case triton::extlibs::capstone::ARM_INS_MRRC2:
554               tritonId = triton::arch::arm::arm32::ID_INS_MRRC2;
555               break;
556 
557             case triton::extlibs::capstone::ARM_INS_MRS:
558               tritonId = triton::arch::arm::arm32::ID_INS_MRS;
559               break;
560 
561             case triton::extlibs::capstone::ARM_INS_MSR:
562               tritonId = triton::arch::arm::arm32::ID_INS_MSR;
563               break;
564 
565             case triton::extlibs::capstone::ARM_INS_MUL:
566               tritonId = triton::arch::arm::arm32::ID_INS_MUL;
567               break;
568 
569             case triton::extlibs::capstone::ARM_INS_MVN:
570               tritonId = triton::arch::arm::arm32::ID_INS_MVN;
571               break;
572 
573             case triton::extlibs::capstone::ARM_INS_ORR:
574               tritonId = triton::arch::arm::arm32::ID_INS_ORR;
575               break;
576 
577             case triton::extlibs::capstone::ARM_INS_PKHBT:
578               tritonId = triton::arch::arm::arm32::ID_INS_PKHBT;
579               break;
580 
581             case triton::extlibs::capstone::ARM_INS_PKHTB:
582               tritonId = triton::arch::arm::arm32::ID_INS_PKHTB;
583               break;
584 
585             case triton::extlibs::capstone::ARM_INS_PLDW:
586               tritonId = triton::arch::arm::arm32::ID_INS_PLDW;
587               break;
588 
589             case triton::extlibs::capstone::ARM_INS_PLD:
590               tritonId = triton::arch::arm::arm32::ID_INS_PLD;
591               break;
592 
593             case triton::extlibs::capstone::ARM_INS_PLI:
594               tritonId = triton::arch::arm::arm32::ID_INS_PLI;
595               break;
596 
597             case triton::extlibs::capstone::ARM_INS_QADD:
598               tritonId = triton::arch::arm::arm32::ID_INS_QADD;
599               break;
600 
601             case triton::extlibs::capstone::ARM_INS_QADD16:
602               tritonId = triton::arch::arm::arm32::ID_INS_QADD16;
603               break;
604 
605             case triton::extlibs::capstone::ARM_INS_QADD8:
606               tritonId = triton::arch::arm::arm32::ID_INS_QADD8;
607               break;
608 
609             case triton::extlibs::capstone::ARM_INS_QASX:
610               tritonId = triton::arch::arm::arm32::ID_INS_QASX;
611               break;
612 
613             case triton::extlibs::capstone::ARM_INS_QDADD:
614               tritonId = triton::arch::arm::arm32::ID_INS_QDADD;
615               break;
616 
617             case triton::extlibs::capstone::ARM_INS_QDSUB:
618               tritonId = triton::arch::arm::arm32::ID_INS_QDSUB;
619               break;
620 
621             case triton::extlibs::capstone::ARM_INS_QSAX:
622               tritonId = triton::arch::arm::arm32::ID_INS_QSAX;
623               break;
624 
625             case triton::extlibs::capstone::ARM_INS_QSUB:
626               tritonId = triton::arch::arm::arm32::ID_INS_QSUB;
627               break;
628 
629             case triton::extlibs::capstone::ARM_INS_QSUB16:
630               tritonId = triton::arch::arm::arm32::ID_INS_QSUB16;
631               break;
632 
633             case triton::extlibs::capstone::ARM_INS_QSUB8:
634               tritonId = triton::arch::arm::arm32::ID_INS_QSUB8;
635               break;
636 
637             case triton::extlibs::capstone::ARM_INS_RBIT:
638               tritonId = triton::arch::arm::arm32::ID_INS_RBIT;
639               break;
640 
641             case triton::extlibs::capstone::ARM_INS_REV:
642               tritonId = triton::arch::arm::arm32::ID_INS_REV;
643               break;
644 
645             case triton::extlibs::capstone::ARM_INS_REV16:
646               tritonId = triton::arch::arm::arm32::ID_INS_REV16;
647               break;
648 
649             case triton::extlibs::capstone::ARM_INS_REVSH:
650               tritonId = triton::arch::arm::arm32::ID_INS_REVSH;
651               break;
652 
653             case triton::extlibs::capstone::ARM_INS_RFEDA:
654               tritonId = triton::arch::arm::arm32::ID_INS_RFEDA;
655               break;
656 
657             case triton::extlibs::capstone::ARM_INS_RFEDB:
658               tritonId = triton::arch::arm::arm32::ID_INS_RFEDB;
659               break;
660 
661             case triton::extlibs::capstone::ARM_INS_RFEIA:
662               tritonId = triton::arch::arm::arm32::ID_INS_RFEIA;
663               break;
664 
665             case triton::extlibs::capstone::ARM_INS_RFEIB:
666               tritonId = triton::arch::arm::arm32::ID_INS_RFEIB;
667               break;
668 
669             case triton::extlibs::capstone::ARM_INS_RSB:
670               tritonId = triton::arch::arm::arm32::ID_INS_RSB;
671               break;
672 
673             case triton::extlibs::capstone::ARM_INS_RSC:
674               tritonId = triton::arch::arm::arm32::ID_INS_RSC;
675               break;
676 
677             case triton::extlibs::capstone::ARM_INS_SADD16:
678               tritonId = triton::arch::arm::arm32::ID_INS_SADD16;
679               break;
680 
681             case triton::extlibs::capstone::ARM_INS_SADD8:
682               tritonId = triton::arch::arm::arm32::ID_INS_SADD8;
683               break;
684 
685             case triton::extlibs::capstone::ARM_INS_SASX:
686               tritonId = triton::arch::arm::arm32::ID_INS_SASX;
687               break;
688 
689             case triton::extlibs::capstone::ARM_INS_SBC:
690               tritonId = triton::arch::arm::arm32::ID_INS_SBC;
691               break;
692 
693             case triton::extlibs::capstone::ARM_INS_SBFX:
694               tritonId = triton::arch::arm::arm32::ID_INS_SBFX;
695               break;
696 
697             case triton::extlibs::capstone::ARM_INS_SDIV:
698               tritonId = triton::arch::arm::arm32::ID_INS_SDIV;
699               break;
700 
701             case triton::extlibs::capstone::ARM_INS_SEL:
702               tritonId = triton::arch::arm::arm32::ID_INS_SEL;
703               break;
704 
705             case triton::extlibs::capstone::ARM_INS_SETEND:
706               tritonId = triton::arch::arm::arm32::ID_INS_SETEND;
707               break;
708 
709             case triton::extlibs::capstone::ARM_INS_SHA1C:
710               tritonId = triton::arch::arm::arm32::ID_INS_SHA1C;
711               break;
712 
713             case triton::extlibs::capstone::ARM_INS_SHA1H:
714               tritonId = triton::arch::arm::arm32::ID_INS_SHA1H;
715               break;
716 
717             case triton::extlibs::capstone::ARM_INS_SHA1M:
718               tritonId = triton::arch::arm::arm32::ID_INS_SHA1M;
719               break;
720 
721             case triton::extlibs::capstone::ARM_INS_SHA1P:
722               tritonId = triton::arch::arm::arm32::ID_INS_SHA1P;
723               break;
724 
725             case triton::extlibs::capstone::ARM_INS_SHA1SU0:
726               tritonId = triton::arch::arm::arm32::ID_INS_SHA1SU0;
727               break;
728 
729             case triton::extlibs::capstone::ARM_INS_SHA1SU1:
730               tritonId = triton::arch::arm::arm32::ID_INS_SHA1SU1;
731               break;
732 
733             case triton::extlibs::capstone::ARM_INS_SHA256H:
734               tritonId = triton::arch::arm::arm32::ID_INS_SHA256H;
735               break;
736 
737             case triton::extlibs::capstone::ARM_INS_SHA256H2:
738               tritonId = triton::arch::arm::arm32::ID_INS_SHA256H2;
739               break;
740 
741             case triton::extlibs::capstone::ARM_INS_SHA256SU0:
742               tritonId = triton::arch::arm::arm32::ID_INS_SHA256SU0;
743               break;
744 
745             case triton::extlibs::capstone::ARM_INS_SHA256SU1:
746               tritonId = triton::arch::arm::arm32::ID_INS_SHA256SU1;
747               break;
748 
749             case triton::extlibs::capstone::ARM_INS_SHADD16:
750               tritonId = triton::arch::arm::arm32::ID_INS_SHADD16;
751               break;
752 
753             case triton::extlibs::capstone::ARM_INS_SHADD8:
754               tritonId = triton::arch::arm::arm32::ID_INS_SHADD8;
755               break;
756 
757             case triton::extlibs::capstone::ARM_INS_SHASX:
758               tritonId = triton::arch::arm::arm32::ID_INS_SHASX;
759               break;
760 
761             case triton::extlibs::capstone::ARM_INS_SHSAX:
762               tritonId = triton::arch::arm::arm32::ID_INS_SHSAX;
763               break;
764 
765             case triton::extlibs::capstone::ARM_INS_SHSUB16:
766               tritonId = triton::arch::arm::arm32::ID_INS_SHSUB16;
767               break;
768 
769             case triton::extlibs::capstone::ARM_INS_SHSUB8:
770               tritonId = triton::arch::arm::arm32::ID_INS_SHSUB8;
771               break;
772 
773             case triton::extlibs::capstone::ARM_INS_SMC:
774               tritonId = triton::arch::arm::arm32::ID_INS_SMC;
775               break;
776 
777             case triton::extlibs::capstone::ARM_INS_SMLABB:
778               tritonId = triton::arch::arm::arm32::ID_INS_SMLABB;
779               break;
780 
781             case triton::extlibs::capstone::ARM_INS_SMLABT:
782               tritonId = triton::arch::arm::arm32::ID_INS_SMLABT;
783               break;
784 
785             case triton::extlibs::capstone::ARM_INS_SMLAD:
786               tritonId = triton::arch::arm::arm32::ID_INS_SMLAD;
787               break;
788 
789             case triton::extlibs::capstone::ARM_INS_SMLADX:
790               tritonId = triton::arch::arm::arm32::ID_INS_SMLADX;
791               break;
792 
793             case triton::extlibs::capstone::ARM_INS_SMLAL:
794               tritonId = triton::arch::arm::arm32::ID_INS_SMLAL;
795               break;
796 
797             case triton::extlibs::capstone::ARM_INS_SMLALBB:
798               tritonId = triton::arch::arm::arm32::ID_INS_SMLALBB;
799               break;
800 
801             case triton::extlibs::capstone::ARM_INS_SMLALBT:
802               tritonId = triton::arch::arm::arm32::ID_INS_SMLALBT;
803               break;
804 
805             case triton::extlibs::capstone::ARM_INS_SMLALD:
806               tritonId = triton::arch::arm::arm32::ID_INS_SMLALD;
807               break;
808 
809             case triton::extlibs::capstone::ARM_INS_SMLALDX:
810               tritonId = triton::arch::arm::arm32::ID_INS_SMLALDX;
811               break;
812 
813             case triton::extlibs::capstone::ARM_INS_SMLALTB:
814               tritonId = triton::arch::arm::arm32::ID_INS_SMLALTB;
815               break;
816 
817             case triton::extlibs::capstone::ARM_INS_SMLALTT:
818               tritonId = triton::arch::arm::arm32::ID_INS_SMLALTT;
819               break;
820 
821             case triton::extlibs::capstone::ARM_INS_SMLATB:
822               tritonId = triton::arch::arm::arm32::ID_INS_SMLATB;
823               break;
824 
825             case triton::extlibs::capstone::ARM_INS_SMLATT:
826               tritonId = triton::arch::arm::arm32::ID_INS_SMLATT;
827               break;
828 
829             case triton::extlibs::capstone::ARM_INS_SMLAWB:
830               tritonId = triton::arch::arm::arm32::ID_INS_SMLAWB;
831               break;
832 
833             case triton::extlibs::capstone::ARM_INS_SMLAWT:
834               tritonId = triton::arch::arm::arm32::ID_INS_SMLAWT;
835               break;
836 
837             case triton::extlibs::capstone::ARM_INS_SMLSD:
838               tritonId = triton::arch::arm::arm32::ID_INS_SMLSD;
839               break;
840 
841             case triton::extlibs::capstone::ARM_INS_SMLSDX:
842               tritonId = triton::arch::arm::arm32::ID_INS_SMLSDX;
843               break;
844 
845             case triton::extlibs::capstone::ARM_INS_SMLSLD:
846               tritonId = triton::arch::arm::arm32::ID_INS_SMLSLD;
847               break;
848 
849             case triton::extlibs::capstone::ARM_INS_SMLSLDX:
850               tritonId = triton::arch::arm::arm32::ID_INS_SMLSLDX;
851               break;
852 
853             case triton::extlibs::capstone::ARM_INS_SMMLA:
854               tritonId = triton::arch::arm::arm32::ID_INS_SMMLA;
855               break;
856 
857             case triton::extlibs::capstone::ARM_INS_SMMLAR:
858               tritonId = triton::arch::arm::arm32::ID_INS_SMMLAR;
859               break;
860 
861             case triton::extlibs::capstone::ARM_INS_SMMLS:
862               tritonId = triton::arch::arm::arm32::ID_INS_SMMLS;
863               break;
864 
865             case triton::extlibs::capstone::ARM_INS_SMMLSR:
866               tritonId = triton::arch::arm::arm32::ID_INS_SMMLSR;
867               break;
868 
869             case triton::extlibs::capstone::ARM_INS_SMMUL:
870               tritonId = triton::arch::arm::arm32::ID_INS_SMMUL;
871               break;
872 
873             case triton::extlibs::capstone::ARM_INS_SMMULR:
874               tritonId = triton::arch::arm::arm32::ID_INS_SMMULR;
875               break;
876 
877             case triton::extlibs::capstone::ARM_INS_SMUAD:
878               tritonId = triton::arch::arm::arm32::ID_INS_SMUAD;
879               break;
880 
881             case triton::extlibs::capstone::ARM_INS_SMUADX:
882               tritonId = triton::arch::arm::arm32::ID_INS_SMUADX;
883               break;
884 
885             case triton::extlibs::capstone::ARM_INS_SMULBB:
886               tritonId = triton::arch::arm::arm32::ID_INS_SMULBB;
887               break;
888 
889             case triton::extlibs::capstone::ARM_INS_SMULBT:
890               tritonId = triton::arch::arm::arm32::ID_INS_SMULBT;
891               break;
892 
893             case triton::extlibs::capstone::ARM_INS_SMULL:
894               tritonId = triton::arch::arm::arm32::ID_INS_SMULL;
895               break;
896 
897             case triton::extlibs::capstone::ARM_INS_SMULTB:
898               tritonId = triton::arch::arm::arm32::ID_INS_SMULTB;
899               break;
900 
901             case triton::extlibs::capstone::ARM_INS_SMULTT:
902               tritonId = triton::arch::arm::arm32::ID_INS_SMULTT;
903               break;
904 
905             case triton::extlibs::capstone::ARM_INS_SMULWB:
906               tritonId = triton::arch::arm::arm32::ID_INS_SMULWB;
907               break;
908 
909             case triton::extlibs::capstone::ARM_INS_SMULWT:
910               tritonId = triton::arch::arm::arm32::ID_INS_SMULWT;
911               break;
912 
913             case triton::extlibs::capstone::ARM_INS_SMUSD:
914               tritonId = triton::arch::arm::arm32::ID_INS_SMUSD;
915               break;
916 
917             case triton::extlibs::capstone::ARM_INS_SMUSDX:
918               tritonId = triton::arch::arm::arm32::ID_INS_SMUSDX;
919               break;
920 
921             case triton::extlibs::capstone::ARM_INS_SRSDA:
922               tritonId = triton::arch::arm::arm32::ID_INS_SRSDA;
923               break;
924 
925             case triton::extlibs::capstone::ARM_INS_SRSDB:
926               tritonId = triton::arch::arm::arm32::ID_INS_SRSDB;
927               break;
928 
929             case triton::extlibs::capstone::ARM_INS_SRSIA:
930               tritonId = triton::arch::arm::arm32::ID_INS_SRSIA;
931               break;
932 
933             case triton::extlibs::capstone::ARM_INS_SRSIB:
934               tritonId = triton::arch::arm::arm32::ID_INS_SRSIB;
935               break;
936 
937             case triton::extlibs::capstone::ARM_INS_SSAT:
938               tritonId = triton::arch::arm::arm32::ID_INS_SSAT;
939               break;
940 
941             case triton::extlibs::capstone::ARM_INS_SSAT16:
942               tritonId = triton::arch::arm::arm32::ID_INS_SSAT16;
943               break;
944 
945             case triton::extlibs::capstone::ARM_INS_SSAX:
946               tritonId = triton::arch::arm::arm32::ID_INS_SSAX;
947               break;
948 
949             case triton::extlibs::capstone::ARM_INS_SSUB16:
950               tritonId = triton::arch::arm::arm32::ID_INS_SSUB16;
951               break;
952 
953             case triton::extlibs::capstone::ARM_INS_SSUB8:
954               tritonId = triton::arch::arm::arm32::ID_INS_SSUB8;
955               break;
956 
957             case triton::extlibs::capstone::ARM_INS_STC2L:
958               tritonId = triton::arch::arm::arm32::ID_INS_STC2L;
959               break;
960 
961             case triton::extlibs::capstone::ARM_INS_STC2:
962               tritonId = triton::arch::arm::arm32::ID_INS_STC2;
963               break;
964 
965             case triton::extlibs::capstone::ARM_INS_STCL:
966               tritonId = triton::arch::arm::arm32::ID_INS_STCL;
967               break;
968 
969             case triton::extlibs::capstone::ARM_INS_STC:
970               tritonId = triton::arch::arm::arm32::ID_INS_STC;
971               break;
972 
973             case triton::extlibs::capstone::ARM_INS_STL:
974               tritonId = triton::arch::arm::arm32::ID_INS_STL;
975               break;
976 
977             case triton::extlibs::capstone::ARM_INS_STLB:
978               tritonId = triton::arch::arm::arm32::ID_INS_STLB;
979               break;
980 
981             case triton::extlibs::capstone::ARM_INS_STLEX:
982               tritonId = triton::arch::arm::arm32::ID_INS_STLEX;
983               break;
984 
985             case triton::extlibs::capstone::ARM_INS_STLEXB:
986               tritonId = triton::arch::arm::arm32::ID_INS_STLEXB;
987               break;
988 
989             case triton::extlibs::capstone::ARM_INS_STLEXD:
990               tritonId = triton::arch::arm::arm32::ID_INS_STLEXD;
991               break;
992 
993             case triton::extlibs::capstone::ARM_INS_STLEXH:
994               tritonId = triton::arch::arm::arm32::ID_INS_STLEXH;
995               break;
996 
997             case triton::extlibs::capstone::ARM_INS_STLH:
998               tritonId = triton::arch::arm::arm32::ID_INS_STLH;
999               break;
1000 
1001             case triton::extlibs::capstone::ARM_INS_STMDA:
1002               tritonId = triton::arch::arm::arm32::ID_INS_STMDA;
1003               break;
1004 
1005             case triton::extlibs::capstone::ARM_INS_STMDB:
1006               tritonId = triton::arch::arm::arm32::ID_INS_STMDB;
1007               break;
1008 
1009             case triton::extlibs::capstone::ARM_INS_STM:
1010               tritonId = triton::arch::arm::arm32::ID_INS_STM;
1011               break;
1012 
1013             case triton::extlibs::capstone::ARM_INS_STMIB:
1014               tritonId = triton::arch::arm::arm32::ID_INS_STMIB;
1015               break;
1016 
1017             case triton::extlibs::capstone::ARM_INS_STRBT:
1018               tritonId = triton::arch::arm::arm32::ID_INS_STRBT;
1019               break;
1020 
1021             case triton::extlibs::capstone::ARM_INS_STRB:
1022               tritonId = triton::arch::arm::arm32::ID_INS_STRB;
1023               break;
1024 
1025             case triton::extlibs::capstone::ARM_INS_STRD:
1026               tritonId = triton::arch::arm::arm32::ID_INS_STRD;
1027               break;
1028 
1029             case triton::extlibs::capstone::ARM_INS_STREX:
1030               tritonId = triton::arch::arm::arm32::ID_INS_STREX;
1031               break;
1032 
1033             case triton::extlibs::capstone::ARM_INS_STREXB:
1034               tritonId = triton::arch::arm::arm32::ID_INS_STREXB;
1035               break;
1036 
1037             case triton::extlibs::capstone::ARM_INS_STREXD:
1038               tritonId = triton::arch::arm::arm32::ID_INS_STREXD;
1039               break;
1040 
1041             case triton::extlibs::capstone::ARM_INS_STREXH:
1042               tritonId = triton::arch::arm::arm32::ID_INS_STREXH;
1043               break;
1044 
1045             case triton::extlibs::capstone::ARM_INS_STRH:
1046               tritonId = triton::arch::arm::arm32::ID_INS_STRH;
1047               break;
1048 
1049             case triton::extlibs::capstone::ARM_INS_STRHT:
1050               tritonId = triton::arch::arm::arm32::ID_INS_STRHT;
1051               break;
1052 
1053             case triton::extlibs::capstone::ARM_INS_STRT:
1054               tritonId = triton::arch::arm::arm32::ID_INS_STRT;
1055               break;
1056 
1057             case triton::extlibs::capstone::ARM_INS_STR:
1058               tritonId = triton::arch::arm::arm32::ID_INS_STR;
1059               break;
1060 
1061             case triton::extlibs::capstone::ARM_INS_SUB:
1062               tritonId = triton::arch::arm::arm32::ID_INS_SUB;
1063               break;
1064 
1065             case triton::extlibs::capstone::ARM_INS_SVC:
1066               tritonId = triton::arch::arm::arm32::ID_INS_SVC;
1067               break;
1068 
1069             case triton::extlibs::capstone::ARM_INS_SWP:
1070               tritonId = triton::arch::arm::arm32::ID_INS_SWP;
1071               break;
1072 
1073             case triton::extlibs::capstone::ARM_INS_SWPB:
1074               tritonId = triton::arch::arm::arm32::ID_INS_SWPB;
1075               break;
1076 
1077             case triton::extlibs::capstone::ARM_INS_SXTAB:
1078               tritonId = triton::arch::arm::arm32::ID_INS_SXTAB;
1079               break;
1080 
1081             case triton::extlibs::capstone::ARM_INS_SXTAB16:
1082               tritonId = triton::arch::arm::arm32::ID_INS_SXTAB16;
1083               break;
1084 
1085             case triton::extlibs::capstone::ARM_INS_SXTAH:
1086               tritonId = triton::arch::arm::arm32::ID_INS_SXTAH;
1087               break;
1088 
1089             case triton::extlibs::capstone::ARM_INS_SXTB:
1090               tritonId = triton::arch::arm::arm32::ID_INS_SXTB;
1091               break;
1092 
1093             case triton::extlibs::capstone::ARM_INS_SXTB16:
1094               tritonId = triton::arch::arm::arm32::ID_INS_SXTB16;
1095               break;
1096 
1097             case triton::extlibs::capstone::ARM_INS_SXTH:
1098               tritonId = triton::arch::arm::arm32::ID_INS_SXTH;
1099               break;
1100 
1101             case triton::extlibs::capstone::ARM_INS_TEQ:
1102               tritonId = triton::arch::arm::arm32::ID_INS_TEQ;
1103               break;
1104 
1105             case triton::extlibs::capstone::ARM_INS_TRAP:
1106               tritonId = triton::arch::arm::arm32::ID_INS_TRAP;
1107               break;
1108 
1109             case triton::extlibs::capstone::ARM_INS_TST:
1110               tritonId = triton::arch::arm::arm32::ID_INS_TST;
1111               break;
1112 
1113             case triton::extlibs::capstone::ARM_INS_UADD16:
1114               tritonId = triton::arch::arm::arm32::ID_INS_UADD16;
1115               break;
1116 
1117             case triton::extlibs::capstone::ARM_INS_UADD8:
1118               tritonId = triton::arch::arm::arm32::ID_INS_UADD8;
1119               break;
1120 
1121             case triton::extlibs::capstone::ARM_INS_UASX:
1122               tritonId = triton::arch::arm::arm32::ID_INS_UASX;
1123               break;
1124 
1125             case triton::extlibs::capstone::ARM_INS_UBFX:
1126               tritonId = triton::arch::arm::arm32::ID_INS_UBFX;
1127               break;
1128 
1129             case triton::extlibs::capstone::ARM_INS_UDF:
1130               tritonId = triton::arch::arm::arm32::ID_INS_UDF;
1131               break;
1132 
1133             case triton::extlibs::capstone::ARM_INS_UDIV:
1134               tritonId = triton::arch::arm::arm32::ID_INS_UDIV;
1135               break;
1136 
1137             case triton::extlibs::capstone::ARM_INS_UHADD16:
1138               tritonId = triton::arch::arm::arm32::ID_INS_UHADD16;
1139               break;
1140 
1141             case triton::extlibs::capstone::ARM_INS_UHADD8:
1142               tritonId = triton::arch::arm::arm32::ID_INS_UHADD8;
1143               break;
1144 
1145             case triton::extlibs::capstone::ARM_INS_UHASX:
1146               tritonId = triton::arch::arm::arm32::ID_INS_UHASX;
1147               break;
1148 
1149             case triton::extlibs::capstone::ARM_INS_UHSAX:
1150               tritonId = triton::arch::arm::arm32::ID_INS_UHSAX;
1151               break;
1152 
1153             case triton::extlibs::capstone::ARM_INS_UHSUB16:
1154               tritonId = triton::arch::arm::arm32::ID_INS_UHSUB16;
1155               break;
1156 
1157             case triton::extlibs::capstone::ARM_INS_UHSUB8:
1158               tritonId = triton::arch::arm::arm32::ID_INS_UHSUB8;
1159               break;
1160 
1161             case triton::extlibs::capstone::ARM_INS_UMAAL:
1162               tritonId = triton::arch::arm::arm32::ID_INS_UMAAL;
1163               break;
1164 
1165             case triton::extlibs::capstone::ARM_INS_UMLAL:
1166               tritonId = triton::arch::arm::arm32::ID_INS_UMLAL;
1167               break;
1168 
1169             case triton::extlibs::capstone::ARM_INS_UMULL:
1170               tritonId = triton::arch::arm::arm32::ID_INS_UMULL;
1171               break;
1172 
1173             case triton::extlibs::capstone::ARM_INS_UQADD16:
1174               tritonId = triton::arch::arm::arm32::ID_INS_UQADD16;
1175               break;
1176 
1177             case triton::extlibs::capstone::ARM_INS_UQADD8:
1178               tritonId = triton::arch::arm::arm32::ID_INS_UQADD8;
1179               break;
1180 
1181             case triton::extlibs::capstone::ARM_INS_UQASX:
1182               tritonId = triton::arch::arm::arm32::ID_INS_UQASX;
1183               break;
1184 
1185             case triton::extlibs::capstone::ARM_INS_UQSAX:
1186               tritonId = triton::arch::arm::arm32::ID_INS_UQSAX;
1187               break;
1188 
1189             case triton::extlibs::capstone::ARM_INS_UQSUB16:
1190               tritonId = triton::arch::arm::arm32::ID_INS_UQSUB16;
1191               break;
1192 
1193             case triton::extlibs::capstone::ARM_INS_UQSUB8:
1194               tritonId = triton::arch::arm::arm32::ID_INS_UQSUB8;
1195               break;
1196 
1197             case triton::extlibs::capstone::ARM_INS_USAD8:
1198               tritonId = triton::arch::arm::arm32::ID_INS_USAD8;
1199               break;
1200 
1201             case triton::extlibs::capstone::ARM_INS_USADA8:
1202               tritonId = triton::arch::arm::arm32::ID_INS_USADA8;
1203               break;
1204 
1205             case triton::extlibs::capstone::ARM_INS_USAT:
1206               tritonId = triton::arch::arm::arm32::ID_INS_USAT;
1207               break;
1208 
1209             case triton::extlibs::capstone::ARM_INS_USAT16:
1210               tritonId = triton::arch::arm::arm32::ID_INS_USAT16;
1211               break;
1212 
1213             case triton::extlibs::capstone::ARM_INS_USAX:
1214               tritonId = triton::arch::arm::arm32::ID_INS_USAX;
1215               break;
1216 
1217             case triton::extlibs::capstone::ARM_INS_USUB16:
1218               tritonId = triton::arch::arm::arm32::ID_INS_USUB16;
1219               break;
1220 
1221             case triton::extlibs::capstone::ARM_INS_USUB8:
1222               tritonId = triton::arch::arm::arm32::ID_INS_USUB8;
1223               break;
1224 
1225             case triton::extlibs::capstone::ARM_INS_UXTAB:
1226               tritonId = triton::arch::arm::arm32::ID_INS_UXTAB;
1227               break;
1228 
1229             case triton::extlibs::capstone::ARM_INS_UXTAB16:
1230               tritonId = triton::arch::arm::arm32::ID_INS_UXTAB16;
1231               break;
1232 
1233             case triton::extlibs::capstone::ARM_INS_UXTAH:
1234               tritonId = triton::arch::arm::arm32::ID_INS_UXTAH;
1235               break;
1236 
1237             case triton::extlibs::capstone::ARM_INS_UXTB:
1238               tritonId = triton::arch::arm::arm32::ID_INS_UXTB;
1239               break;
1240 
1241             case triton::extlibs::capstone::ARM_INS_UXTB16:
1242               tritonId = triton::arch::arm::arm32::ID_INS_UXTB16;
1243               break;
1244 
1245             case triton::extlibs::capstone::ARM_INS_UXTH:
1246               tritonId = triton::arch::arm::arm32::ID_INS_UXTH;
1247               break;
1248 
1249             case triton::extlibs::capstone::ARM_INS_VABAL:
1250               tritonId = triton::arch::arm::arm32::ID_INS_VABAL;
1251               break;
1252 
1253             case triton::extlibs::capstone::ARM_INS_VABA:
1254               tritonId = triton::arch::arm::arm32::ID_INS_VABA;
1255               break;
1256 
1257             case triton::extlibs::capstone::ARM_INS_VABDL:
1258               tritonId = triton::arch::arm::arm32::ID_INS_VABDL;
1259               break;
1260 
1261             case triton::extlibs::capstone::ARM_INS_VABD:
1262               tritonId = triton::arch::arm::arm32::ID_INS_VABD;
1263               break;
1264 
1265             case triton::extlibs::capstone::ARM_INS_VABS:
1266               tritonId = triton::arch::arm::arm32::ID_INS_VABS;
1267               break;
1268 
1269             case triton::extlibs::capstone::ARM_INS_VACGE:
1270               tritonId = triton::arch::arm::arm32::ID_INS_VACGE;
1271               break;
1272 
1273             case triton::extlibs::capstone::ARM_INS_VACGT:
1274               tritonId = triton::arch::arm::arm32::ID_INS_VACGT;
1275               break;
1276 
1277             case triton::extlibs::capstone::ARM_INS_VADD:
1278               tritonId = triton::arch::arm::arm32::ID_INS_VADD;
1279               break;
1280 
1281             case triton::extlibs::capstone::ARM_INS_VADDHN:
1282               tritonId = triton::arch::arm::arm32::ID_INS_VADDHN;
1283               break;
1284 
1285             case triton::extlibs::capstone::ARM_INS_VADDL:
1286               tritonId = triton::arch::arm::arm32::ID_INS_VADDL;
1287               break;
1288 
1289             case triton::extlibs::capstone::ARM_INS_VADDW:
1290               tritonId = triton::arch::arm::arm32::ID_INS_VADDW;
1291               break;
1292 
1293             case triton::extlibs::capstone::ARM_INS_VAND:
1294               tritonId = triton::arch::arm::arm32::ID_INS_VAND;
1295               break;
1296 
1297             case triton::extlibs::capstone::ARM_INS_VBIC:
1298               tritonId = triton::arch::arm::arm32::ID_INS_VBIC;
1299               break;
1300 
1301             case triton::extlibs::capstone::ARM_INS_VBIF:
1302               tritonId = triton::arch::arm::arm32::ID_INS_VBIF;
1303               break;
1304 
1305             case triton::extlibs::capstone::ARM_INS_VBIT:
1306               tritonId = triton::arch::arm::arm32::ID_INS_VBIT;
1307               break;
1308 
1309             case triton::extlibs::capstone::ARM_INS_VBSL:
1310               tritonId = triton::arch::arm::arm32::ID_INS_VBSL;
1311               break;
1312 
1313             case triton::extlibs::capstone::ARM_INS_VCEQ:
1314               tritonId = triton::arch::arm::arm32::ID_INS_VCEQ;
1315               break;
1316 
1317             case triton::extlibs::capstone::ARM_INS_VCGE:
1318               tritonId = triton::arch::arm::arm32::ID_INS_VCGE;
1319               break;
1320 
1321             case triton::extlibs::capstone::ARM_INS_VCGT:
1322               tritonId = triton::arch::arm::arm32::ID_INS_VCGT;
1323               break;
1324 
1325             case triton::extlibs::capstone::ARM_INS_VCLE:
1326               tritonId = triton::arch::arm::arm32::ID_INS_VCLE;
1327               break;
1328 
1329             case triton::extlibs::capstone::ARM_INS_VCLS:
1330               tritonId = triton::arch::arm::arm32::ID_INS_VCLS;
1331               break;
1332 
1333             case triton::extlibs::capstone::ARM_INS_VCLT:
1334               tritonId = triton::arch::arm::arm32::ID_INS_VCLT;
1335               break;
1336 
1337             case triton::extlibs::capstone::ARM_INS_VCLZ:
1338               tritonId = triton::arch::arm::arm32::ID_INS_VCLZ;
1339               break;
1340 
1341             case triton::extlibs::capstone::ARM_INS_VCMP:
1342               tritonId = triton::arch::arm::arm32::ID_INS_VCMP;
1343               break;
1344 
1345             case triton::extlibs::capstone::ARM_INS_VCMPE:
1346               tritonId = triton::arch::arm::arm32::ID_INS_VCMPE;
1347               break;
1348 
1349             case triton::extlibs::capstone::ARM_INS_VCNT:
1350               tritonId = triton::arch::arm::arm32::ID_INS_VCNT;
1351               break;
1352 
1353             case triton::extlibs::capstone::ARM_INS_VCVTA:
1354               tritonId = triton::arch::arm::arm32::ID_INS_VCVTA;
1355               break;
1356 
1357             case triton::extlibs::capstone::ARM_INS_VCVTB:
1358               tritonId = triton::arch::arm::arm32::ID_INS_VCVTB;
1359               break;
1360 
1361             case triton::extlibs::capstone::ARM_INS_VCVT:
1362               tritonId = triton::arch::arm::arm32::ID_INS_VCVT;
1363               break;
1364 
1365             case triton::extlibs::capstone::ARM_INS_VCVTM:
1366               tritonId = triton::arch::arm::arm32::ID_INS_VCVTM;
1367               break;
1368 
1369             case triton::extlibs::capstone::ARM_INS_VCVTN:
1370               tritonId = triton::arch::arm::arm32::ID_INS_VCVTN;
1371               break;
1372 
1373             case triton::extlibs::capstone::ARM_INS_VCVTP:
1374               tritonId = triton::arch::arm::arm32::ID_INS_VCVTP;
1375               break;
1376 
1377             case triton::extlibs::capstone::ARM_INS_VCVTT:
1378               tritonId = triton::arch::arm::arm32::ID_INS_VCVTT;
1379               break;
1380 
1381             case triton::extlibs::capstone::ARM_INS_VDIV:
1382               tritonId = triton::arch::arm::arm32::ID_INS_VDIV;
1383               break;
1384 
1385             case triton::extlibs::capstone::ARM_INS_VDUP:
1386               tritonId = triton::arch::arm::arm32::ID_INS_VDUP;
1387               break;
1388 
1389             case triton::extlibs::capstone::ARM_INS_VEOR:
1390               tritonId = triton::arch::arm::arm32::ID_INS_VEOR;
1391               break;
1392 
1393             case triton::extlibs::capstone::ARM_INS_VEXT:
1394               tritonId = triton::arch::arm::arm32::ID_INS_VEXT;
1395               break;
1396 
1397             case triton::extlibs::capstone::ARM_INS_VFMA:
1398               tritonId = triton::arch::arm::arm32::ID_INS_VFMA;
1399               break;
1400 
1401             case triton::extlibs::capstone::ARM_INS_VFMS:
1402               tritonId = triton::arch::arm::arm32::ID_INS_VFMS;
1403               break;
1404 
1405             case triton::extlibs::capstone::ARM_INS_VFNMA:
1406               tritonId = triton::arch::arm::arm32::ID_INS_VFNMA;
1407               break;
1408 
1409             case triton::extlibs::capstone::ARM_INS_VFNMS:
1410               tritonId = triton::arch::arm::arm32::ID_INS_VFNMS;
1411               break;
1412 
1413             case triton::extlibs::capstone::ARM_INS_VHADD:
1414               tritonId = triton::arch::arm::arm32::ID_INS_VHADD;
1415               break;
1416 
1417             case triton::extlibs::capstone::ARM_INS_VHSUB:
1418               tritonId = triton::arch::arm::arm32::ID_INS_VHSUB;
1419               break;
1420 
1421             case triton::extlibs::capstone::ARM_INS_VLD1:
1422               tritonId = triton::arch::arm::arm32::ID_INS_VLD1;
1423               break;
1424 
1425             case triton::extlibs::capstone::ARM_INS_VLD2:
1426               tritonId = triton::arch::arm::arm32::ID_INS_VLD2;
1427               break;
1428 
1429             case triton::extlibs::capstone::ARM_INS_VLD3:
1430               tritonId = triton::arch::arm::arm32::ID_INS_VLD3;
1431               break;
1432 
1433             case triton::extlibs::capstone::ARM_INS_VLD4:
1434               tritonId = triton::arch::arm::arm32::ID_INS_VLD4;
1435               break;
1436 
1437             case triton::extlibs::capstone::ARM_INS_VLDMDB:
1438               tritonId = triton::arch::arm::arm32::ID_INS_VLDMDB;
1439               break;
1440 
1441             case triton::extlibs::capstone::ARM_INS_VLDMIA:
1442               tritonId = triton::arch::arm::arm32::ID_INS_VLDMIA;
1443               break;
1444 
1445             case triton::extlibs::capstone::ARM_INS_VLDR:
1446               tritonId = triton::arch::arm::arm32::ID_INS_VLDR;
1447               break;
1448 
1449             case triton::extlibs::capstone::ARM_INS_VMAXNM:
1450               tritonId = triton::arch::arm::arm32::ID_INS_VMAXNM;
1451               break;
1452 
1453             case triton::extlibs::capstone::ARM_INS_VMAX:
1454               tritonId = triton::arch::arm::arm32::ID_INS_VMAX;
1455               break;
1456 
1457             case triton::extlibs::capstone::ARM_INS_VMINNM:
1458               tritonId = triton::arch::arm::arm32::ID_INS_VMINNM;
1459               break;
1460 
1461             case triton::extlibs::capstone::ARM_INS_VMIN:
1462               tritonId = triton::arch::arm::arm32::ID_INS_VMIN;
1463               break;
1464 
1465             case triton::extlibs::capstone::ARM_INS_VMLA:
1466               tritonId = triton::arch::arm::arm32::ID_INS_VMLA;
1467               break;
1468 
1469             case triton::extlibs::capstone::ARM_INS_VMLAL:
1470               tritonId = triton::arch::arm::arm32::ID_INS_VMLAL;
1471               break;
1472 
1473             case triton::extlibs::capstone::ARM_INS_VMLS:
1474               tritonId = triton::arch::arm::arm32::ID_INS_VMLS;
1475               break;
1476 
1477             case triton::extlibs::capstone::ARM_INS_VMLSL:
1478               tritonId = triton::arch::arm::arm32::ID_INS_VMLSL;
1479               break;
1480 
1481             case triton::extlibs::capstone::ARM_INS_VMOVL:
1482               tritonId = triton::arch::arm::arm32::ID_INS_VMOVL;
1483               break;
1484 
1485             case triton::extlibs::capstone::ARM_INS_VMOVN:
1486               tritonId = triton::arch::arm::arm32::ID_INS_VMOVN;
1487               break;
1488 
1489             case triton::extlibs::capstone::ARM_INS_VMSR:
1490               tritonId = triton::arch::arm::arm32::ID_INS_VMSR;
1491               break;
1492 
1493             case triton::extlibs::capstone::ARM_INS_VMUL:
1494               tritonId = triton::arch::arm::arm32::ID_INS_VMUL;
1495               break;
1496 
1497             case triton::extlibs::capstone::ARM_INS_VMULL:
1498               tritonId = triton::arch::arm::arm32::ID_INS_VMULL;
1499               break;
1500 
1501             case triton::extlibs::capstone::ARM_INS_VMVN:
1502               tritonId = triton::arch::arm::arm32::ID_INS_VMVN;
1503               break;
1504 
1505             case triton::extlibs::capstone::ARM_INS_VNEG:
1506               tritonId = triton::arch::arm::arm32::ID_INS_VNEG;
1507               break;
1508 
1509             case triton::extlibs::capstone::ARM_INS_VNMLA:
1510               tritonId = triton::arch::arm::arm32::ID_INS_VNMLA;
1511               break;
1512 
1513             case triton::extlibs::capstone::ARM_INS_VNMLS:
1514               tritonId = triton::arch::arm::arm32::ID_INS_VNMLS;
1515               break;
1516 
1517             case triton::extlibs::capstone::ARM_INS_VNMUL:
1518               tritonId = triton::arch::arm::arm32::ID_INS_VNMUL;
1519               break;
1520 
1521             case triton::extlibs::capstone::ARM_INS_VORN:
1522               tritonId = triton::arch::arm::arm32::ID_INS_VORN;
1523               break;
1524 
1525             case triton::extlibs::capstone::ARM_INS_VORR:
1526               tritonId = triton::arch::arm::arm32::ID_INS_VORR;
1527               break;
1528 
1529             case triton::extlibs::capstone::ARM_INS_VPADAL:
1530               tritonId = triton::arch::arm::arm32::ID_INS_VPADAL;
1531               break;
1532 
1533             case triton::extlibs::capstone::ARM_INS_VPADDL:
1534               tritonId = triton::arch::arm::arm32::ID_INS_VPADDL;
1535               break;
1536 
1537             case triton::extlibs::capstone::ARM_INS_VPADD:
1538               tritonId = triton::arch::arm::arm32::ID_INS_VPADD;
1539               break;
1540 
1541             case triton::extlibs::capstone::ARM_INS_VPMAX:
1542               tritonId = triton::arch::arm::arm32::ID_INS_VPMAX;
1543               break;
1544 
1545             case triton::extlibs::capstone::ARM_INS_VPMIN:
1546               tritonId = triton::arch::arm::arm32::ID_INS_VPMIN;
1547               break;
1548 
1549             case triton::extlibs::capstone::ARM_INS_VQABS:
1550               tritonId = triton::arch::arm::arm32::ID_INS_VQABS;
1551               break;
1552 
1553             case triton::extlibs::capstone::ARM_INS_VQADD:
1554               tritonId = triton::arch::arm::arm32::ID_INS_VQADD;
1555               break;
1556 
1557             case triton::extlibs::capstone::ARM_INS_VQDMLAL:
1558               tritonId = triton::arch::arm::arm32::ID_INS_VQDMLAL;
1559               break;
1560 
1561             case triton::extlibs::capstone::ARM_INS_VQDMLSL:
1562               tritonId = triton::arch::arm::arm32::ID_INS_VQDMLSL;
1563               break;
1564 
1565             case triton::extlibs::capstone::ARM_INS_VQDMULH:
1566               tritonId = triton::arch::arm::arm32::ID_INS_VQDMULH;
1567               break;
1568 
1569             case triton::extlibs::capstone::ARM_INS_VQDMULL:
1570               tritonId = triton::arch::arm::arm32::ID_INS_VQDMULL;
1571               break;
1572 
1573             case triton::extlibs::capstone::ARM_INS_VQMOVUN:
1574               tritonId = triton::arch::arm::arm32::ID_INS_VQMOVUN;
1575               break;
1576 
1577             case triton::extlibs::capstone::ARM_INS_VQMOVN:
1578               tritonId = triton::arch::arm::arm32::ID_INS_VQMOVN;
1579               break;
1580 
1581             case triton::extlibs::capstone::ARM_INS_VQNEG:
1582               tritonId = triton::arch::arm::arm32::ID_INS_VQNEG;
1583               break;
1584 
1585             case triton::extlibs::capstone::ARM_INS_VQRDMULH:
1586               tritonId = triton::arch::arm::arm32::ID_INS_VQRDMULH;
1587               break;
1588 
1589             case triton::extlibs::capstone::ARM_INS_VQRSHL:
1590               tritonId = triton::arch::arm::arm32::ID_INS_VQRSHL;
1591               break;
1592 
1593             case triton::extlibs::capstone::ARM_INS_VQRSHRN:
1594               tritonId = triton::arch::arm::arm32::ID_INS_VQRSHRN;
1595               break;
1596 
1597             case triton::extlibs::capstone::ARM_INS_VQRSHRUN:
1598               tritonId = triton::arch::arm::arm32::ID_INS_VQRSHRUN;
1599               break;
1600 
1601             case triton::extlibs::capstone::ARM_INS_VQSHL:
1602               tritonId = triton::arch::arm::arm32::ID_INS_VQSHL;
1603               break;
1604 
1605             case triton::extlibs::capstone::ARM_INS_VQSHLU:
1606               tritonId = triton::arch::arm::arm32::ID_INS_VQSHLU;
1607               break;
1608 
1609             case triton::extlibs::capstone::ARM_INS_VQSHRN:
1610               tritonId = triton::arch::arm::arm32::ID_INS_VQSHRN;
1611               break;
1612 
1613             case triton::extlibs::capstone::ARM_INS_VQSHRUN:
1614               tritonId = triton::arch::arm::arm32::ID_INS_VQSHRUN;
1615               break;
1616 
1617             case triton::extlibs::capstone::ARM_INS_VQSUB:
1618               tritonId = triton::arch::arm::arm32::ID_INS_VQSUB;
1619               break;
1620 
1621             case triton::extlibs::capstone::ARM_INS_VRADDHN:
1622               tritonId = triton::arch::arm::arm32::ID_INS_VRADDHN;
1623               break;
1624 
1625             case triton::extlibs::capstone::ARM_INS_VRECPE:
1626               tritonId = triton::arch::arm::arm32::ID_INS_VRECPE;
1627               break;
1628 
1629             case triton::extlibs::capstone::ARM_INS_VRECPS:
1630               tritonId = triton::arch::arm::arm32::ID_INS_VRECPS;
1631               break;
1632 
1633             case triton::extlibs::capstone::ARM_INS_VREV16:
1634               tritonId = triton::arch::arm::arm32::ID_INS_VREV16;
1635               break;
1636 
1637             case triton::extlibs::capstone::ARM_INS_VREV32:
1638               tritonId = triton::arch::arm::arm32::ID_INS_VREV32;
1639               break;
1640 
1641             case triton::extlibs::capstone::ARM_INS_VREV64:
1642               tritonId = triton::arch::arm::arm32::ID_INS_VREV64;
1643               break;
1644 
1645             case triton::extlibs::capstone::ARM_INS_VRHADD:
1646               tritonId = triton::arch::arm::arm32::ID_INS_VRHADD;
1647               break;
1648 
1649             case triton::extlibs::capstone::ARM_INS_VRINTA:
1650               tritonId = triton::arch::arm::arm32::ID_INS_VRINTA;
1651               break;
1652 
1653             case triton::extlibs::capstone::ARM_INS_VRINTM:
1654               tritonId = triton::arch::arm::arm32::ID_INS_VRINTM;
1655               break;
1656 
1657             case triton::extlibs::capstone::ARM_INS_VRINTN:
1658               tritonId = triton::arch::arm::arm32::ID_INS_VRINTN;
1659               break;
1660 
1661             case triton::extlibs::capstone::ARM_INS_VRINTP:
1662               tritonId = triton::arch::arm::arm32::ID_INS_VRINTP;
1663               break;
1664 
1665             case triton::extlibs::capstone::ARM_INS_VRINTR:
1666               tritonId = triton::arch::arm::arm32::ID_INS_VRINTR;
1667               break;
1668 
1669             case triton::extlibs::capstone::ARM_INS_VRINTX:
1670               tritonId = triton::arch::arm::arm32::ID_INS_VRINTX;
1671               break;
1672 
1673             case triton::extlibs::capstone::ARM_INS_VRINTZ:
1674               tritonId = triton::arch::arm::arm32::ID_INS_VRINTZ;
1675               break;
1676 
1677             case triton::extlibs::capstone::ARM_INS_VRSHL:
1678               tritonId = triton::arch::arm::arm32::ID_INS_VRSHL;
1679               break;
1680 
1681             case triton::extlibs::capstone::ARM_INS_VRSHRN:
1682               tritonId = triton::arch::arm::arm32::ID_INS_VRSHRN;
1683               break;
1684 
1685             case triton::extlibs::capstone::ARM_INS_VRSHR:
1686               tritonId = triton::arch::arm::arm32::ID_INS_VRSHR;
1687               break;
1688 
1689             case triton::extlibs::capstone::ARM_INS_VRSQRTE:
1690               tritonId = triton::arch::arm::arm32::ID_INS_VRSQRTE;
1691               break;
1692 
1693             case triton::extlibs::capstone::ARM_INS_VRSQRTS:
1694               tritonId = triton::arch::arm::arm32::ID_INS_VRSQRTS;
1695               break;
1696 
1697             case triton::extlibs::capstone::ARM_INS_VRSRA:
1698               tritonId = triton::arch::arm::arm32::ID_INS_VRSRA;
1699               break;
1700 
1701             case triton::extlibs::capstone::ARM_INS_VRSUBHN:
1702               tritonId = triton::arch::arm::arm32::ID_INS_VRSUBHN;
1703               break;
1704 
1705             case triton::extlibs::capstone::ARM_INS_VSELEQ:
1706               tritonId = triton::arch::arm::arm32::ID_INS_VSELEQ;
1707               break;
1708 
1709             case triton::extlibs::capstone::ARM_INS_VSELGE:
1710               tritonId = triton::arch::arm::arm32::ID_INS_VSELGE;
1711               break;
1712 
1713             case triton::extlibs::capstone::ARM_INS_VSELGT:
1714               tritonId = triton::arch::arm::arm32::ID_INS_VSELGT;
1715               break;
1716 
1717             case triton::extlibs::capstone::ARM_INS_VSELVS:
1718               tritonId = triton::arch::arm::arm32::ID_INS_VSELVS;
1719               break;
1720 
1721             case triton::extlibs::capstone::ARM_INS_VSHLL:
1722               tritonId = triton::arch::arm::arm32::ID_INS_VSHLL;
1723               break;
1724 
1725             case triton::extlibs::capstone::ARM_INS_VSHL:
1726               tritonId = triton::arch::arm::arm32::ID_INS_VSHL;
1727               break;
1728 
1729             case triton::extlibs::capstone::ARM_INS_VSHRN:
1730               tritonId = triton::arch::arm::arm32::ID_INS_VSHRN;
1731               break;
1732 
1733             case triton::extlibs::capstone::ARM_INS_VSHR:
1734               tritonId = triton::arch::arm::arm32::ID_INS_VSHR;
1735               break;
1736 
1737             case triton::extlibs::capstone::ARM_INS_VSLI:
1738               tritonId = triton::arch::arm::arm32::ID_INS_VSLI;
1739               break;
1740 
1741             case triton::extlibs::capstone::ARM_INS_VSQRT:
1742               tritonId = triton::arch::arm::arm32::ID_INS_VSQRT;
1743               break;
1744 
1745             case triton::extlibs::capstone::ARM_INS_VSRA:
1746               tritonId = triton::arch::arm::arm32::ID_INS_VSRA;
1747               break;
1748 
1749             case triton::extlibs::capstone::ARM_INS_VSRI:
1750               tritonId = triton::arch::arm::arm32::ID_INS_VSRI;
1751               break;
1752 
1753             case triton::extlibs::capstone::ARM_INS_VST1:
1754               tritonId = triton::arch::arm::arm32::ID_INS_VST1;
1755               break;
1756 
1757             case triton::extlibs::capstone::ARM_INS_VST2:
1758               tritonId = triton::arch::arm::arm32::ID_INS_VST2;
1759               break;
1760 
1761             case triton::extlibs::capstone::ARM_INS_VST3:
1762               tritonId = triton::arch::arm::arm32::ID_INS_VST3;
1763               break;
1764 
1765             case triton::extlibs::capstone::ARM_INS_VST4:
1766               tritonId = triton::arch::arm::arm32::ID_INS_VST4;
1767               break;
1768 
1769             case triton::extlibs::capstone::ARM_INS_VSTMDB:
1770               tritonId = triton::arch::arm::arm32::ID_INS_VSTMDB;
1771               break;
1772 
1773             case triton::extlibs::capstone::ARM_INS_VSTMIA:
1774               tritonId = triton::arch::arm::arm32::ID_INS_VSTMIA;
1775               break;
1776 
1777             case triton::extlibs::capstone::ARM_INS_VSTR:
1778               tritonId = triton::arch::arm::arm32::ID_INS_VSTR;
1779               break;
1780 
1781             case triton::extlibs::capstone::ARM_INS_VSUB:
1782               tritonId = triton::arch::arm::arm32::ID_INS_VSUB;
1783               break;
1784 
1785             case triton::extlibs::capstone::ARM_INS_VSUBHN:
1786               tritonId = triton::arch::arm::arm32::ID_INS_VSUBHN;
1787               break;
1788 
1789             case triton::extlibs::capstone::ARM_INS_VSUBL:
1790               tritonId = triton::arch::arm::arm32::ID_INS_VSUBL;
1791               break;
1792 
1793             case triton::extlibs::capstone::ARM_INS_VSUBW:
1794               tritonId = triton::arch::arm::arm32::ID_INS_VSUBW;
1795               break;
1796 
1797             case triton::extlibs::capstone::ARM_INS_VSWP:
1798               tritonId = triton::arch::arm::arm32::ID_INS_VSWP;
1799               break;
1800 
1801             case triton::extlibs::capstone::ARM_INS_VTBL:
1802               tritonId = triton::arch::arm::arm32::ID_INS_VTBL;
1803               break;
1804 
1805             case triton::extlibs::capstone::ARM_INS_VTBX:
1806               tritonId = triton::arch::arm::arm32::ID_INS_VTBX;
1807               break;
1808 
1809             case triton::extlibs::capstone::ARM_INS_VCVTR:
1810               tritonId = triton::arch::arm::arm32::ID_INS_VCVTR;
1811               break;
1812 
1813             case triton::extlibs::capstone::ARM_INS_VTRN:
1814               tritonId = triton::arch::arm::arm32::ID_INS_VTRN;
1815               break;
1816 
1817             case triton::extlibs::capstone::ARM_INS_VTST:
1818               tritonId = triton::arch::arm::arm32::ID_INS_VTST;
1819               break;
1820 
1821             case triton::extlibs::capstone::ARM_INS_VUZP:
1822               tritonId = triton::arch::arm::arm32::ID_INS_VUZP;
1823               break;
1824 
1825             case triton::extlibs::capstone::ARM_INS_VZIP:
1826               tritonId = triton::arch::arm::arm32::ID_INS_VZIP;
1827               break;
1828 
1829             case triton::extlibs::capstone::ARM_INS_ADDW:
1830               tritonId = triton::arch::arm::arm32::ID_INS_ADDW;
1831               break;
1832 
1833             case triton::extlibs::capstone::ARM_INS_ASR:
1834               tritonId = triton::arch::arm::arm32::ID_INS_ASR;
1835               break;
1836 
1837             case triton::extlibs::capstone::ARM_INS_DCPS1:
1838               tritonId = triton::arch::arm::arm32::ID_INS_DCPS1;
1839               break;
1840 
1841             case triton::extlibs::capstone::ARM_INS_DCPS2:
1842               tritonId = triton::arch::arm::arm32::ID_INS_DCPS2;
1843               break;
1844 
1845             case triton::extlibs::capstone::ARM_INS_DCPS3:
1846               tritonId = triton::arch::arm::arm32::ID_INS_DCPS3;
1847               break;
1848 
1849             case triton::extlibs::capstone::ARM_INS_IT:
1850               tritonId = triton::arch::arm::arm32::ID_INS_IT;
1851               break;
1852 
1853             case triton::extlibs::capstone::ARM_INS_LSL:
1854               tritonId = triton::arch::arm::arm32::ID_INS_LSL;
1855               break;
1856 
1857             case triton::extlibs::capstone::ARM_INS_LSR:
1858               tritonId = triton::arch::arm::arm32::ID_INS_LSR;
1859               break;
1860 
1861             case triton::extlibs::capstone::ARM_INS_ORN:
1862               tritonId = triton::arch::arm::arm32::ID_INS_ORN;
1863               break;
1864 
1865             case triton::extlibs::capstone::ARM_INS_ROR:
1866               tritonId = triton::arch::arm::arm32::ID_INS_ROR;
1867               break;
1868 
1869             case triton::extlibs::capstone::ARM_INS_RRX:
1870               tritonId = triton::arch::arm::arm32::ID_INS_RRX;
1871               break;
1872 
1873             case triton::extlibs::capstone::ARM_INS_SUBW:
1874               tritonId = triton::arch::arm::arm32::ID_INS_SUBW;
1875               break;
1876 
1877             case triton::extlibs::capstone::ARM_INS_TBB:
1878               tritonId = triton::arch::arm::arm32::ID_INS_TBB;
1879               break;
1880 
1881             case triton::extlibs::capstone::ARM_INS_TBH:
1882               tritonId = triton::arch::arm::arm32::ID_INS_TBH;
1883               break;
1884 
1885             case triton::extlibs::capstone::ARM_INS_CBNZ:
1886               tritonId = triton::arch::arm::arm32::ID_INS_CBNZ;
1887               break;
1888 
1889             case triton::extlibs::capstone::ARM_INS_CBZ:
1890               tritonId = triton::arch::arm::arm32::ID_INS_CBZ;
1891               break;
1892 
1893             case triton::extlibs::capstone::ARM_INS_POP:
1894               tritonId = triton::arch::arm::arm32::ID_INS_POP;
1895               break;
1896 
1897             case triton::extlibs::capstone::ARM_INS_PUSH:
1898               tritonId = triton::arch::arm::arm32::ID_INS_PUSH;
1899               break;
1900 
1901             // special instructions
1902             case triton::extlibs::capstone::ARM_INS_NOP:
1903               tritonId = triton::arch::arm::arm32::ID_INS_NOP;
1904               break;
1905 
1906             case triton::extlibs::capstone::ARM_INS_YIELD:
1907               tritonId = triton::arch::arm::arm32::ID_INS_YIELD;
1908               break;
1909 
1910             case triton::extlibs::capstone::ARM_INS_WFE:
1911               tritonId = triton::arch::arm::arm32::ID_INS_WFE;
1912               break;
1913 
1914             case triton::extlibs::capstone::ARM_INS_WFI:
1915               tritonId = triton::arch::arm::arm32::ID_INS_WFI;
1916               break;
1917 
1918             case triton::extlibs::capstone::ARM_INS_SEV:
1919               tritonId = triton::arch::arm::arm32::ID_INS_SEV;
1920               break;
1921 
1922             case triton::extlibs::capstone::ARM_INS_SEVL:
1923               tritonId = triton::arch::arm::arm32::ID_INS_SEVL;
1924               break;
1925 
1926             case triton::extlibs::capstone::ARM_INS_VPUSH:
1927               tritonId = triton::arch::arm::arm32::ID_INS_VPUSH;
1928               break;
1929 
1930             case triton::extlibs::capstone::ARM_INS_VPOP:
1931               tritonId = triton::arch::arm::arm32::ID_INS_VPOP;
1932               break;
1933 
1934             default:
1935               tritonId = triton::arch::arm::arm32::ID_INS_INVALID;
1936               break;
1937           }
1938 
1939           return tritonId;
1940         }
1941 
1942       }; /* arm32 namespace */
1943     }; /* arm namespace */
1944   }; /* arch namespace */
1945 }; /* triton namespace */
1946