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/aarch64Specifications.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 aarch64 {
20 
AArch64Specifications(triton::arch::architecture_e arch)21         AArch64Specifications::AArch64Specifications(triton::arch::architecture_e arch) {
22           if (arch != triton::arch::ARCH_AARCH64)
23               throw triton::exceptions::Architecture("AArch64Specifications::AArch64Specifications(): Invalid architecture.");
24 
25             // Fill registers_ with those available in AArch64 from spec
26             #define REG_SPEC(UPPER_NAME, LOWER_NAME, AARCH64_UPPER, AARCH64_LOWER, AARCH64_PARENT, MUTABLE) \
27               registers_.emplace(ID_REG_AARCH64_##UPPER_NAME,                                               \
28                                  triton::arch::Register(triton::arch::ID_REG_AARCH64_##UPPER_NAME,          \
29                                                         #LOWER_NAME,                                        \
30                                                         triton::arch::ID_REG_AARCH64_##AARCH64_PARENT,      \
31                                                         AARCH64_UPPER,                                      \
32                                                         AARCH64_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/aarch64.spec"
38         }
39 
40 
capstoneRegisterToTritonRegister(triton::uint32 id) const41         triton::arch::register_e AArch64Specifications::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::ARM64_REG_##UPPER_NAME: \
48               tritonId = triton::arch::ID_REG_AARCH64_##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/aarch64.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 AArch64Specifications::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::ARM64_SFT_INVALID:
68               tritonId = triton::arch::arm::ID_SHIFT_INVALID;
69               break;
70 
71             case triton::extlibs::capstone::ARM64_SFT_ASR:
72               tritonId = triton::arch::arm::ID_SHIFT_ASR;
73               break;
74 
75             case triton::extlibs::capstone::ARM64_SFT_LSL:
76               tritonId = triton::arch::arm::ID_SHIFT_LSL;
77               break;
78 
79             case triton::extlibs::capstone::ARM64_SFT_LSR:
80               tritonId = triton::arch::arm::ID_SHIFT_LSR;
81               break;
82 
83             case triton::extlibs::capstone::ARM64_SFT_ROR:
84               tritonId = triton::arch::arm::ID_SHIFT_ROR;
85               break;
86 
87             default:
88               tritonId = triton::arch::arm::ID_SHIFT_INVALID;
89               break;
90           }
91 
92           return tritonId;
93         }
94 
95 
capstoneExtendToTritonExtend(triton::uint32 id) const96         triton::arch::arm::extend_e AArch64Specifications::capstoneExtendToTritonExtend(triton::uint32 id) const {
97           triton::arch::arm::extend_e tritonId = triton::arch::arm::ID_EXTEND_INVALID;
98 
99           switch (id) {
100             case triton::extlibs::capstone::ARM64_EXT_INVALID:
101               tritonId = triton::arch::arm::ID_EXTEND_INVALID;
102               break;
103 
104             case triton::extlibs::capstone::ARM64_EXT_UXTB:
105               tritonId = triton::arch::arm::ID_EXTEND_UXTB;
106               break;
107 
108             case triton::extlibs::capstone::ARM64_EXT_UXTH:
109               tritonId = triton::arch::arm::ID_EXTEND_UXTH;
110               break;
111 
112             case triton::extlibs::capstone::ARM64_EXT_UXTW:
113               tritonId = triton::arch::arm::ID_EXTEND_UXTW;
114               break;
115 
116             case triton::extlibs::capstone::ARM64_EXT_UXTX:
117               tritonId = triton::arch::arm::ID_EXTEND_UXTX;
118               break;
119 
120             case triton::extlibs::capstone::ARM64_EXT_SXTB:
121               tritonId = triton::arch::arm::ID_EXTEND_SXTB;
122               break;
123 
124             case triton::extlibs::capstone::ARM64_EXT_SXTH:
125               tritonId = triton::arch::arm::ID_EXTEND_SXTH;
126               break;
127 
128             case triton::extlibs::capstone::ARM64_EXT_SXTW:
129               tritonId = triton::arch::arm::ID_EXTEND_SXTW;
130               break;
131 
132             case triton::extlibs::capstone::ARM64_EXT_SXTX:
133               tritonId = triton::arch::arm::ID_EXTEND_SXTX;
134               break;
135 
136             default:
137               tritonId = triton::arch::arm::ID_EXTEND_INVALID;
138               break;
139           }
140 
141           return tritonId;
142         }
143 
144 
capstoneConditionToTritonCondition(triton::uint32 id) const145         triton::arch::arm::condition_e AArch64Specifications::capstoneConditionToTritonCondition(triton::uint32 id) const {
146           triton::arch::arm::condition_e tritonId = triton::arch::arm::ID_CONDITION_INVALID;
147 
148           switch (id) {
149             case triton::extlibs::capstone::ARM64_CC_INVALID:
150               tritonId = triton::arch::arm::ID_CONDITION_INVALID;
151               break;
152 
153             case triton::extlibs::capstone::ARM64_CC_AL:
154               tritonId = triton::arch::arm::ID_CONDITION_AL;
155               break;
156 
157             case triton::extlibs::capstone::ARM64_CC_EQ:
158               tritonId = triton::arch::arm::ID_CONDITION_EQ;
159               break;
160 
161             case triton::extlibs::capstone::ARM64_CC_GE:
162               tritonId = triton::arch::arm::ID_CONDITION_GE;
163               break;
164 
165             case triton::extlibs::capstone::ARM64_CC_GT:
166               tritonId = triton::arch::arm::ID_CONDITION_GT;
167               break;
168 
169             case triton::extlibs::capstone::ARM64_CC_HI:
170               tritonId = triton::arch::arm::ID_CONDITION_HI;
171               break;
172 
173             case triton::extlibs::capstone::ARM64_CC_HS:
174               tritonId = triton::arch::arm::ID_CONDITION_HS;
175               break;
176 
177             case triton::extlibs::capstone::ARM64_CC_LE:
178               tritonId = triton::arch::arm::ID_CONDITION_LE;
179               break;
180 
181             case triton::extlibs::capstone::ARM64_CC_LO:
182               tritonId = triton::arch::arm::ID_CONDITION_LO;
183               break;
184 
185             case triton::extlibs::capstone::ARM64_CC_LS:
186               tritonId = triton::arch::arm::ID_CONDITION_LS;
187               break;
188 
189             case triton::extlibs::capstone::ARM64_CC_LT:
190               tritonId = triton::arch::arm::ID_CONDITION_LT;
191               break;
192 
193             case triton::extlibs::capstone::ARM64_CC_MI:
194               tritonId = triton::arch::arm::ID_CONDITION_MI;
195               break;
196 
197             case triton::extlibs::capstone::ARM64_CC_NE:
198               tritonId = triton::arch::arm::ID_CONDITION_NE;
199               break;
200 
201             case triton::extlibs::capstone::ARM64_CC_PL:
202               tritonId = triton::arch::arm::ID_CONDITION_PL;
203               break;
204 
205             case triton::extlibs::capstone::ARM64_CC_VC:
206               tritonId = triton::arch::arm::ID_CONDITION_VC;
207               break;
208 
209             case triton::extlibs::capstone::ARM64_CC_VS:
210               tritonId = triton::arch::arm::ID_CONDITION_VS;
211               break;
212 
213             default:
214               tritonId = triton::arch::arm::ID_CONDITION_INVALID;
215               break;
216           }
217 
218           return tritonId;
219         }
220 
221 
capstoneInstructionToTritonInstruction(triton::uint32 id) const222         triton::uint32 AArch64Specifications::capstoneInstructionToTritonInstruction(triton::uint32 id) const {
223           triton::uint32 tritonId = triton::arch::arm::aarch64::ID_INS_INVALID;
224 
225           switch (id) {
226             case triton::extlibs::capstone::ARM64_INS_INVALID:
227               tritonId = triton::arch::arm::aarch64::ID_INS_INVALID;
228               break;
229 
230             case triton::extlibs::capstone::ARM64_INS_ABS:
231               tritonId = triton::arch::arm::aarch64::ID_INS_ABS;
232               break;
233 
234             case triton::extlibs::capstone::ARM64_INS_ADC:
235               tritonId = triton::arch::arm::aarch64::ID_INS_ADC;
236               break;
237 
238             case triton::extlibs::capstone::ARM64_INS_ADDHN:
239               tritonId = triton::arch::arm::aarch64::ID_INS_ADDHN;
240               break;
241 
242             case triton::extlibs::capstone::ARM64_INS_ADDHN2:
243               tritonId = triton::arch::arm::aarch64::ID_INS_ADDHN2;
244               break;
245 
246             case triton::extlibs::capstone::ARM64_INS_ADDP:
247               tritonId = triton::arch::arm::aarch64::ID_INS_ADDP;
248               break;
249 
250             case triton::extlibs::capstone::ARM64_INS_ADD:
251               tritonId = triton::arch::arm::aarch64::ID_INS_ADD;
252               break;
253 
254             case triton::extlibs::capstone::ARM64_INS_ADDV:
255               tritonId = triton::arch::arm::aarch64::ID_INS_ADDV;
256               break;
257 
258             case triton::extlibs::capstone::ARM64_INS_ADR:
259               tritonId = triton::arch::arm::aarch64::ID_INS_ADR;
260               break;
261 
262             case triton::extlibs::capstone::ARM64_INS_ADRP:
263               tritonId = triton::arch::arm::aarch64::ID_INS_ADRP;
264               break;
265 
266             case triton::extlibs::capstone::ARM64_INS_AESD:
267               tritonId = triton::arch::arm::aarch64::ID_INS_AESD;
268               break;
269 
270             case triton::extlibs::capstone::ARM64_INS_AESE:
271               tritonId = triton::arch::arm::aarch64::ID_INS_AESE;
272               break;
273 
274             case triton::extlibs::capstone::ARM64_INS_AESIMC:
275               tritonId = triton::arch::arm::aarch64::ID_INS_AESIMC;
276               break;
277 
278             case triton::extlibs::capstone::ARM64_INS_AESMC:
279               tritonId = triton::arch::arm::aarch64::ID_INS_AESMC;
280               break;
281 
282             case triton::extlibs::capstone::ARM64_INS_AND:
283               tritonId = triton::arch::arm::aarch64::ID_INS_AND;
284               break;
285 
286             case triton::extlibs::capstone::ARM64_INS_ASR:
287               tritonId = triton::arch::arm::aarch64::ID_INS_ASR;
288               break;
289 
290             case triton::extlibs::capstone::ARM64_INS_B:
291               tritonId = triton::arch::arm::aarch64::ID_INS_B;
292               break;
293 
294             case triton::extlibs::capstone::ARM64_INS_BFM:
295               tritonId = triton::arch::arm::aarch64::ID_INS_BFM;
296               break;
297 
298             case triton::extlibs::capstone::ARM64_INS_BIC:
299               tritonId = triton::arch::arm::aarch64::ID_INS_BIC;
300               break;
301 
302             case triton::extlibs::capstone::ARM64_INS_BIF:
303               tritonId = triton::arch::arm::aarch64::ID_INS_BIF;
304               break;
305 
306             case triton::extlibs::capstone::ARM64_INS_BIT:
307               tritonId = triton::arch::arm::aarch64::ID_INS_BIT;
308               break;
309 
310             case triton::extlibs::capstone::ARM64_INS_BL:
311               tritonId = triton::arch::arm::aarch64::ID_INS_BL;
312               break;
313 
314             case triton::extlibs::capstone::ARM64_INS_BLR:
315               tritonId = triton::arch::arm::aarch64::ID_INS_BLR;
316               break;
317 
318             case triton::extlibs::capstone::ARM64_INS_BR:
319               tritonId = triton::arch::arm::aarch64::ID_INS_BR;
320               break;
321 
322             case triton::extlibs::capstone::ARM64_INS_BRK:
323               tritonId = triton::arch::arm::aarch64::ID_INS_BRK;
324               break;
325 
326             case triton::extlibs::capstone::ARM64_INS_BSL:
327               tritonId = triton::arch::arm::aarch64::ID_INS_BSL;
328               break;
329 
330             case triton::extlibs::capstone::ARM64_INS_CBNZ:
331               tritonId = triton::arch::arm::aarch64::ID_INS_CBNZ;
332               break;
333 
334             case triton::extlibs::capstone::ARM64_INS_CBZ:
335               tritonId = triton::arch::arm::aarch64::ID_INS_CBZ;
336               break;
337 
338             case triton::extlibs::capstone::ARM64_INS_CCMN:
339               tritonId = triton::arch::arm::aarch64::ID_INS_CCMN;
340               break;
341 
342             case triton::extlibs::capstone::ARM64_INS_CCMP:
343               tritonId = triton::arch::arm::aarch64::ID_INS_CCMP;
344               break;
345 
346             case triton::extlibs::capstone::ARM64_INS_CLREX:
347               tritonId = triton::arch::arm::aarch64::ID_INS_CLREX;
348               break;
349 
350             case triton::extlibs::capstone::ARM64_INS_CLS:
351               tritonId = triton::arch::arm::aarch64::ID_INS_CLS;
352               break;
353 
354             case triton::extlibs::capstone::ARM64_INS_CLZ:
355               tritonId = triton::arch::arm::aarch64::ID_INS_CLZ;
356               break;
357 
358             case triton::extlibs::capstone::ARM64_INS_CMEQ:
359               tritonId = triton::arch::arm::aarch64::ID_INS_CMEQ;
360               break;
361 
362             case triton::extlibs::capstone::ARM64_INS_CMGE:
363               tritonId = triton::arch::arm::aarch64::ID_INS_CMGE;
364               break;
365 
366             case triton::extlibs::capstone::ARM64_INS_CMGT:
367               tritonId = triton::arch::arm::aarch64::ID_INS_CMGT;
368               break;
369 
370             case triton::extlibs::capstone::ARM64_INS_CMHI:
371               tritonId = triton::arch::arm::aarch64::ID_INS_CMHI;
372               break;
373 
374             case triton::extlibs::capstone::ARM64_INS_CMHS:
375               tritonId = triton::arch::arm::aarch64::ID_INS_CMHS;
376               break;
377 
378             case triton::extlibs::capstone::ARM64_INS_CMLE:
379               tritonId = triton::arch::arm::aarch64::ID_INS_CMLE;
380               break;
381 
382             case triton::extlibs::capstone::ARM64_INS_CMLT:
383               tritonId = triton::arch::arm::aarch64::ID_INS_CMLT;
384               break;
385 
386             case triton::extlibs::capstone::ARM64_INS_CMTST:
387               tritonId = triton::arch::arm::aarch64::ID_INS_CMTST;
388               break;
389 
390             case triton::extlibs::capstone::ARM64_INS_CNT:
391               tritonId = triton::arch::arm::aarch64::ID_INS_CNT;
392               break;
393 
394             case triton::extlibs::capstone::ARM64_INS_MOV:
395               tritonId = triton::arch::arm::aarch64::ID_INS_MOV;
396               break;
397 
398             case triton::extlibs::capstone::ARM64_INS_CRC32B:
399               tritonId = triton::arch::arm::aarch64::ID_INS_CRC32B;
400               break;
401 
402             case triton::extlibs::capstone::ARM64_INS_CRC32CB:
403               tritonId = triton::arch::arm::aarch64::ID_INS_CRC32CB;
404               break;
405 
406             case triton::extlibs::capstone::ARM64_INS_CRC32CH:
407               tritonId = triton::arch::arm::aarch64::ID_INS_CRC32CH;
408               break;
409 
410             case triton::extlibs::capstone::ARM64_INS_CRC32CW:
411               tritonId = triton::arch::arm::aarch64::ID_INS_CRC32CW;
412               break;
413 
414             case triton::extlibs::capstone::ARM64_INS_CRC32CX:
415               tritonId = triton::arch::arm::aarch64::ID_INS_CRC32CX;
416               break;
417 
418             case triton::extlibs::capstone::ARM64_INS_CRC32H:
419               tritonId = triton::arch::arm::aarch64::ID_INS_CRC32H;
420               break;
421 
422             case triton::extlibs::capstone::ARM64_INS_CRC32W:
423               tritonId = triton::arch::arm::aarch64::ID_INS_CRC32W;
424               break;
425 
426             case triton::extlibs::capstone::ARM64_INS_CRC32X:
427               tritonId = triton::arch::arm::aarch64::ID_INS_CRC32X;
428               break;
429 
430             case triton::extlibs::capstone::ARM64_INS_CSEL:
431               tritonId = triton::arch::arm::aarch64::ID_INS_CSEL;
432               break;
433 
434             case triton::extlibs::capstone::ARM64_INS_CSINC:
435               tritonId = triton::arch::arm::aarch64::ID_INS_CSINC;
436               break;
437 
438             case triton::extlibs::capstone::ARM64_INS_CSINV:
439               tritonId = triton::arch::arm::aarch64::ID_INS_CSINV;
440               break;
441 
442             case triton::extlibs::capstone::ARM64_INS_CSNEG:
443               tritonId = triton::arch::arm::aarch64::ID_INS_CSNEG;
444               break;
445 
446             case triton::extlibs::capstone::ARM64_INS_DCPS1:
447               tritonId = triton::arch::arm::aarch64::ID_INS_DCPS1;
448               break;
449 
450             case triton::extlibs::capstone::ARM64_INS_DCPS2:
451               tritonId = triton::arch::arm::aarch64::ID_INS_DCPS2;
452               break;
453 
454             case triton::extlibs::capstone::ARM64_INS_DCPS3:
455               tritonId = triton::arch::arm::aarch64::ID_INS_DCPS3;
456               break;
457 
458             case triton::extlibs::capstone::ARM64_INS_DMB:
459               tritonId = triton::arch::arm::aarch64::ID_INS_DMB;
460               break;
461 
462             case triton::extlibs::capstone::ARM64_INS_DRPS:
463               tritonId = triton::arch::arm::aarch64::ID_INS_DRPS;
464               break;
465 
466             case triton::extlibs::capstone::ARM64_INS_DSB:
467               tritonId = triton::arch::arm::aarch64::ID_INS_DSB;
468               break;
469 
470             case triton::extlibs::capstone::ARM64_INS_DUP:
471               tritonId = triton::arch::arm::aarch64::ID_INS_DUP;
472               break;
473 
474             case triton::extlibs::capstone::ARM64_INS_EON:
475               tritonId = triton::arch::arm::aarch64::ID_INS_EON;
476               break;
477 
478             case triton::extlibs::capstone::ARM64_INS_EOR:
479               tritonId = triton::arch::arm::aarch64::ID_INS_EOR;
480               break;
481 
482             case triton::extlibs::capstone::ARM64_INS_ERET:
483               tritonId = triton::arch::arm::aarch64::ID_INS_ERET;
484               break;
485 
486             case triton::extlibs::capstone::ARM64_INS_EXTR:
487               tritonId = triton::arch::arm::aarch64::ID_INS_EXTR;
488               break;
489 
490             case triton::extlibs::capstone::ARM64_INS_EXT:
491               tritonId = triton::arch::arm::aarch64::ID_INS_EXT;
492               break;
493 
494             case triton::extlibs::capstone::ARM64_INS_FABD:
495               tritonId = triton::arch::arm::aarch64::ID_INS_FABD;
496               break;
497 
498             case triton::extlibs::capstone::ARM64_INS_FABS:
499               tritonId = triton::arch::arm::aarch64::ID_INS_FABS;
500               break;
501 
502             case triton::extlibs::capstone::ARM64_INS_FACGE:
503               tritonId = triton::arch::arm::aarch64::ID_INS_FACGE;
504               break;
505 
506             case triton::extlibs::capstone::ARM64_INS_FACGT:
507               tritonId = triton::arch::arm::aarch64::ID_INS_FACGT;
508               break;
509 
510             case triton::extlibs::capstone::ARM64_INS_FADD:
511               tritonId = triton::arch::arm::aarch64::ID_INS_FADD;
512               break;
513 
514             case triton::extlibs::capstone::ARM64_INS_FADDP:
515               tritonId = triton::arch::arm::aarch64::ID_INS_FADDP;
516               break;
517 
518             case triton::extlibs::capstone::ARM64_INS_FCCMP:
519               tritonId = triton::arch::arm::aarch64::ID_INS_FCCMP;
520               break;
521 
522             case triton::extlibs::capstone::ARM64_INS_FCCMPE:
523               tritonId = triton::arch::arm::aarch64::ID_INS_FCCMPE;
524               break;
525 
526             case triton::extlibs::capstone::ARM64_INS_FCMEQ:
527               tritonId = triton::arch::arm::aarch64::ID_INS_FCMEQ;
528               break;
529 
530             case triton::extlibs::capstone::ARM64_INS_FCMGE:
531               tritonId = triton::arch::arm::aarch64::ID_INS_FCMGE;
532               break;
533 
534             case triton::extlibs::capstone::ARM64_INS_FCMGT:
535               tritonId = triton::arch::arm::aarch64::ID_INS_FCMGT;
536               break;
537 
538             case triton::extlibs::capstone::ARM64_INS_FCMLE:
539               tritonId = triton::arch::arm::aarch64::ID_INS_FCMLE;
540               break;
541 
542             case triton::extlibs::capstone::ARM64_INS_FCMLT:
543               tritonId = triton::arch::arm::aarch64::ID_INS_FCMLT;
544               break;
545 
546             case triton::extlibs::capstone::ARM64_INS_FCMP:
547               tritonId = triton::arch::arm::aarch64::ID_INS_FCMP;
548               break;
549 
550             case triton::extlibs::capstone::ARM64_INS_FCMPE:
551               tritonId = triton::arch::arm::aarch64::ID_INS_FCMPE;
552               break;
553 
554             case triton::extlibs::capstone::ARM64_INS_FCSEL:
555               tritonId = triton::arch::arm::aarch64::ID_INS_FCSEL;
556               break;
557 
558             case triton::extlibs::capstone::ARM64_INS_FCVTAS:
559               tritonId = triton::arch::arm::aarch64::ID_INS_FCVTAS;
560               break;
561 
562             case triton::extlibs::capstone::ARM64_INS_FCVTAU:
563               tritonId = triton::arch::arm::aarch64::ID_INS_FCVTAU;
564               break;
565 
566             case triton::extlibs::capstone::ARM64_INS_FCVT:
567               tritonId = triton::arch::arm::aarch64::ID_INS_FCVT;
568               break;
569 
570             case triton::extlibs::capstone::ARM64_INS_FCVTL:
571               tritonId = triton::arch::arm::aarch64::ID_INS_FCVTL;
572               break;
573 
574             case triton::extlibs::capstone::ARM64_INS_FCVTL2:
575               tritonId = triton::arch::arm::aarch64::ID_INS_FCVTL2;
576               break;
577 
578             case triton::extlibs::capstone::ARM64_INS_FCVTMS:
579               tritonId = triton::arch::arm::aarch64::ID_INS_FCVTMS;
580               break;
581 
582             case triton::extlibs::capstone::ARM64_INS_FCVTMU:
583               tritonId = triton::arch::arm::aarch64::ID_INS_FCVTMU;
584               break;
585 
586             case triton::extlibs::capstone::ARM64_INS_FCVTNS:
587               tritonId = triton::arch::arm::aarch64::ID_INS_FCVTNS;
588               break;
589 
590             case triton::extlibs::capstone::ARM64_INS_FCVTNU:
591               tritonId = triton::arch::arm::aarch64::ID_INS_FCVTNU;
592               break;
593 
594             case triton::extlibs::capstone::ARM64_INS_FCVTN:
595               tritonId = triton::arch::arm::aarch64::ID_INS_FCVTN;
596               break;
597 
598             case triton::extlibs::capstone::ARM64_INS_FCVTN2:
599               tritonId = triton::arch::arm::aarch64::ID_INS_FCVTN2;
600               break;
601 
602             case triton::extlibs::capstone::ARM64_INS_FCVTPS:
603               tritonId = triton::arch::arm::aarch64::ID_INS_FCVTPS;
604               break;
605 
606             case triton::extlibs::capstone::ARM64_INS_FCVTPU:
607               tritonId = triton::arch::arm::aarch64::ID_INS_FCVTPU;
608               break;
609 
610             case triton::extlibs::capstone::ARM64_INS_FCVTXN:
611               tritonId = triton::arch::arm::aarch64::ID_INS_FCVTXN;
612               break;
613 
614             case triton::extlibs::capstone::ARM64_INS_FCVTXN2:
615               tritonId = triton::arch::arm::aarch64::ID_INS_FCVTXN2;
616               break;
617 
618             case triton::extlibs::capstone::ARM64_INS_FCVTZS:
619               tritonId = triton::arch::arm::aarch64::ID_INS_FCVTZS;
620               break;
621 
622             case triton::extlibs::capstone::ARM64_INS_FCVTZU:
623               tritonId = triton::arch::arm::aarch64::ID_INS_FCVTZU;
624               break;
625 
626             case triton::extlibs::capstone::ARM64_INS_FDIV:
627               tritonId = triton::arch::arm::aarch64::ID_INS_FDIV;
628               break;
629 
630             case triton::extlibs::capstone::ARM64_INS_FMADD:
631               tritonId = triton::arch::arm::aarch64::ID_INS_FMADD;
632               break;
633 
634             case triton::extlibs::capstone::ARM64_INS_FMAX:
635               tritonId = triton::arch::arm::aarch64::ID_INS_FMAX;
636               break;
637 
638             case triton::extlibs::capstone::ARM64_INS_FMAXNM:
639               tritonId = triton::arch::arm::aarch64::ID_INS_FMAXNM;
640               break;
641 
642             case triton::extlibs::capstone::ARM64_INS_FMAXNMP:
643               tritonId = triton::arch::arm::aarch64::ID_INS_FMAXNMP;
644               break;
645 
646             case triton::extlibs::capstone::ARM64_INS_FMAXNMV:
647               tritonId = triton::arch::arm::aarch64::ID_INS_FMAXNMV;
648               break;
649 
650             case triton::extlibs::capstone::ARM64_INS_FMAXP:
651               tritonId = triton::arch::arm::aarch64::ID_INS_FMAXP;
652               break;
653 
654             case triton::extlibs::capstone::ARM64_INS_FMAXV:
655               tritonId = triton::arch::arm::aarch64::ID_INS_FMAXV;
656               break;
657 
658             case triton::extlibs::capstone::ARM64_INS_FMIN:
659               tritonId = triton::arch::arm::aarch64::ID_INS_FMIN;
660               break;
661 
662             case triton::extlibs::capstone::ARM64_INS_FMINNM:
663               tritonId = triton::arch::arm::aarch64::ID_INS_FMINNM;
664               break;
665 
666             case triton::extlibs::capstone::ARM64_INS_FMINNMP:
667               tritonId = triton::arch::arm::aarch64::ID_INS_FMINNMP;
668               break;
669 
670             case triton::extlibs::capstone::ARM64_INS_FMINNMV:
671               tritonId = triton::arch::arm::aarch64::ID_INS_FMINNMV;
672               break;
673 
674             case triton::extlibs::capstone::ARM64_INS_FMINP:
675               tritonId = triton::arch::arm::aarch64::ID_INS_FMINP;
676               break;
677 
678             case triton::extlibs::capstone::ARM64_INS_FMINV:
679               tritonId = triton::arch::arm::aarch64::ID_INS_FMINV;
680               break;
681 
682             case triton::extlibs::capstone::ARM64_INS_FMLA:
683               tritonId = triton::arch::arm::aarch64::ID_INS_FMLA;
684               break;
685 
686             case triton::extlibs::capstone::ARM64_INS_FMLS:
687               tritonId = triton::arch::arm::aarch64::ID_INS_FMLS;
688               break;
689 
690             case triton::extlibs::capstone::ARM64_INS_FMOV:
691               tritonId = triton::arch::arm::aarch64::ID_INS_FMOV;
692               break;
693 
694             case triton::extlibs::capstone::ARM64_INS_FMSUB:
695               tritonId = triton::arch::arm::aarch64::ID_INS_FMSUB;
696               break;
697 
698             case triton::extlibs::capstone::ARM64_INS_FMUL:
699               tritonId = triton::arch::arm::aarch64::ID_INS_FMUL;
700               break;
701 
702             case triton::extlibs::capstone::ARM64_INS_FMULX:
703               tritonId = triton::arch::arm::aarch64::ID_INS_FMULX;
704               break;
705 
706             case triton::extlibs::capstone::ARM64_INS_FNEG:
707               tritonId = triton::arch::arm::aarch64::ID_INS_FNEG;
708               break;
709 
710             case triton::extlibs::capstone::ARM64_INS_FNMADD:
711               tritonId = triton::arch::arm::aarch64::ID_INS_FNMADD;
712               break;
713 
714             case triton::extlibs::capstone::ARM64_INS_FNMSUB:
715               tritonId = triton::arch::arm::aarch64::ID_INS_FNMSUB;
716               break;
717 
718             case triton::extlibs::capstone::ARM64_INS_FNMUL:
719               tritonId = triton::arch::arm::aarch64::ID_INS_FNMUL;
720               break;
721 
722             case triton::extlibs::capstone::ARM64_INS_FRECPE:
723               tritonId = triton::arch::arm::aarch64::ID_INS_FRECPE;
724               break;
725 
726             case triton::extlibs::capstone::ARM64_INS_FRECPS:
727               tritonId = triton::arch::arm::aarch64::ID_INS_FRECPS;
728               break;
729 
730             case triton::extlibs::capstone::ARM64_INS_FRECPX:
731               tritonId = triton::arch::arm::aarch64::ID_INS_FRECPX;
732               break;
733 
734             case triton::extlibs::capstone::ARM64_INS_FRINTA:
735               tritonId = triton::arch::arm::aarch64::ID_INS_FRINTA;
736               break;
737 
738             case triton::extlibs::capstone::ARM64_INS_FRINTI:
739               tritonId = triton::arch::arm::aarch64::ID_INS_FRINTI;
740               break;
741 
742             case triton::extlibs::capstone::ARM64_INS_FRINTM:
743               tritonId = triton::arch::arm::aarch64::ID_INS_FRINTM;
744               break;
745 
746             case triton::extlibs::capstone::ARM64_INS_FRINTN:
747               tritonId = triton::arch::arm::aarch64::ID_INS_FRINTN;
748               break;
749 
750             case triton::extlibs::capstone::ARM64_INS_FRINTP:
751               tritonId = triton::arch::arm::aarch64::ID_INS_FRINTP;
752               break;
753 
754             case triton::extlibs::capstone::ARM64_INS_FRINTX:
755               tritonId = triton::arch::arm::aarch64::ID_INS_FRINTX;
756               break;
757 
758             case triton::extlibs::capstone::ARM64_INS_FRINTZ:
759               tritonId = triton::arch::arm::aarch64::ID_INS_FRINTZ;
760               break;
761 
762             case triton::extlibs::capstone::ARM64_INS_FRSQRTE:
763               tritonId = triton::arch::arm::aarch64::ID_INS_FRSQRTE;
764               break;
765 
766             case triton::extlibs::capstone::ARM64_INS_FRSQRTS:
767               tritonId = triton::arch::arm::aarch64::ID_INS_FRSQRTS;
768               break;
769 
770             case triton::extlibs::capstone::ARM64_INS_FSQRT:
771               tritonId = triton::arch::arm::aarch64::ID_INS_FSQRT;
772               break;
773 
774             case triton::extlibs::capstone::ARM64_INS_FSUB:
775               tritonId = triton::arch::arm::aarch64::ID_INS_FSUB;
776               break;
777 
778             case triton::extlibs::capstone::ARM64_INS_HINT:
779               tritonId = triton::arch::arm::aarch64::ID_INS_HINT;
780               break;
781 
782             case triton::extlibs::capstone::ARM64_INS_HLT:
783               tritonId = triton::arch::arm::aarch64::ID_INS_HLT;
784               break;
785 
786             case triton::extlibs::capstone::ARM64_INS_HVC:
787               tritonId = triton::arch::arm::aarch64::ID_INS_HVC;
788               break;
789 
790             case triton::extlibs::capstone::ARM64_INS_INS:
791               tritonId = triton::arch::arm::aarch64::ID_INS_INS;
792               break;
793 
794             case triton::extlibs::capstone::ARM64_INS_ISB:
795               tritonId = triton::arch::arm::aarch64::ID_INS_ISB;
796               break;
797 
798             case triton::extlibs::capstone::ARM64_INS_LD1:
799               tritonId = triton::arch::arm::aarch64::ID_INS_LD1;
800               break;
801 
802             case triton::extlibs::capstone::ARM64_INS_LD1R:
803               tritonId = triton::arch::arm::aarch64::ID_INS_LD1R;
804               break;
805 
806             case triton::extlibs::capstone::ARM64_INS_LD2R:
807               tritonId = triton::arch::arm::aarch64::ID_INS_LD2R;
808               break;
809 
810             case triton::extlibs::capstone::ARM64_INS_LD2:
811               tritonId = triton::arch::arm::aarch64::ID_INS_LD2;
812               break;
813 
814             case triton::extlibs::capstone::ARM64_INS_LD3R:
815               tritonId = triton::arch::arm::aarch64::ID_INS_LD3R;
816               break;
817 
818             case triton::extlibs::capstone::ARM64_INS_LD3:
819               tritonId = triton::arch::arm::aarch64::ID_INS_LD3;
820               break;
821 
822             case triton::extlibs::capstone::ARM64_INS_LD4:
823               tritonId = triton::arch::arm::aarch64::ID_INS_LD4;
824               break;
825 
826             case triton::extlibs::capstone::ARM64_INS_LD4R:
827               tritonId = triton::arch::arm::aarch64::ID_INS_LD4R;
828               break;
829 
830             case triton::extlibs::capstone::ARM64_INS_LDARB:
831               tritonId = triton::arch::arm::aarch64::ID_INS_LDARB;
832               break;
833 
834             case triton::extlibs::capstone::ARM64_INS_LDARH:
835               tritonId = triton::arch::arm::aarch64::ID_INS_LDARH;
836               break;
837 
838             case triton::extlibs::capstone::ARM64_INS_LDAR:
839               tritonId = triton::arch::arm::aarch64::ID_INS_LDAR;
840               break;
841 
842             case triton::extlibs::capstone::ARM64_INS_LDAXP:
843               tritonId = triton::arch::arm::aarch64::ID_INS_LDAXP;
844               break;
845 
846             case triton::extlibs::capstone::ARM64_INS_LDAXRB:
847               tritonId = triton::arch::arm::aarch64::ID_INS_LDAXRB;
848               break;
849 
850             case triton::extlibs::capstone::ARM64_INS_LDAXRH:
851               tritonId = triton::arch::arm::aarch64::ID_INS_LDAXRH;
852               break;
853 
854             case triton::extlibs::capstone::ARM64_INS_LDAXR:
855               tritonId = triton::arch::arm::aarch64::ID_INS_LDAXR;
856               break;
857 
858             case triton::extlibs::capstone::ARM64_INS_LDNP:
859               tritonId = triton::arch::arm::aarch64::ID_INS_LDNP;
860               break;
861 
862             case triton::extlibs::capstone::ARM64_INS_LDP:
863               tritonId = triton::arch::arm::aarch64::ID_INS_LDP;
864               break;
865 
866             case triton::extlibs::capstone::ARM64_INS_LDPSW:
867               tritonId = triton::arch::arm::aarch64::ID_INS_LDPSW;
868               break;
869 
870             case triton::extlibs::capstone::ARM64_INS_LDRB:
871               tritonId = triton::arch::arm::aarch64::ID_INS_LDRB;
872               break;
873 
874             case triton::extlibs::capstone::ARM64_INS_LDR:
875               tritonId = triton::arch::arm::aarch64::ID_INS_LDR;
876               break;
877 
878             case triton::extlibs::capstone::ARM64_INS_LDRH:
879               tritonId = triton::arch::arm::aarch64::ID_INS_LDRH;
880               break;
881 
882             case triton::extlibs::capstone::ARM64_INS_LDRSB:
883               tritonId = triton::arch::arm::aarch64::ID_INS_LDRSB;
884               break;
885 
886             case triton::extlibs::capstone::ARM64_INS_LDRSH:
887               tritonId = triton::arch::arm::aarch64::ID_INS_LDRSH;
888               break;
889 
890             case triton::extlibs::capstone::ARM64_INS_LDRSW:
891               tritonId = triton::arch::arm::aarch64::ID_INS_LDRSW;
892               break;
893 
894             case triton::extlibs::capstone::ARM64_INS_LDTRB:
895               tritonId = triton::arch::arm::aarch64::ID_INS_LDTRB;
896               break;
897 
898             case triton::extlibs::capstone::ARM64_INS_LDTRH:
899               tritonId = triton::arch::arm::aarch64::ID_INS_LDTRH;
900               break;
901 
902             case triton::extlibs::capstone::ARM64_INS_LDTRSB:
903               tritonId = triton::arch::arm::aarch64::ID_INS_LDTRSB;
904               break;
905 
906             case triton::extlibs::capstone::ARM64_INS_LDTRSH:
907               tritonId = triton::arch::arm::aarch64::ID_INS_LDTRSH;
908               break;
909 
910             case triton::extlibs::capstone::ARM64_INS_LDTRSW:
911               tritonId = triton::arch::arm::aarch64::ID_INS_LDTRSW;
912               break;
913 
914             case triton::extlibs::capstone::ARM64_INS_LDTR:
915               tritonId = triton::arch::arm::aarch64::ID_INS_LDTR;
916               break;
917 
918             case triton::extlibs::capstone::ARM64_INS_LDURB:
919               tritonId = triton::arch::arm::aarch64::ID_INS_LDURB;
920               break;
921 
922             case triton::extlibs::capstone::ARM64_INS_LDUR:
923               tritonId = triton::arch::arm::aarch64::ID_INS_LDUR;
924               break;
925 
926             case triton::extlibs::capstone::ARM64_INS_LDURH:
927               tritonId = triton::arch::arm::aarch64::ID_INS_LDURH;
928               break;
929 
930             case triton::extlibs::capstone::ARM64_INS_LDURSB:
931               tritonId = triton::arch::arm::aarch64::ID_INS_LDURSB;
932               break;
933 
934             case triton::extlibs::capstone::ARM64_INS_LDURSH:
935               tritonId = triton::arch::arm::aarch64::ID_INS_LDURSH;
936               break;
937 
938             case triton::extlibs::capstone::ARM64_INS_LDURSW:
939               tritonId = triton::arch::arm::aarch64::ID_INS_LDURSW;
940               break;
941 
942             case triton::extlibs::capstone::ARM64_INS_LDXP:
943               tritonId = triton::arch::arm::aarch64::ID_INS_LDXP;
944               break;
945 
946             case triton::extlibs::capstone::ARM64_INS_LDXRB:
947               tritonId = triton::arch::arm::aarch64::ID_INS_LDXRB;
948               break;
949 
950             case triton::extlibs::capstone::ARM64_INS_LDXRH:
951               tritonId = triton::arch::arm::aarch64::ID_INS_LDXRH;
952               break;
953 
954             case triton::extlibs::capstone::ARM64_INS_LDXR:
955               tritonId = triton::arch::arm::aarch64::ID_INS_LDXR;
956               break;
957 
958             case triton::extlibs::capstone::ARM64_INS_LSL:
959               tritonId = triton::arch::arm::aarch64::ID_INS_LSL;
960               break;
961 
962             case triton::extlibs::capstone::ARM64_INS_LSR:
963               tritonId = triton::arch::arm::aarch64::ID_INS_LSR;
964               break;
965 
966             case triton::extlibs::capstone::ARM64_INS_MADD:
967               tritonId = triton::arch::arm::aarch64::ID_INS_MADD;
968               break;
969 
970             case triton::extlibs::capstone::ARM64_INS_MLA:
971               tritonId = triton::arch::arm::aarch64::ID_INS_MLA;
972               break;
973 
974             case triton::extlibs::capstone::ARM64_INS_MLS:
975               tritonId = triton::arch::arm::aarch64::ID_INS_MLS;
976               break;
977 
978             case triton::extlibs::capstone::ARM64_INS_MOVI:
979               tritonId = triton::arch::arm::aarch64::ID_INS_MOVI;
980               break;
981 
982             case triton::extlibs::capstone::ARM64_INS_MOVK:
983               tritonId = triton::arch::arm::aarch64::ID_INS_MOVK;
984               break;
985 
986             case triton::extlibs::capstone::ARM64_INS_MOVN:
987               tritonId = triton::arch::arm::aarch64::ID_INS_MOVN;
988               break;
989 
990             case triton::extlibs::capstone::ARM64_INS_MOVZ:
991               tritonId = triton::arch::arm::aarch64::ID_INS_MOVZ;
992               break;
993 
994             case triton::extlibs::capstone::ARM64_INS_MRS:
995               tritonId = triton::arch::arm::aarch64::ID_INS_MRS;
996               break;
997 
998             case triton::extlibs::capstone::ARM64_INS_MSR:
999               tritonId = triton::arch::arm::aarch64::ID_INS_MSR;
1000               break;
1001 
1002             case triton::extlibs::capstone::ARM64_INS_MSUB:
1003               tritonId = triton::arch::arm::aarch64::ID_INS_MSUB;
1004               break;
1005 
1006             case triton::extlibs::capstone::ARM64_INS_MUL:
1007               tritonId = triton::arch::arm::aarch64::ID_INS_MUL;
1008               break;
1009 
1010             case triton::extlibs::capstone::ARM64_INS_MVNI:
1011               tritonId = triton::arch::arm::aarch64::ID_INS_MVNI;
1012               break;
1013 
1014             case triton::extlibs::capstone::ARM64_INS_NEG:
1015               tritonId = triton::arch::arm::aarch64::ID_INS_NEG;
1016               break;
1017 
1018             case triton::extlibs::capstone::ARM64_INS_NOT:
1019               tritonId = triton::arch::arm::aarch64::ID_INS_NOT;
1020               break;
1021 
1022             case triton::extlibs::capstone::ARM64_INS_ORN:
1023               tritonId = triton::arch::arm::aarch64::ID_INS_ORN;
1024               break;
1025 
1026             case triton::extlibs::capstone::ARM64_INS_ORR:
1027               tritonId = triton::arch::arm::aarch64::ID_INS_ORR;
1028               break;
1029 
1030             case triton::extlibs::capstone::ARM64_INS_PMULL2:
1031               tritonId = triton::arch::arm::aarch64::ID_INS_PMULL2;
1032               break;
1033 
1034             case triton::extlibs::capstone::ARM64_INS_PMULL:
1035               tritonId = triton::arch::arm::aarch64::ID_INS_PMULL;
1036               break;
1037 
1038             case triton::extlibs::capstone::ARM64_INS_PMUL:
1039               tritonId = triton::arch::arm::aarch64::ID_INS_PMUL;
1040               break;
1041 
1042             case triton::extlibs::capstone::ARM64_INS_PRFM:
1043               tritonId = triton::arch::arm::aarch64::ID_INS_PRFM;
1044               break;
1045 
1046             case triton::extlibs::capstone::ARM64_INS_PRFUM:
1047               tritonId = triton::arch::arm::aarch64::ID_INS_PRFUM;
1048               break;
1049 
1050             case triton::extlibs::capstone::ARM64_INS_RADDHN:
1051               tritonId = triton::arch::arm::aarch64::ID_INS_RADDHN;
1052               break;
1053 
1054             case triton::extlibs::capstone::ARM64_INS_RADDHN2:
1055               tritonId = triton::arch::arm::aarch64::ID_INS_RADDHN2;
1056               break;
1057 
1058             case triton::extlibs::capstone::ARM64_INS_RBIT:
1059               tritonId = triton::arch::arm::aarch64::ID_INS_RBIT;
1060               break;
1061 
1062             case triton::extlibs::capstone::ARM64_INS_RET:
1063               tritonId = triton::arch::arm::aarch64::ID_INS_RET;
1064               break;
1065 
1066             case triton::extlibs::capstone::ARM64_INS_REV16:
1067               tritonId = triton::arch::arm::aarch64::ID_INS_REV16;
1068               break;
1069 
1070             case triton::extlibs::capstone::ARM64_INS_REV32:
1071               tritonId = triton::arch::arm::aarch64::ID_INS_REV32;
1072               break;
1073 
1074             case triton::extlibs::capstone::ARM64_INS_REV64:
1075               tritonId = triton::arch::arm::aarch64::ID_INS_REV64;
1076               break;
1077 
1078             case triton::extlibs::capstone::ARM64_INS_REV:
1079               tritonId = triton::arch::arm::aarch64::ID_INS_REV;
1080               break;
1081 
1082             case triton::extlibs::capstone::ARM64_INS_ROR:
1083               tritonId = triton::arch::arm::aarch64::ID_INS_ROR;
1084               break;
1085 
1086             case triton::extlibs::capstone::ARM64_INS_RSHRN2:
1087               tritonId = triton::arch::arm::aarch64::ID_INS_RSHRN2;
1088               break;
1089 
1090             case triton::extlibs::capstone::ARM64_INS_RSHRN:
1091               tritonId = triton::arch::arm::aarch64::ID_INS_RSHRN;
1092               break;
1093 
1094             case triton::extlibs::capstone::ARM64_INS_RSUBHN:
1095               tritonId = triton::arch::arm::aarch64::ID_INS_RSUBHN;
1096               break;
1097 
1098             case triton::extlibs::capstone::ARM64_INS_RSUBHN2:
1099               tritonId = triton::arch::arm::aarch64::ID_INS_RSUBHN2;
1100               break;
1101 
1102             case triton::extlibs::capstone::ARM64_INS_SABAL2:
1103               tritonId = triton::arch::arm::aarch64::ID_INS_SABAL2;
1104               break;
1105 
1106             case triton::extlibs::capstone::ARM64_INS_SABAL:
1107               tritonId = triton::arch::arm::aarch64::ID_INS_SABAL;
1108               break;
1109 
1110             case triton::extlibs::capstone::ARM64_INS_SABA:
1111               tritonId = triton::arch::arm::aarch64::ID_INS_SABA;
1112               break;
1113 
1114             case triton::extlibs::capstone::ARM64_INS_SABDL2:
1115               tritonId = triton::arch::arm::aarch64::ID_INS_SABDL2;
1116               break;
1117 
1118             case triton::extlibs::capstone::ARM64_INS_SABDL:
1119               tritonId = triton::arch::arm::aarch64::ID_INS_SABDL;
1120               break;
1121 
1122             case triton::extlibs::capstone::ARM64_INS_SABD:
1123               tritonId = triton::arch::arm::aarch64::ID_INS_SABD;
1124               break;
1125 
1126             case triton::extlibs::capstone::ARM64_INS_SADALP:
1127               tritonId = triton::arch::arm::aarch64::ID_INS_SADALP;
1128               break;
1129 
1130             case triton::extlibs::capstone::ARM64_INS_SADDLP:
1131               tritonId = triton::arch::arm::aarch64::ID_INS_SADDLP;
1132               break;
1133 
1134             case triton::extlibs::capstone::ARM64_INS_SADDLV:
1135               tritonId = triton::arch::arm::aarch64::ID_INS_SADDLV;
1136               break;
1137 
1138             case triton::extlibs::capstone::ARM64_INS_SADDL2:
1139               tritonId = triton::arch::arm::aarch64::ID_INS_SADDL2;
1140               break;
1141 
1142             case triton::extlibs::capstone::ARM64_INS_SADDL:
1143               tritonId = triton::arch::arm::aarch64::ID_INS_SADDL;
1144               break;
1145 
1146             case triton::extlibs::capstone::ARM64_INS_SADDW2:
1147               tritonId = triton::arch::arm::aarch64::ID_INS_SADDW2;
1148               break;
1149 
1150             case triton::extlibs::capstone::ARM64_INS_SADDW:
1151               tritonId = triton::arch::arm::aarch64::ID_INS_SADDW;
1152               break;
1153 
1154             case triton::extlibs::capstone::ARM64_INS_SBC:
1155               tritonId = triton::arch::arm::aarch64::ID_INS_SBC;
1156               break;
1157 
1158             case triton::extlibs::capstone::ARM64_INS_SBFM:
1159               tritonId = triton::arch::arm::aarch64::ID_INS_SBFM;
1160               break;
1161 
1162             case triton::extlibs::capstone::ARM64_INS_SCVTF:
1163               tritonId = triton::arch::arm::aarch64::ID_INS_SCVTF;
1164               break;
1165 
1166             case triton::extlibs::capstone::ARM64_INS_SDIV:
1167               tritonId = triton::arch::arm::aarch64::ID_INS_SDIV;
1168               break;
1169 
1170             case triton::extlibs::capstone::ARM64_INS_SHA1C:
1171               tritonId = triton::arch::arm::aarch64::ID_INS_SHA1C;
1172               break;
1173 
1174             case triton::extlibs::capstone::ARM64_INS_SHA1H:
1175               tritonId = triton::arch::arm::aarch64::ID_INS_SHA1H;
1176               break;
1177 
1178             case triton::extlibs::capstone::ARM64_INS_SHA1M:
1179               tritonId = triton::arch::arm::aarch64::ID_INS_SHA1M;
1180               break;
1181 
1182             case triton::extlibs::capstone::ARM64_INS_SHA1P:
1183               tritonId = triton::arch::arm::aarch64::ID_INS_SHA1P;
1184               break;
1185 
1186             case triton::extlibs::capstone::ARM64_INS_SHA1SU0:
1187               tritonId = triton::arch::arm::aarch64::ID_INS_SHA1SU0;
1188               break;
1189 
1190             case triton::extlibs::capstone::ARM64_INS_SHA1SU1:
1191               tritonId = triton::arch::arm::aarch64::ID_INS_SHA1SU1;
1192               break;
1193 
1194             case triton::extlibs::capstone::ARM64_INS_SHA256H2:
1195               tritonId = triton::arch::arm::aarch64::ID_INS_SHA256H2;
1196               break;
1197 
1198             case triton::extlibs::capstone::ARM64_INS_SHA256H:
1199               tritonId = triton::arch::arm::aarch64::ID_INS_SHA256H;
1200               break;
1201 
1202             case triton::extlibs::capstone::ARM64_INS_SHA256SU0:
1203               tritonId = triton::arch::arm::aarch64::ID_INS_SHA256SU0;
1204               break;
1205 
1206             case triton::extlibs::capstone::ARM64_INS_SHA256SU1:
1207               tritonId = triton::arch::arm::aarch64::ID_INS_SHA256SU1;
1208               break;
1209 
1210             case triton::extlibs::capstone::ARM64_INS_SHADD:
1211               tritonId = triton::arch::arm::aarch64::ID_INS_SHADD;
1212               break;
1213 
1214             case triton::extlibs::capstone::ARM64_INS_SHLL2:
1215               tritonId = triton::arch::arm::aarch64::ID_INS_SHLL2;
1216               break;
1217 
1218             case triton::extlibs::capstone::ARM64_INS_SHLL:
1219               tritonId = triton::arch::arm::aarch64::ID_INS_SHLL;
1220               break;
1221 
1222             case triton::extlibs::capstone::ARM64_INS_SHL:
1223               tritonId = triton::arch::arm::aarch64::ID_INS_SHL;
1224               break;
1225 
1226             case triton::extlibs::capstone::ARM64_INS_SHRN2:
1227               tritonId = triton::arch::arm::aarch64::ID_INS_SHRN2;
1228               break;
1229 
1230             case triton::extlibs::capstone::ARM64_INS_SHRN:
1231               tritonId = triton::arch::arm::aarch64::ID_INS_SHRN;
1232               break;
1233 
1234             case triton::extlibs::capstone::ARM64_INS_SHSUB:
1235               tritonId = triton::arch::arm::aarch64::ID_INS_SHSUB;
1236               break;
1237 
1238             case triton::extlibs::capstone::ARM64_INS_SLI:
1239               tritonId = triton::arch::arm::aarch64::ID_INS_SLI;
1240               break;
1241 
1242             case triton::extlibs::capstone::ARM64_INS_SMADDL:
1243               tritonId = triton::arch::arm::aarch64::ID_INS_SMADDL;
1244               break;
1245 
1246             case triton::extlibs::capstone::ARM64_INS_SMAXP:
1247               tritonId = triton::arch::arm::aarch64::ID_INS_SMAXP;
1248               break;
1249 
1250             case triton::extlibs::capstone::ARM64_INS_SMAXV:
1251               tritonId = triton::arch::arm::aarch64::ID_INS_SMAXV;
1252               break;
1253 
1254             case triton::extlibs::capstone::ARM64_INS_SMAX:
1255               tritonId = triton::arch::arm::aarch64::ID_INS_SMAX;
1256               break;
1257 
1258             case triton::extlibs::capstone::ARM64_INS_SMC:
1259               tritonId = triton::arch::arm::aarch64::ID_INS_SMC;
1260               break;
1261 
1262             case triton::extlibs::capstone::ARM64_INS_SMINP:
1263               tritonId = triton::arch::arm::aarch64::ID_INS_SMINP;
1264               break;
1265 
1266             case triton::extlibs::capstone::ARM64_INS_SMINV:
1267               tritonId = triton::arch::arm::aarch64::ID_INS_SMINV;
1268               break;
1269 
1270             case triton::extlibs::capstone::ARM64_INS_SMIN:
1271               tritonId = triton::arch::arm::aarch64::ID_INS_SMIN;
1272               break;
1273 
1274             case triton::extlibs::capstone::ARM64_INS_SMLAL2:
1275               tritonId = triton::arch::arm::aarch64::ID_INS_SMLAL2;
1276               break;
1277 
1278             case triton::extlibs::capstone::ARM64_INS_SMLAL:
1279               tritonId = triton::arch::arm::aarch64::ID_INS_SMLAL;
1280               break;
1281 
1282             case triton::extlibs::capstone::ARM64_INS_SMLSL2:
1283               tritonId = triton::arch::arm::aarch64::ID_INS_SMLSL2;
1284               break;
1285 
1286             case triton::extlibs::capstone::ARM64_INS_SMLSL:
1287               tritonId = triton::arch::arm::aarch64::ID_INS_SMLSL;
1288               break;
1289 
1290             case triton::extlibs::capstone::ARM64_INS_SMOV:
1291               tritonId = triton::arch::arm::aarch64::ID_INS_SMOV;
1292               break;
1293 
1294             case triton::extlibs::capstone::ARM64_INS_SMSUBL:
1295               tritonId = triton::arch::arm::aarch64::ID_INS_SMSUBL;
1296               break;
1297 
1298             case triton::extlibs::capstone::ARM64_INS_SMULH:
1299               tritonId = triton::arch::arm::aarch64::ID_INS_SMULH;
1300               break;
1301 
1302             case triton::extlibs::capstone::ARM64_INS_SMULL2:
1303               tritonId = triton::arch::arm::aarch64::ID_INS_SMULL2;
1304               break;
1305 
1306             case triton::extlibs::capstone::ARM64_INS_SMULL:
1307               tritonId = triton::arch::arm::aarch64::ID_INS_SMULL;
1308               break;
1309 
1310             case triton::extlibs::capstone::ARM64_INS_SQABS:
1311               tritonId = triton::arch::arm::aarch64::ID_INS_SQABS;
1312               break;
1313 
1314             case triton::extlibs::capstone::ARM64_INS_SQADD:
1315               tritonId = triton::arch::arm::aarch64::ID_INS_SQADD;
1316               break;
1317 
1318             case triton::extlibs::capstone::ARM64_INS_SQDMLAL:
1319               tritonId = triton::arch::arm::aarch64::ID_INS_SQDMLAL;
1320               break;
1321 
1322             case triton::extlibs::capstone::ARM64_INS_SQDMLAL2:
1323               tritonId = triton::arch::arm::aarch64::ID_INS_SQDMLAL2;
1324               break;
1325 
1326             case triton::extlibs::capstone::ARM64_INS_SQDMLSL:
1327               tritonId = triton::arch::arm::aarch64::ID_INS_SQDMLSL;
1328               break;
1329 
1330             case triton::extlibs::capstone::ARM64_INS_SQDMLSL2:
1331               tritonId = triton::arch::arm::aarch64::ID_INS_SQDMLSL2;
1332               break;
1333 
1334             case triton::extlibs::capstone::ARM64_INS_SQDMULH:
1335               tritonId = triton::arch::arm::aarch64::ID_INS_SQDMULH;
1336               break;
1337 
1338             case triton::extlibs::capstone::ARM64_INS_SQDMULL:
1339               tritonId = triton::arch::arm::aarch64::ID_INS_SQDMULL;
1340               break;
1341 
1342             case triton::extlibs::capstone::ARM64_INS_SQDMULL2:
1343               tritonId = triton::arch::arm::aarch64::ID_INS_SQDMULL2;
1344               break;
1345 
1346             case triton::extlibs::capstone::ARM64_INS_SQNEG:
1347               tritonId = triton::arch::arm::aarch64::ID_INS_SQNEG;
1348               break;
1349 
1350             case triton::extlibs::capstone::ARM64_INS_SQRDMULH:
1351               tritonId = triton::arch::arm::aarch64::ID_INS_SQRDMULH;
1352               break;
1353 
1354             case triton::extlibs::capstone::ARM64_INS_SQRSHL:
1355               tritonId = triton::arch::arm::aarch64::ID_INS_SQRSHL;
1356               break;
1357 
1358             case triton::extlibs::capstone::ARM64_INS_SQRSHRN:
1359               tritonId = triton::arch::arm::aarch64::ID_INS_SQRSHRN;
1360               break;
1361 
1362             case triton::extlibs::capstone::ARM64_INS_SQRSHRN2:
1363               tritonId = triton::arch::arm::aarch64::ID_INS_SQRSHRN2;
1364               break;
1365 
1366             case triton::extlibs::capstone::ARM64_INS_SQRSHRUN:
1367               tritonId = triton::arch::arm::aarch64::ID_INS_SQRSHRUN;
1368               break;
1369 
1370             case triton::extlibs::capstone::ARM64_INS_SQRSHRUN2:
1371               tritonId = triton::arch::arm::aarch64::ID_INS_SQRSHRUN2;
1372               break;
1373 
1374             case triton::extlibs::capstone::ARM64_INS_SQSHLU:
1375               tritonId = triton::arch::arm::aarch64::ID_INS_SQSHLU;
1376               break;
1377 
1378             case triton::extlibs::capstone::ARM64_INS_SQSHL:
1379               tritonId = triton::arch::arm::aarch64::ID_INS_SQSHL;
1380               break;
1381 
1382             case triton::extlibs::capstone::ARM64_INS_SQSHRN:
1383               tritonId = triton::arch::arm::aarch64::ID_INS_SQSHRN;
1384               break;
1385 
1386             case triton::extlibs::capstone::ARM64_INS_SQSHRN2:
1387               tritonId = triton::arch::arm::aarch64::ID_INS_SQSHRN2;
1388               break;
1389 
1390             case triton::extlibs::capstone::ARM64_INS_SQSHRUN:
1391               tritonId = triton::arch::arm::aarch64::ID_INS_SQSHRUN;
1392               break;
1393 
1394             case triton::extlibs::capstone::ARM64_INS_SQSHRUN2:
1395               tritonId = triton::arch::arm::aarch64::ID_INS_SQSHRUN2;
1396               break;
1397 
1398             case triton::extlibs::capstone::ARM64_INS_SQSUB:
1399               tritonId = triton::arch::arm::aarch64::ID_INS_SQSUB;
1400               break;
1401 
1402             case triton::extlibs::capstone::ARM64_INS_SQXTN2:
1403               tritonId = triton::arch::arm::aarch64::ID_INS_SQXTN2;
1404               break;
1405 
1406             case triton::extlibs::capstone::ARM64_INS_SQXTN:
1407               tritonId = triton::arch::arm::aarch64::ID_INS_SQXTN;
1408               break;
1409 
1410             case triton::extlibs::capstone::ARM64_INS_SQXTUN2:
1411               tritonId = triton::arch::arm::aarch64::ID_INS_SQXTUN2;
1412               break;
1413 
1414             case triton::extlibs::capstone::ARM64_INS_SQXTUN:
1415               tritonId = triton::arch::arm::aarch64::ID_INS_SQXTUN;
1416               break;
1417 
1418             case triton::extlibs::capstone::ARM64_INS_SRHADD:
1419               tritonId = triton::arch::arm::aarch64::ID_INS_SRHADD;
1420               break;
1421 
1422             case triton::extlibs::capstone::ARM64_INS_SRI:
1423               tritonId = triton::arch::arm::aarch64::ID_INS_SRI;
1424               break;
1425 
1426             case triton::extlibs::capstone::ARM64_INS_SRSHL:
1427               tritonId = triton::arch::arm::aarch64::ID_INS_SRSHL;
1428               break;
1429 
1430             case triton::extlibs::capstone::ARM64_INS_SRSHR:
1431               tritonId = triton::arch::arm::aarch64::ID_INS_SRSHR;
1432               break;
1433 
1434             case triton::extlibs::capstone::ARM64_INS_SRSRA:
1435               tritonId = triton::arch::arm::aarch64::ID_INS_SRSRA;
1436               break;
1437 
1438             case triton::extlibs::capstone::ARM64_INS_SSHLL2:
1439               tritonId = triton::arch::arm::aarch64::ID_INS_SSHLL2;
1440               break;
1441 
1442             case triton::extlibs::capstone::ARM64_INS_SSHLL:
1443               tritonId = triton::arch::arm::aarch64::ID_INS_SSHLL;
1444               break;
1445 
1446             case triton::extlibs::capstone::ARM64_INS_SSHL:
1447               tritonId = triton::arch::arm::aarch64::ID_INS_SSHL;
1448               break;
1449 
1450             case triton::extlibs::capstone::ARM64_INS_SSHR:
1451               tritonId = triton::arch::arm::aarch64::ID_INS_SSHR;
1452               break;
1453 
1454             case triton::extlibs::capstone::ARM64_INS_SSRA:
1455               tritonId = triton::arch::arm::aarch64::ID_INS_SSRA;
1456               break;
1457 
1458             case triton::extlibs::capstone::ARM64_INS_SSUBL2:
1459               tritonId = triton::arch::arm::aarch64::ID_INS_SSUBL2;
1460               break;
1461 
1462             case triton::extlibs::capstone::ARM64_INS_SSUBL:
1463               tritonId = triton::arch::arm::aarch64::ID_INS_SSUBL;
1464               break;
1465 
1466             case triton::extlibs::capstone::ARM64_INS_SSUBW2:
1467               tritonId = triton::arch::arm::aarch64::ID_INS_SSUBW2;
1468               break;
1469 
1470             case triton::extlibs::capstone::ARM64_INS_SSUBW:
1471               tritonId = triton::arch::arm::aarch64::ID_INS_SSUBW;
1472               break;
1473 
1474             case triton::extlibs::capstone::ARM64_INS_ST1:
1475               tritonId = triton::arch::arm::aarch64::ID_INS_ST1;
1476               break;
1477 
1478             case triton::extlibs::capstone::ARM64_INS_ST2:
1479               tritonId = triton::arch::arm::aarch64::ID_INS_ST2;
1480               break;
1481 
1482             case triton::extlibs::capstone::ARM64_INS_ST3:
1483               tritonId = triton::arch::arm::aarch64::ID_INS_ST3;
1484               break;
1485 
1486             case triton::extlibs::capstone::ARM64_INS_ST4:
1487               tritonId = triton::arch::arm::aarch64::ID_INS_ST4;
1488               break;
1489 
1490             case triton::extlibs::capstone::ARM64_INS_STLRB:
1491               tritonId = triton::arch::arm::aarch64::ID_INS_STLRB;
1492               break;
1493 
1494             case triton::extlibs::capstone::ARM64_INS_STLRH:
1495               tritonId = triton::arch::arm::aarch64::ID_INS_STLRH;
1496               break;
1497 
1498             case triton::extlibs::capstone::ARM64_INS_STLR:
1499               tritonId = triton::arch::arm::aarch64::ID_INS_STLR;
1500               break;
1501 
1502             case triton::extlibs::capstone::ARM64_INS_STLXP:
1503               tritonId = triton::arch::arm::aarch64::ID_INS_STLXP;
1504               break;
1505 
1506             case triton::extlibs::capstone::ARM64_INS_STLXRB:
1507               tritonId = triton::arch::arm::aarch64::ID_INS_STLXRB;
1508               break;
1509 
1510             case triton::extlibs::capstone::ARM64_INS_STLXRH:
1511               tritonId = triton::arch::arm::aarch64::ID_INS_STLXRH;
1512               break;
1513 
1514             case triton::extlibs::capstone::ARM64_INS_STLXR:
1515               tritonId = triton::arch::arm::aarch64::ID_INS_STLXR;
1516               break;
1517 
1518             case triton::extlibs::capstone::ARM64_INS_STNP:
1519               tritonId = triton::arch::arm::aarch64::ID_INS_STNP;
1520               break;
1521 
1522             case triton::extlibs::capstone::ARM64_INS_STP:
1523               tritonId = triton::arch::arm::aarch64::ID_INS_STP;
1524               break;
1525 
1526             case triton::extlibs::capstone::ARM64_INS_STRB:
1527               tritonId = triton::arch::arm::aarch64::ID_INS_STRB;
1528               break;
1529 
1530             case triton::extlibs::capstone::ARM64_INS_STR:
1531               tritonId = triton::arch::arm::aarch64::ID_INS_STR;
1532               break;
1533 
1534             case triton::extlibs::capstone::ARM64_INS_STRH:
1535               tritonId = triton::arch::arm::aarch64::ID_INS_STRH;
1536               break;
1537 
1538             case triton::extlibs::capstone::ARM64_INS_STTRB:
1539               tritonId = triton::arch::arm::aarch64::ID_INS_STTRB;
1540               break;
1541 
1542             case triton::extlibs::capstone::ARM64_INS_STTRH:
1543               tritonId = triton::arch::arm::aarch64::ID_INS_STTRH;
1544               break;
1545 
1546             case triton::extlibs::capstone::ARM64_INS_STTR:
1547               tritonId = triton::arch::arm::aarch64::ID_INS_STTR;
1548               break;
1549 
1550             case triton::extlibs::capstone::ARM64_INS_STURB:
1551               tritonId = triton::arch::arm::aarch64::ID_INS_STURB;
1552               break;
1553 
1554             case triton::extlibs::capstone::ARM64_INS_STUR:
1555               tritonId = triton::arch::arm::aarch64::ID_INS_STUR;
1556               break;
1557 
1558             case triton::extlibs::capstone::ARM64_INS_STURH:
1559               tritonId = triton::arch::arm::aarch64::ID_INS_STURH;
1560               break;
1561 
1562             case triton::extlibs::capstone::ARM64_INS_STXP:
1563               tritonId = triton::arch::arm::aarch64::ID_INS_STXP;
1564               break;
1565 
1566             case triton::extlibs::capstone::ARM64_INS_STXRB:
1567               tritonId = triton::arch::arm::aarch64::ID_INS_STXRB;
1568               break;
1569 
1570             case triton::extlibs::capstone::ARM64_INS_STXRH:
1571               tritonId = triton::arch::arm::aarch64::ID_INS_STXRH;
1572               break;
1573 
1574             case triton::extlibs::capstone::ARM64_INS_STXR:
1575               tritonId = triton::arch::arm::aarch64::ID_INS_STXR;
1576               break;
1577 
1578             case triton::extlibs::capstone::ARM64_INS_SUBHN:
1579               tritonId = triton::arch::arm::aarch64::ID_INS_SUBHN;
1580               break;
1581 
1582             case triton::extlibs::capstone::ARM64_INS_SUBHN2:
1583               tritonId = triton::arch::arm::aarch64::ID_INS_SUBHN2;
1584               break;
1585 
1586             case triton::extlibs::capstone::ARM64_INS_SUB:
1587               tritonId = triton::arch::arm::aarch64::ID_INS_SUB;
1588               break;
1589 
1590             case triton::extlibs::capstone::ARM64_INS_SUQADD:
1591               tritonId = triton::arch::arm::aarch64::ID_INS_SUQADD;
1592               break;
1593 
1594             case triton::extlibs::capstone::ARM64_INS_SVC:
1595               tritonId = triton::arch::arm::aarch64::ID_INS_SVC;
1596               break;
1597 
1598             case triton::extlibs::capstone::ARM64_INS_SYSL:
1599               tritonId = triton::arch::arm::aarch64::ID_INS_SYSL;
1600               break;
1601 
1602             case triton::extlibs::capstone::ARM64_INS_SYS:
1603               tritonId = triton::arch::arm::aarch64::ID_INS_SYS;
1604               break;
1605 
1606             case triton::extlibs::capstone::ARM64_INS_TBL:
1607               tritonId = triton::arch::arm::aarch64::ID_INS_TBL;
1608               break;
1609 
1610             case triton::extlibs::capstone::ARM64_INS_TBNZ:
1611               tritonId = triton::arch::arm::aarch64::ID_INS_TBNZ;
1612               break;
1613 
1614             case triton::extlibs::capstone::ARM64_INS_TBX:
1615               tritonId = triton::arch::arm::aarch64::ID_INS_TBX;
1616               break;
1617 
1618             case triton::extlibs::capstone::ARM64_INS_TBZ:
1619               tritonId = triton::arch::arm::aarch64::ID_INS_TBZ;
1620               break;
1621 
1622             case triton::extlibs::capstone::ARM64_INS_TRN1:
1623               tritonId = triton::arch::arm::aarch64::ID_INS_TRN1;
1624               break;
1625 
1626             case triton::extlibs::capstone::ARM64_INS_TRN2:
1627               tritonId = triton::arch::arm::aarch64::ID_INS_TRN2;
1628               break;
1629 
1630             case triton::extlibs::capstone::ARM64_INS_UABAL2:
1631               tritonId = triton::arch::arm::aarch64::ID_INS_UABAL2;
1632               break;
1633 
1634             case triton::extlibs::capstone::ARM64_INS_UABAL:
1635               tritonId = triton::arch::arm::aarch64::ID_INS_UABAL;
1636               break;
1637 
1638             case triton::extlibs::capstone::ARM64_INS_UABA:
1639               tritonId = triton::arch::arm::aarch64::ID_INS_UABA;
1640               break;
1641 
1642             case triton::extlibs::capstone::ARM64_INS_UABDL2:
1643               tritonId = triton::arch::arm::aarch64::ID_INS_UABDL2;
1644               break;
1645 
1646             case triton::extlibs::capstone::ARM64_INS_UABDL:
1647               tritonId = triton::arch::arm::aarch64::ID_INS_UABDL;
1648               break;
1649 
1650             case triton::extlibs::capstone::ARM64_INS_UABD:
1651               tritonId = triton::arch::arm::aarch64::ID_INS_UABD;
1652               break;
1653 
1654             case triton::extlibs::capstone::ARM64_INS_UADALP:
1655               tritonId = triton::arch::arm::aarch64::ID_INS_UADALP;
1656               break;
1657 
1658             case triton::extlibs::capstone::ARM64_INS_UADDLP:
1659               tritonId = triton::arch::arm::aarch64::ID_INS_UADDLP;
1660               break;
1661 
1662             case triton::extlibs::capstone::ARM64_INS_UADDLV:
1663               tritonId = triton::arch::arm::aarch64::ID_INS_UADDLV;
1664               break;
1665 
1666             case triton::extlibs::capstone::ARM64_INS_UADDL2:
1667               tritonId = triton::arch::arm::aarch64::ID_INS_UADDL2;
1668               break;
1669 
1670             case triton::extlibs::capstone::ARM64_INS_UADDL:
1671               tritonId = triton::arch::arm::aarch64::ID_INS_UADDL;
1672               break;
1673 
1674             case triton::extlibs::capstone::ARM64_INS_UADDW2:
1675               tritonId = triton::arch::arm::aarch64::ID_INS_UADDW2;
1676               break;
1677 
1678             case triton::extlibs::capstone::ARM64_INS_UADDW:
1679               tritonId = triton::arch::arm::aarch64::ID_INS_UADDW;
1680               break;
1681 
1682             case triton::extlibs::capstone::ARM64_INS_UBFM:
1683               tritonId = triton::arch::arm::aarch64::ID_INS_UBFM;
1684               break;
1685 
1686             case triton::extlibs::capstone::ARM64_INS_UCVTF:
1687               tritonId = triton::arch::arm::aarch64::ID_INS_UCVTF;
1688               break;
1689 
1690             case triton::extlibs::capstone::ARM64_INS_UDIV:
1691               tritonId = triton::arch::arm::aarch64::ID_INS_UDIV;
1692               break;
1693 
1694             case triton::extlibs::capstone::ARM64_INS_UHADD:
1695               tritonId = triton::arch::arm::aarch64::ID_INS_UHADD;
1696               break;
1697 
1698             case triton::extlibs::capstone::ARM64_INS_UHSUB:
1699               tritonId = triton::arch::arm::aarch64::ID_INS_UHSUB;
1700               break;
1701 
1702             case triton::extlibs::capstone::ARM64_INS_UMADDL:
1703               tritonId = triton::arch::arm::aarch64::ID_INS_UMADDL;
1704               break;
1705 
1706             case triton::extlibs::capstone::ARM64_INS_UMAXP:
1707               tritonId = triton::arch::arm::aarch64::ID_INS_UMAXP;
1708               break;
1709 
1710             case triton::extlibs::capstone::ARM64_INS_UMAXV:
1711               tritonId = triton::arch::arm::aarch64::ID_INS_UMAXV;
1712               break;
1713 
1714             case triton::extlibs::capstone::ARM64_INS_UMAX:
1715               tritonId = triton::arch::arm::aarch64::ID_INS_UMAX;
1716               break;
1717 
1718             case triton::extlibs::capstone::ARM64_INS_UMINP:
1719               tritonId = triton::arch::arm::aarch64::ID_INS_UMINP;
1720               break;
1721 
1722             case triton::extlibs::capstone::ARM64_INS_UMINV:
1723               tritonId = triton::arch::arm::aarch64::ID_INS_UMINV;
1724               break;
1725 
1726             case triton::extlibs::capstone::ARM64_INS_UMIN:
1727               tritonId = triton::arch::arm::aarch64::ID_INS_UMIN;
1728               break;
1729 
1730             case triton::extlibs::capstone::ARM64_INS_UMLAL2:
1731               tritonId = triton::arch::arm::aarch64::ID_INS_UMLAL2;
1732               break;
1733 
1734             case triton::extlibs::capstone::ARM64_INS_UMLAL:
1735               tritonId = triton::arch::arm::aarch64::ID_INS_UMLAL;
1736               break;
1737 
1738             case triton::extlibs::capstone::ARM64_INS_UMLSL2:
1739               tritonId = triton::arch::arm::aarch64::ID_INS_UMLSL2;
1740               break;
1741 
1742             case triton::extlibs::capstone::ARM64_INS_UMLSL:
1743               tritonId = triton::arch::arm::aarch64::ID_INS_UMLSL;
1744               break;
1745 
1746             case triton::extlibs::capstone::ARM64_INS_UMOV:
1747               tritonId = triton::arch::arm::aarch64::ID_INS_UMOV;
1748               break;
1749 
1750             case triton::extlibs::capstone::ARM64_INS_UMSUBL:
1751               tritonId = triton::arch::arm::aarch64::ID_INS_UMSUBL;
1752               break;
1753 
1754             case triton::extlibs::capstone::ARM64_INS_UMULH:
1755               tritonId = triton::arch::arm::aarch64::ID_INS_UMULH;
1756               break;
1757 
1758             case triton::extlibs::capstone::ARM64_INS_UMULL2:
1759               tritonId = triton::arch::arm::aarch64::ID_INS_UMULL2;
1760               break;
1761 
1762             case triton::extlibs::capstone::ARM64_INS_UMULL:
1763               tritonId = triton::arch::arm::aarch64::ID_INS_UMULL;
1764               break;
1765 
1766             case triton::extlibs::capstone::ARM64_INS_UQADD:
1767               tritonId = triton::arch::arm::aarch64::ID_INS_UQADD;
1768               break;
1769 
1770             case triton::extlibs::capstone::ARM64_INS_UQRSHL:
1771               tritonId = triton::arch::arm::aarch64::ID_INS_UQRSHL;
1772               break;
1773 
1774             case triton::extlibs::capstone::ARM64_INS_UQRSHRN:
1775               tritonId = triton::arch::arm::aarch64::ID_INS_UQRSHRN;
1776               break;
1777 
1778             case triton::extlibs::capstone::ARM64_INS_UQRSHRN2:
1779               tritonId = triton::arch::arm::aarch64::ID_INS_UQRSHRN2;
1780               break;
1781 
1782             case triton::extlibs::capstone::ARM64_INS_UQSHL:
1783               tritonId = triton::arch::arm::aarch64::ID_INS_UQSHL;
1784               break;
1785 
1786             case triton::extlibs::capstone::ARM64_INS_UQSHRN:
1787               tritonId = triton::arch::arm::aarch64::ID_INS_UQSHRN;
1788               break;
1789 
1790             case triton::extlibs::capstone::ARM64_INS_UQSHRN2:
1791               tritonId = triton::arch::arm::aarch64::ID_INS_UQSHRN2;
1792               break;
1793 
1794             case triton::extlibs::capstone::ARM64_INS_UQSUB:
1795               tritonId = triton::arch::arm::aarch64::ID_INS_UQSUB;
1796               break;
1797 
1798             case triton::extlibs::capstone::ARM64_INS_UQXTN2:
1799               tritonId = triton::arch::arm::aarch64::ID_INS_UQXTN2;
1800               break;
1801 
1802             case triton::extlibs::capstone::ARM64_INS_UQXTN:
1803               tritonId = triton::arch::arm::aarch64::ID_INS_UQXTN;
1804               break;
1805 
1806             case triton::extlibs::capstone::ARM64_INS_URECPE:
1807               tritonId = triton::arch::arm::aarch64::ID_INS_URECPE;
1808               break;
1809 
1810             case triton::extlibs::capstone::ARM64_INS_URHADD:
1811               tritonId = triton::arch::arm::aarch64::ID_INS_URHADD;
1812               break;
1813 
1814             case triton::extlibs::capstone::ARM64_INS_URSHL:
1815               tritonId = triton::arch::arm::aarch64::ID_INS_URSHL;
1816               break;
1817 
1818             case triton::extlibs::capstone::ARM64_INS_URSHR:
1819               tritonId = triton::arch::arm::aarch64::ID_INS_URSHR;
1820               break;
1821 
1822             case triton::extlibs::capstone::ARM64_INS_URSQRTE:
1823               tritonId = triton::arch::arm::aarch64::ID_INS_URSQRTE;
1824               break;
1825 
1826             case triton::extlibs::capstone::ARM64_INS_URSRA:
1827               tritonId = triton::arch::arm::aarch64::ID_INS_URSRA;
1828               break;
1829 
1830             case triton::extlibs::capstone::ARM64_INS_USHLL2:
1831               tritonId = triton::arch::arm::aarch64::ID_INS_USHLL2;
1832               break;
1833 
1834             case triton::extlibs::capstone::ARM64_INS_USHLL:
1835               tritonId = triton::arch::arm::aarch64::ID_INS_USHLL;
1836               break;
1837 
1838             case triton::extlibs::capstone::ARM64_INS_USHL:
1839               tritonId = triton::arch::arm::aarch64::ID_INS_USHL;
1840               break;
1841 
1842             case triton::extlibs::capstone::ARM64_INS_USHR:
1843               tritonId = triton::arch::arm::aarch64::ID_INS_USHR;
1844               break;
1845 
1846             case triton::extlibs::capstone::ARM64_INS_USQADD:
1847               tritonId = triton::arch::arm::aarch64::ID_INS_USQADD;
1848               break;
1849 
1850             case triton::extlibs::capstone::ARM64_INS_USRA:
1851               tritonId = triton::arch::arm::aarch64::ID_INS_USRA;
1852               break;
1853 
1854             case triton::extlibs::capstone::ARM64_INS_USUBL2:
1855               tritonId = triton::arch::arm::aarch64::ID_INS_USUBL2;
1856               break;
1857 
1858             case triton::extlibs::capstone::ARM64_INS_USUBL:
1859               tritonId = triton::arch::arm::aarch64::ID_INS_USUBL;
1860               break;
1861 
1862             case triton::extlibs::capstone::ARM64_INS_USUBW2:
1863               tritonId = triton::arch::arm::aarch64::ID_INS_USUBW2;
1864               break;
1865 
1866             case triton::extlibs::capstone::ARM64_INS_USUBW:
1867               tritonId = triton::arch::arm::aarch64::ID_INS_USUBW;
1868               break;
1869 
1870             case triton::extlibs::capstone::ARM64_INS_UZP1:
1871               tritonId = triton::arch::arm::aarch64::ID_INS_UZP1;
1872               break;
1873 
1874             case triton::extlibs::capstone::ARM64_INS_UZP2:
1875               tritonId = triton::arch::arm::aarch64::ID_INS_UZP2;
1876               break;
1877 
1878             case triton::extlibs::capstone::ARM64_INS_XTN2:
1879               tritonId = triton::arch::arm::aarch64::ID_INS_XTN2;
1880               break;
1881 
1882             case triton::extlibs::capstone::ARM64_INS_XTN:
1883               tritonId = triton::arch::arm::aarch64::ID_INS_XTN;
1884               break;
1885 
1886             case triton::extlibs::capstone::ARM64_INS_ZIP1:
1887               tritonId = triton::arch::arm::aarch64::ID_INS_ZIP1;
1888               break;
1889 
1890             case triton::extlibs::capstone::ARM64_INS_ZIP2:
1891               tritonId = triton::arch::arm::aarch64::ID_INS_ZIP2;
1892               break;
1893 
1894             /* From here there are alias but considered as instruction */
1895 
1896             case triton::extlibs::capstone::ARM64_INS_MNEG:
1897               tritonId = triton::arch::arm::aarch64::ID_INS_MNEG;
1898               break;
1899 
1900             case triton::extlibs::capstone::ARM64_INS_UMNEGL:
1901               tritonId = triton::arch::arm::aarch64::ID_INS_UMNEGL;
1902               break;
1903 
1904             case triton::extlibs::capstone::ARM64_INS_SMNEGL:
1905               tritonId = triton::arch::arm::aarch64::ID_INS_SMNEGL;
1906               break;
1907 
1908             case triton::extlibs::capstone::ARM64_INS_NOP:
1909               tritonId = triton::arch::arm::aarch64::ID_INS_NOP;
1910               break;
1911 
1912             case triton::extlibs::capstone::ARM64_INS_YIELD:
1913               tritonId = triton::arch::arm::aarch64::ID_INS_YIELD;
1914               break;
1915 
1916             case triton::extlibs::capstone::ARM64_INS_WFE:
1917               tritonId = triton::arch::arm::aarch64::ID_INS_WFE;
1918               break;
1919 
1920             case triton::extlibs::capstone::ARM64_INS_WFI:
1921               tritonId = triton::arch::arm::aarch64::ID_INS_WFI;
1922               break;
1923 
1924             case triton::extlibs::capstone::ARM64_INS_SEV:
1925               tritonId = triton::arch::arm::aarch64::ID_INS_SEV;
1926               break;
1927 
1928             case triton::extlibs::capstone::ARM64_INS_SEVL:
1929               tritonId = triton::arch::arm::aarch64::ID_INS_SEVL;
1930               break;
1931 
1932             case triton::extlibs::capstone::ARM64_INS_NGC:
1933               tritonId = triton::arch::arm::aarch64::ID_INS_NGC;
1934               break;
1935 
1936             case triton::extlibs::capstone::ARM64_INS_SBFIZ:
1937               tritonId = triton::arch::arm::aarch64::ID_INS_SBFIZ;
1938               break;
1939 
1940             case triton::extlibs::capstone::ARM64_INS_UBFIZ:
1941               tritonId = triton::arch::arm::aarch64::ID_INS_UBFIZ;
1942               break;
1943 
1944             case triton::extlibs::capstone::ARM64_INS_SBFX:
1945               tritonId = triton::arch::arm::aarch64::ID_INS_SBFX;
1946               break;
1947 
1948             case triton::extlibs::capstone::ARM64_INS_UBFX:
1949               tritonId = triton::arch::arm::aarch64::ID_INS_UBFX;
1950               break;
1951 
1952             case triton::extlibs::capstone::ARM64_INS_BFI:
1953               tritonId = triton::arch::arm::aarch64::ID_INS_BFI;
1954               break;
1955 
1956             case triton::extlibs::capstone::ARM64_INS_BFXIL:
1957               tritonId = triton::arch::arm::aarch64::ID_INS_BFXIL;
1958               break;
1959 
1960             case triton::extlibs::capstone::ARM64_INS_CMN:
1961               tritonId = triton::arch::arm::aarch64::ID_INS_CMN;
1962               break;
1963 
1964             case triton::extlibs::capstone::ARM64_INS_MVN:
1965               tritonId = triton::arch::arm::aarch64::ID_INS_MVN;
1966               break;
1967 
1968             case triton::extlibs::capstone::ARM64_INS_TST:
1969               tritonId = triton::arch::arm::aarch64::ID_INS_TST;
1970               break;
1971 
1972             case triton::extlibs::capstone::ARM64_INS_CSET:
1973               tritonId = triton::arch::arm::aarch64::ID_INS_CSET;
1974               break;
1975 
1976             case triton::extlibs::capstone::ARM64_INS_CINC:
1977               tritonId = triton::arch::arm::aarch64::ID_INS_CINC;
1978               break;
1979 
1980             case triton::extlibs::capstone::ARM64_INS_CSETM:
1981               tritonId = triton::arch::arm::aarch64::ID_INS_CSETM;
1982               break;
1983 
1984             case triton::extlibs::capstone::ARM64_INS_CINV:
1985               tritonId = triton::arch::arm::aarch64::ID_INS_CINV;
1986               break;
1987 
1988             case triton::extlibs::capstone::ARM64_INS_CNEG:
1989               tritonId = triton::arch::arm::aarch64::ID_INS_CNEG;
1990               break;
1991 
1992             case triton::extlibs::capstone::ARM64_INS_SXTB:
1993               tritonId = triton::arch::arm::aarch64::ID_INS_SXTB;
1994               break;
1995 
1996             case triton::extlibs::capstone::ARM64_INS_SXTH:
1997               tritonId = triton::arch::arm::aarch64::ID_INS_SXTH;
1998               break;
1999 
2000             case triton::extlibs::capstone::ARM64_INS_SXTW:
2001               tritonId = triton::arch::arm::aarch64::ID_INS_SXTW;
2002               break;
2003 
2004             case triton::extlibs::capstone::ARM64_INS_CMP:
2005               tritonId = triton::arch::arm::aarch64::ID_INS_CMP;
2006               break;
2007 
2008             case triton::extlibs::capstone::ARM64_INS_UXTB:
2009               tritonId = triton::arch::arm::aarch64::ID_INS_UXTB;
2010               break;
2011 
2012             case triton::extlibs::capstone::ARM64_INS_UXTH:
2013               tritonId = triton::arch::arm::aarch64::ID_INS_UXTH;
2014               break;
2015 
2016             case triton::extlibs::capstone::ARM64_INS_UXTW:
2017               tritonId = triton::arch::arm::aarch64::ID_INS_UXTW;
2018               break;
2019 
2020             case triton::extlibs::capstone::ARM64_INS_IC:
2021               tritonId = triton::arch::arm::aarch64::ID_INS_IC;
2022               break;
2023 
2024             case triton::extlibs::capstone::ARM64_INS_DC:
2025               tritonId = triton::arch::arm::aarch64::ID_INS_DC;
2026               break;
2027 
2028             case triton::extlibs::capstone::ARM64_INS_AT:
2029               tritonId = triton::arch::arm::aarch64::ID_INS_AT;
2030               break;
2031 
2032             case triton::extlibs::capstone::ARM64_INS_TLBI:
2033               tritonId = triton::arch::arm::aarch64::ID_INS_TLBI;
2034               break;
2035 
2036             default:
2037               tritonId = triton::arch::arm::aarch64::ID_INS_INVALID;
2038               break;
2039           }
2040 
2041           return tritonId;
2042         }
2043 
2044       }; /* aarch64 namespace */
2045     }; /* arm namespace */
2046   }; /* arch namespace */
2047 }; /* triton namespace */
2048