libTriton version 1.0 build 1590
Loading...
Searching...
No Matches
aarch64Specifications.cpp
Go to the documentation of this file.
1
2/*
3** Copyright (C) - Triton
4**
5** This program is under the terms of the Apache License 2.0.
6*/
7
10#include <triton/cpuSize.hpp>
11#include <triton/exceptions.hpp>
13
14
15
16namespace triton {
17 namespace arch {
18 namespace arm {
19 namespace aarch64 {
20
23 throw triton::exceptions::Architecture("AArch64Specifications::AArch64Specifications(): Invalid architecture.");
24
25 // Fill id2reg and name2id with those available in AArch64 from spec
26 #define REG_SPEC(UPPER_NAME, LOWER_NAME, AARCH64_UPPER, AARCH64_LOWER, AARCH64_PARENT, MUTABLE) \
27 id2reg.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 name2id.emplace(#LOWER_NAME, ID_REG_AARCH64_##UPPER_NAME);
36 // Handle register not available in capstone as normal registers
37 #define REG_SPEC_NO_CAPSTONE REG_SPEC
38 #define SYS_REG_SPEC REG_SPEC
39 #include "triton/aarch64.spec"
40 }
41
42
45
46 switch (id) {
47 // Convert registers from capstone value to triton value
48 #define REG_SPEC(UPPER_NAME, _1, _2, _3, _4, _5) \
49 case triton::extlibs::capstone::ARM64_REG_##UPPER_NAME: \
50 tritonId = triton::arch::ID_REG_AARCH64_##UPPER_NAME; \
51 break;
52 #if CS_API_MAJOR >= 5
53 #define SYS_REG_SPEC(UPPER_NAME, _1, _2, _3, _4, _5) \
54 case triton::extlibs::capstone::ARM64_SYSREG_##UPPER_NAME: \
55 tritonId = triton::arch::ID_REG_AARCH64_##UPPER_NAME; \
56 break;
57 #else
58 #define SYS_REG_SPEC(_1, _2, _3, _4, _5, _6)
59 #endif
60 // Ignore registers not available in capstone
61 #define REG_SPEC_NO_CAPSTONE(_1, _2, _3, _4, _5, _6)
62 #include "triton/aarch64.spec"
63
64 default:
66 break;
67 }
68
69 return tritonId;
70 }
71
72
75
76 switch (id) {
77 case triton::extlibs::capstone::ARM64_SFT_INVALID:
79 break;
80
81 case triton::extlibs::capstone::ARM64_SFT_ASR:
83 break;
84
85 case triton::extlibs::capstone::ARM64_SFT_LSL:
87 break;
88
89 case triton::extlibs::capstone::ARM64_SFT_LSR:
91 break;
92
93 case triton::extlibs::capstone::ARM64_SFT_ROR:
95 break;
96
97 default:
99 break;
100 }
101
102 return tritonId;
103 }
104
105
108
109 switch (id) {
110 case triton::extlibs::capstone::ARM64_EXT_INVALID:
112 break;
113
114 case triton::extlibs::capstone::ARM64_EXT_UXTB:
116 break;
117
118 case triton::extlibs::capstone::ARM64_EXT_UXTH:
120 break;
121
122 case triton::extlibs::capstone::ARM64_EXT_UXTW:
124 break;
125
126 case triton::extlibs::capstone::ARM64_EXT_UXTX:
128 break;
129
130 case triton::extlibs::capstone::ARM64_EXT_SXTB:
132 break;
133
134 case triton::extlibs::capstone::ARM64_EXT_SXTH:
136 break;
137
138 case triton::extlibs::capstone::ARM64_EXT_SXTW:
140 break;
141
142 case triton::extlibs::capstone::ARM64_EXT_SXTX:
144 break;
145
146 default:
148 break;
149 }
150
151 return tritonId;
152 }
153
154
157
158 switch (id) {
159 case triton::extlibs::capstone::ARM64_VAS_INVALID:
161 break;
162
163 case triton::extlibs::capstone::ARM64_VAS_16B:
165 break;
166
167 case triton::extlibs::capstone::ARM64_VAS_8B:
169 break;
170
171 case triton::extlibs::capstone::ARM64_VAS_8H:
173 break;
174
175 case triton::extlibs::capstone::ARM64_VAS_4H:
177 break;
178
179 case triton::extlibs::capstone::ARM64_VAS_4S:
181 break;
182
183 case triton::extlibs::capstone::ARM64_VAS_2S:
185 break;
186
187 case triton::extlibs::capstone::ARM64_VAS_2D:
189 break;
190
191 case triton::extlibs::capstone::ARM64_VAS_1D:
193 break;
194
195 default:
197 break;
198 }
199
200 return tritonId;
201 }
202
203
206
207 switch (id) {
208 case triton::extlibs::capstone::ARM64_CC_INVALID:
210 break;
211
212 case triton::extlibs::capstone::ARM64_CC_AL:
214 break;
215
216 case triton::extlibs::capstone::ARM64_CC_EQ:
218 break;
219
220 case triton::extlibs::capstone::ARM64_CC_GE:
222 break;
223
224 case triton::extlibs::capstone::ARM64_CC_GT:
226 break;
227
228 case triton::extlibs::capstone::ARM64_CC_HI:
230 break;
231
232 case triton::extlibs::capstone::ARM64_CC_HS:
234 break;
235
236 case triton::extlibs::capstone::ARM64_CC_LE:
238 break;
239
240 case triton::extlibs::capstone::ARM64_CC_LO:
242 break;
243
244 case triton::extlibs::capstone::ARM64_CC_LS:
246 break;
247
248 case triton::extlibs::capstone::ARM64_CC_LT:
250 break;
251
252 case triton::extlibs::capstone::ARM64_CC_MI:
254 break;
255
256 case triton::extlibs::capstone::ARM64_CC_NE:
258 break;
259
260 case triton::extlibs::capstone::ARM64_CC_PL:
262 break;
263
264 case triton::extlibs::capstone::ARM64_CC_VC:
266 break;
267
268 case triton::extlibs::capstone::ARM64_CC_VS:
270 break;
271
272 default:
274 break;
275 }
276
277 return tritonId;
278 }
279
280
283
284 switch (id) {
285 case triton::extlibs::capstone::ARM64_INS_INVALID:
287 break;
288
289 case triton::extlibs::capstone::ARM64_INS_ABS:
291 break;
292
293 case triton::extlibs::capstone::ARM64_INS_ADC:
295 break;
296
297 #if CS_API_MAJOR >= 5
298 case triton::extlibs::capstone::ARM64_INS_ADCS:
300 break;
301 #endif
302
303 case triton::extlibs::capstone::ARM64_INS_ADDHN:
305 break;
306
307 case triton::extlibs::capstone::ARM64_INS_ADDHN2:
309 break;
310
311 case triton::extlibs::capstone::ARM64_INS_ADDP:
313 break;
314
315 case triton::extlibs::capstone::ARM64_INS_ADD:
317 break;
318
319 #if CS_API_MAJOR >= 5
320 case triton::extlibs::capstone::ARM64_INS_ADDS:
322 break;
323 #endif
324
325 case triton::extlibs::capstone::ARM64_INS_ADDV:
327 break;
328
329 case triton::extlibs::capstone::ARM64_INS_ADR:
331 break;
332
333 case triton::extlibs::capstone::ARM64_INS_ADRP:
335 break;
336
337 case triton::extlibs::capstone::ARM64_INS_AESD:
339 break;
340
341 case triton::extlibs::capstone::ARM64_INS_AESE:
343 break;
344
345 case triton::extlibs::capstone::ARM64_INS_AESIMC:
347 break;
348
349 case triton::extlibs::capstone::ARM64_INS_AESMC:
351 break;
352
353 case triton::extlibs::capstone::ARM64_INS_AND:
355 break;
356
357 #if CS_API_MAJOR >= 5
358 case triton::extlibs::capstone::ARM64_INS_ANDS:
360 break;
361 #endif
362
363 case triton::extlibs::capstone::ARM64_INS_ASR:
365 break;
366
367 case triton::extlibs::capstone::ARM64_INS_B:
369 break;
370
371 case triton::extlibs::capstone::ARM64_INS_BFM:
373 break;
374
375 case triton::extlibs::capstone::ARM64_INS_BIC:
377 break;
378
379 case triton::extlibs::capstone::ARM64_INS_BIF:
381 break;
382
383 case triton::extlibs::capstone::ARM64_INS_BIT:
385 break;
386
387 case triton::extlibs::capstone::ARM64_INS_BL:
389 break;
390
391 case triton::extlibs::capstone::ARM64_INS_BLR:
393 break;
394
395 case triton::extlibs::capstone::ARM64_INS_BR:
397 break;
398
399 case triton::extlibs::capstone::ARM64_INS_BRK:
401 break;
402
403 case triton::extlibs::capstone::ARM64_INS_BSL:
405 break;
406
407 case triton::extlibs::capstone::ARM64_INS_CBNZ:
409 break;
410
411 case triton::extlibs::capstone::ARM64_INS_CBZ:
413 break;
414
415 case triton::extlibs::capstone::ARM64_INS_CCMN:
417 break;
418
419 case triton::extlibs::capstone::ARM64_INS_CCMP:
421 break;
422
423 case triton::extlibs::capstone::ARM64_INS_CLREX:
425 break;
426
427 case triton::extlibs::capstone::ARM64_INS_CLS:
429 break;
430
431 case triton::extlibs::capstone::ARM64_INS_CLZ:
433 break;
434
435 case triton::extlibs::capstone::ARM64_INS_CMEQ:
437 break;
438
439 case triton::extlibs::capstone::ARM64_INS_CMGE:
441 break;
442
443 case triton::extlibs::capstone::ARM64_INS_CMGT:
445 break;
446
447 case triton::extlibs::capstone::ARM64_INS_CMHI:
449 break;
450
451 case triton::extlibs::capstone::ARM64_INS_CMHS:
453 break;
454
455 case triton::extlibs::capstone::ARM64_INS_CMLE:
457 break;
458
459 case triton::extlibs::capstone::ARM64_INS_CMLT:
461 break;
462
463 case triton::extlibs::capstone::ARM64_INS_CMTST:
465 break;
466
467 case triton::extlibs::capstone::ARM64_INS_CNT:
469 break;
470
471 case triton::extlibs::capstone::ARM64_INS_MOV:
473 break;
474
475 case triton::extlibs::capstone::ARM64_INS_CRC32B:
477 break;
478
479 case triton::extlibs::capstone::ARM64_INS_CRC32CB:
481 break;
482
483 case triton::extlibs::capstone::ARM64_INS_CRC32CH:
485 break;
486
487 case triton::extlibs::capstone::ARM64_INS_CRC32CW:
489 break;
490
491 case triton::extlibs::capstone::ARM64_INS_CRC32CX:
493 break;
494
495 case triton::extlibs::capstone::ARM64_INS_CRC32H:
497 break;
498
499 case triton::extlibs::capstone::ARM64_INS_CRC32W:
501 break;
502
503 case triton::extlibs::capstone::ARM64_INS_CRC32X:
505 break;
506
507 case triton::extlibs::capstone::ARM64_INS_CSEL:
509 break;
510
511 case triton::extlibs::capstone::ARM64_INS_CSINC:
513 break;
514
515 case triton::extlibs::capstone::ARM64_INS_CSINV:
517 break;
518
519 case triton::extlibs::capstone::ARM64_INS_CSNEG:
521 break;
522
523 case triton::extlibs::capstone::ARM64_INS_DCPS1:
525 break;
526
527 case triton::extlibs::capstone::ARM64_INS_DCPS2:
529 break;
530
531 case triton::extlibs::capstone::ARM64_INS_DCPS3:
533 break;
534
535 case triton::extlibs::capstone::ARM64_INS_DMB:
537 break;
538
539 case triton::extlibs::capstone::ARM64_INS_DRPS:
541 break;
542
543 case triton::extlibs::capstone::ARM64_INS_DSB:
545 break;
546
547 case triton::extlibs::capstone::ARM64_INS_DUP:
549 break;
550
551 case triton::extlibs::capstone::ARM64_INS_EON:
553 break;
554
555 case triton::extlibs::capstone::ARM64_INS_EOR:
557 break;
558
559 case triton::extlibs::capstone::ARM64_INS_ERET:
561 break;
562
563 case triton::extlibs::capstone::ARM64_INS_EXTR:
565 break;
566
567 case triton::extlibs::capstone::ARM64_INS_EXT:
569 break;
570
571 case triton::extlibs::capstone::ARM64_INS_FABD:
573 break;
574
575 case triton::extlibs::capstone::ARM64_INS_FABS:
577 break;
578
579 case triton::extlibs::capstone::ARM64_INS_FACGE:
581 break;
582
583 case triton::extlibs::capstone::ARM64_INS_FACGT:
585 break;
586
587 case triton::extlibs::capstone::ARM64_INS_FADD:
589 break;
590
591 case triton::extlibs::capstone::ARM64_INS_FADDP:
593 break;
594
595 case triton::extlibs::capstone::ARM64_INS_FCCMP:
597 break;
598
599 case triton::extlibs::capstone::ARM64_INS_FCCMPE:
601 break;
602
603 case triton::extlibs::capstone::ARM64_INS_FCMEQ:
605 break;
606
607 case triton::extlibs::capstone::ARM64_INS_FCMGE:
609 break;
610
611 case triton::extlibs::capstone::ARM64_INS_FCMGT:
613 break;
614
615 case triton::extlibs::capstone::ARM64_INS_FCMLE:
617 break;
618
619 case triton::extlibs::capstone::ARM64_INS_FCMLT:
621 break;
622
623 case triton::extlibs::capstone::ARM64_INS_FCMP:
625 break;
626
627 case triton::extlibs::capstone::ARM64_INS_FCMPE:
629 break;
630
631 case triton::extlibs::capstone::ARM64_INS_FCSEL:
633 break;
634
635 case triton::extlibs::capstone::ARM64_INS_FCVTAS:
637 break;
638
639 case triton::extlibs::capstone::ARM64_INS_FCVTAU:
641 break;
642
643 case triton::extlibs::capstone::ARM64_INS_FCVT:
645 break;
646
647 case triton::extlibs::capstone::ARM64_INS_FCVTL:
649 break;
650
651 case triton::extlibs::capstone::ARM64_INS_FCVTL2:
653 break;
654
655 case triton::extlibs::capstone::ARM64_INS_FCVTMS:
657 break;
658
659 case triton::extlibs::capstone::ARM64_INS_FCVTMU:
661 break;
662
663 case triton::extlibs::capstone::ARM64_INS_FCVTNS:
665 break;
666
667 case triton::extlibs::capstone::ARM64_INS_FCVTNU:
669 break;
670
671 case triton::extlibs::capstone::ARM64_INS_FCVTN:
673 break;
674
675 case triton::extlibs::capstone::ARM64_INS_FCVTN2:
677 break;
678
679 case triton::extlibs::capstone::ARM64_INS_FCVTPS:
681 break;
682
683 case triton::extlibs::capstone::ARM64_INS_FCVTPU:
685 break;
686
687 case triton::extlibs::capstone::ARM64_INS_FCVTXN:
689 break;
690
691 case triton::extlibs::capstone::ARM64_INS_FCVTXN2:
693 break;
694
695 case triton::extlibs::capstone::ARM64_INS_FCVTZS:
697 break;
698
699 case triton::extlibs::capstone::ARM64_INS_FCVTZU:
701 break;
702
703 case triton::extlibs::capstone::ARM64_INS_FDIV:
705 break;
706
707 case triton::extlibs::capstone::ARM64_INS_FMADD:
709 break;
710
711 case triton::extlibs::capstone::ARM64_INS_FMAX:
713 break;
714
715 case triton::extlibs::capstone::ARM64_INS_FMAXNM:
717 break;
718
719 case triton::extlibs::capstone::ARM64_INS_FMAXNMP:
721 break;
722
723 case triton::extlibs::capstone::ARM64_INS_FMAXNMV:
725 break;
726
727 case triton::extlibs::capstone::ARM64_INS_FMAXP:
729 break;
730
731 case triton::extlibs::capstone::ARM64_INS_FMAXV:
733 break;
734
735 case triton::extlibs::capstone::ARM64_INS_FMIN:
737 break;
738
739 case triton::extlibs::capstone::ARM64_INS_FMINNM:
741 break;
742
743 case triton::extlibs::capstone::ARM64_INS_FMINNMP:
745 break;
746
747 case triton::extlibs::capstone::ARM64_INS_FMINNMV:
749 break;
750
751 case triton::extlibs::capstone::ARM64_INS_FMINP:
753 break;
754
755 case triton::extlibs::capstone::ARM64_INS_FMINV:
757 break;
758
759 case triton::extlibs::capstone::ARM64_INS_FMLA:
761 break;
762
763 case triton::extlibs::capstone::ARM64_INS_FMLS:
765 break;
766
767 case triton::extlibs::capstone::ARM64_INS_FMOV:
769 break;
770
771 case triton::extlibs::capstone::ARM64_INS_FMSUB:
773 break;
774
775 case triton::extlibs::capstone::ARM64_INS_FMUL:
777 break;
778
779 case triton::extlibs::capstone::ARM64_INS_FMULX:
781 break;
782
783 case triton::extlibs::capstone::ARM64_INS_FNEG:
785 break;
786
787 case triton::extlibs::capstone::ARM64_INS_FNMADD:
789 break;
790
791 case triton::extlibs::capstone::ARM64_INS_FNMSUB:
793 break;
794
795 case triton::extlibs::capstone::ARM64_INS_FNMUL:
797 break;
798
799 case triton::extlibs::capstone::ARM64_INS_FRECPE:
801 break;
802
803 case triton::extlibs::capstone::ARM64_INS_FRECPS:
805 break;
806
807 case triton::extlibs::capstone::ARM64_INS_FRECPX:
809 break;
810
811 case triton::extlibs::capstone::ARM64_INS_FRINTA:
813 break;
814
815 case triton::extlibs::capstone::ARM64_INS_FRINTI:
817 break;
818
819 case triton::extlibs::capstone::ARM64_INS_FRINTM:
821 break;
822
823 case triton::extlibs::capstone::ARM64_INS_FRINTN:
825 break;
826
827 case triton::extlibs::capstone::ARM64_INS_FRINTP:
829 break;
830
831 case triton::extlibs::capstone::ARM64_INS_FRINTX:
833 break;
834
835 case triton::extlibs::capstone::ARM64_INS_FRINTZ:
837 break;
838
839 case triton::extlibs::capstone::ARM64_INS_FRSQRTE:
841 break;
842
843 case triton::extlibs::capstone::ARM64_INS_FRSQRTS:
845 break;
846
847 case triton::extlibs::capstone::ARM64_INS_FSQRT:
849 break;
850
851 case triton::extlibs::capstone::ARM64_INS_FSUB:
853 break;
854
855 case triton::extlibs::capstone::ARM64_INS_HINT:
857 break;
858
859 case triton::extlibs::capstone::ARM64_INS_HLT:
861 break;
862
863 case triton::extlibs::capstone::ARM64_INS_HVC:
865 break;
866
867 case triton::extlibs::capstone::ARM64_INS_INS:
869 break;
870
871 case triton::extlibs::capstone::ARM64_INS_ISB:
873 break;
874
875 case triton::extlibs::capstone::ARM64_INS_LD1:
877 break;
878
879 case triton::extlibs::capstone::ARM64_INS_LD1R:
881 break;
882
883 case triton::extlibs::capstone::ARM64_INS_LD2R:
885 break;
886
887 case triton::extlibs::capstone::ARM64_INS_LD2:
889 break;
890
891 case triton::extlibs::capstone::ARM64_INS_LD3R:
893 break;
894
895 case triton::extlibs::capstone::ARM64_INS_LD3:
897 break;
898
899 case triton::extlibs::capstone::ARM64_INS_LD4:
901 break;
902
903 case triton::extlibs::capstone::ARM64_INS_LD4R:
905 break;
906
907 case triton::extlibs::capstone::ARM64_INS_LDARB:
909 break;
910
911 case triton::extlibs::capstone::ARM64_INS_LDARH:
913 break;
914
915 case triton::extlibs::capstone::ARM64_INS_LDAR:
917 break;
918
919 case triton::extlibs::capstone::ARM64_INS_LDAXP:
921 break;
922
923 case triton::extlibs::capstone::ARM64_INS_LDAXRB:
925 break;
926
927 case triton::extlibs::capstone::ARM64_INS_LDAXRH:
929 break;
930
931 case triton::extlibs::capstone::ARM64_INS_LDAXR:
933 break;
934
935 case triton::extlibs::capstone::ARM64_INS_LDNP:
937 break;
938
939 case triton::extlibs::capstone::ARM64_INS_LDP:
941 break;
942
943 case triton::extlibs::capstone::ARM64_INS_LDPSW:
945 break;
946
947 case triton::extlibs::capstone::ARM64_INS_LDRB:
949 break;
950
951 case triton::extlibs::capstone::ARM64_INS_LDR:
953 break;
954
955 case triton::extlibs::capstone::ARM64_INS_LDRH:
957 break;
958
959 case triton::extlibs::capstone::ARM64_INS_LDRSB:
961 break;
962
963 case triton::extlibs::capstone::ARM64_INS_LDRSH:
965 break;
966
967 case triton::extlibs::capstone::ARM64_INS_LDRSW:
969 break;
970
971 case triton::extlibs::capstone::ARM64_INS_LDTRB:
973 break;
974
975 case triton::extlibs::capstone::ARM64_INS_LDTRH:
977 break;
978
979 case triton::extlibs::capstone::ARM64_INS_LDTRSB:
981 break;
982
983 case triton::extlibs::capstone::ARM64_INS_LDTRSH:
985 break;
986
987 case triton::extlibs::capstone::ARM64_INS_LDTRSW:
989 break;
990
991 case triton::extlibs::capstone::ARM64_INS_LDTR:
993 break;
994
995 case triton::extlibs::capstone::ARM64_INS_LDURB:
997 break;
998
999 case triton::extlibs::capstone::ARM64_INS_LDUR:
1001 break;
1002
1003 case triton::extlibs::capstone::ARM64_INS_LDURH:
1005 break;
1006
1007 case triton::extlibs::capstone::ARM64_INS_LDURSB:
1009 break;
1010
1011 case triton::extlibs::capstone::ARM64_INS_LDURSH:
1013 break;
1014
1015 case triton::extlibs::capstone::ARM64_INS_LDURSW:
1017 break;
1018
1019 case triton::extlibs::capstone::ARM64_INS_LDXP:
1021 break;
1022
1023 case triton::extlibs::capstone::ARM64_INS_LDXRB:
1025 break;
1026
1027 case triton::extlibs::capstone::ARM64_INS_LDXRH:
1029 break;
1030
1031 case triton::extlibs::capstone::ARM64_INS_LDXR:
1033 break;
1034
1035 case triton::extlibs::capstone::ARM64_INS_LSL:
1037 break;
1038
1039 case triton::extlibs::capstone::ARM64_INS_LSR:
1041 break;
1042
1043 case triton::extlibs::capstone::ARM64_INS_MADD:
1045 break;
1046
1047 case triton::extlibs::capstone::ARM64_INS_MLA:
1049 break;
1050
1051 case triton::extlibs::capstone::ARM64_INS_MLS:
1053 break;
1054
1055 case triton::extlibs::capstone::ARM64_INS_MOVI:
1057 break;
1058
1059 case triton::extlibs::capstone::ARM64_INS_MOVK:
1061 break;
1062
1063 case triton::extlibs::capstone::ARM64_INS_MOVN:
1065 break;
1066
1067 case triton::extlibs::capstone::ARM64_INS_MOVZ:
1069 break;
1070
1071 case triton::extlibs::capstone::ARM64_INS_MRS:
1073 break;
1074
1075 case triton::extlibs::capstone::ARM64_INS_MSR:
1077 break;
1078
1079 case triton::extlibs::capstone::ARM64_INS_MSUB:
1081 break;
1082
1083 case triton::extlibs::capstone::ARM64_INS_MUL:
1085 break;
1086
1087 case triton::extlibs::capstone::ARM64_INS_MVNI:
1089 break;
1090
1091 case triton::extlibs::capstone::ARM64_INS_NEG:
1093 break;
1094
1095 case triton::extlibs::capstone::ARM64_INS_NOT:
1097 break;
1098
1099 case triton::extlibs::capstone::ARM64_INS_ORN:
1101 break;
1102
1103 case triton::extlibs::capstone::ARM64_INS_ORR:
1105 break;
1106
1107 case triton::extlibs::capstone::ARM64_INS_PMULL2:
1109 break;
1110
1111 case triton::extlibs::capstone::ARM64_INS_PMULL:
1113 break;
1114
1115 case triton::extlibs::capstone::ARM64_INS_PMUL:
1117 break;
1118
1119 case triton::extlibs::capstone::ARM64_INS_PRFM:
1121 break;
1122
1123 case triton::extlibs::capstone::ARM64_INS_PRFUM:
1125 break;
1126
1127 case triton::extlibs::capstone::ARM64_INS_RADDHN:
1129 break;
1130
1131 case triton::extlibs::capstone::ARM64_INS_RADDHN2:
1133 break;
1134
1135 case triton::extlibs::capstone::ARM64_INS_RBIT:
1137 break;
1138
1139 case triton::extlibs::capstone::ARM64_INS_RET:
1141 break;
1142
1143 case triton::extlibs::capstone::ARM64_INS_REV16:
1145 break;
1146
1147 case triton::extlibs::capstone::ARM64_INS_REV32:
1149 break;
1150
1151 case triton::extlibs::capstone::ARM64_INS_REV64:
1153 break;
1154
1155 case triton::extlibs::capstone::ARM64_INS_REV:
1157 break;
1158
1159 case triton::extlibs::capstone::ARM64_INS_ROR:
1161 break;
1162
1163 case triton::extlibs::capstone::ARM64_INS_RSHRN2:
1165 break;
1166
1167 case triton::extlibs::capstone::ARM64_INS_RSHRN:
1169 break;
1170
1171 case triton::extlibs::capstone::ARM64_INS_RSUBHN:
1173 break;
1174
1175 case triton::extlibs::capstone::ARM64_INS_RSUBHN2:
1177 break;
1178
1179 case triton::extlibs::capstone::ARM64_INS_SABAL2:
1181 break;
1182
1183 case triton::extlibs::capstone::ARM64_INS_SABAL:
1185 break;
1186
1187 case triton::extlibs::capstone::ARM64_INS_SABA:
1189 break;
1190
1191 case triton::extlibs::capstone::ARM64_INS_SABDL2:
1193 break;
1194
1195 case triton::extlibs::capstone::ARM64_INS_SABDL:
1197 break;
1198
1199 case triton::extlibs::capstone::ARM64_INS_SABD:
1201 break;
1202
1203 case triton::extlibs::capstone::ARM64_INS_SADALP:
1205 break;
1206
1207 case triton::extlibs::capstone::ARM64_INS_SADDLP:
1209 break;
1210
1211 case triton::extlibs::capstone::ARM64_INS_SADDLV:
1213 break;
1214
1215 case triton::extlibs::capstone::ARM64_INS_SADDL2:
1217 break;
1218
1219 case triton::extlibs::capstone::ARM64_INS_SADDL:
1221 break;
1222
1223 case triton::extlibs::capstone::ARM64_INS_SADDW2:
1225 break;
1226
1227 case triton::extlibs::capstone::ARM64_INS_SADDW:
1229 break;
1230
1231 case triton::extlibs::capstone::ARM64_INS_SBC:
1233 break;
1234
1235 #if CS_API_MAJOR >= 5
1236 case triton::extlibs::capstone::ARM64_INS_SBCS:
1238 break;
1239 #endif
1240
1241 case triton::extlibs::capstone::ARM64_INS_SBFM:
1243 break;
1244
1245 case triton::extlibs::capstone::ARM64_INS_SCVTF:
1247 break;
1248
1249 case triton::extlibs::capstone::ARM64_INS_SDIV:
1251 break;
1252
1253 case triton::extlibs::capstone::ARM64_INS_SHA1C:
1255 break;
1256
1257 case triton::extlibs::capstone::ARM64_INS_SHA1H:
1259 break;
1260
1261 case triton::extlibs::capstone::ARM64_INS_SHA1M:
1263 break;
1264
1265 case triton::extlibs::capstone::ARM64_INS_SHA1P:
1267 break;
1268
1269 case triton::extlibs::capstone::ARM64_INS_SHA1SU0:
1271 break;
1272
1273 case triton::extlibs::capstone::ARM64_INS_SHA1SU1:
1275 break;
1276
1277 case triton::extlibs::capstone::ARM64_INS_SHA256H2:
1279 break;
1280
1281 case triton::extlibs::capstone::ARM64_INS_SHA256H:
1283 break;
1284
1285 case triton::extlibs::capstone::ARM64_INS_SHA256SU0:
1287 break;
1288
1289 case triton::extlibs::capstone::ARM64_INS_SHA256SU1:
1291 break;
1292
1293 case triton::extlibs::capstone::ARM64_INS_SHADD:
1295 break;
1296
1297 case triton::extlibs::capstone::ARM64_INS_SHLL2:
1299 break;
1300
1301 case triton::extlibs::capstone::ARM64_INS_SHLL:
1303 break;
1304
1305 case triton::extlibs::capstone::ARM64_INS_SHL:
1307 break;
1308
1309 case triton::extlibs::capstone::ARM64_INS_SHRN2:
1311 break;
1312
1313 case triton::extlibs::capstone::ARM64_INS_SHRN:
1315 break;
1316
1317 case triton::extlibs::capstone::ARM64_INS_SHSUB:
1319 break;
1320
1321 case triton::extlibs::capstone::ARM64_INS_SLI:
1323 break;
1324
1325 case triton::extlibs::capstone::ARM64_INS_SMADDL:
1327 break;
1328
1329 case triton::extlibs::capstone::ARM64_INS_SMAXP:
1331 break;
1332
1333 case triton::extlibs::capstone::ARM64_INS_SMAXV:
1335 break;
1336
1337 case triton::extlibs::capstone::ARM64_INS_SMAX:
1339 break;
1340
1341 case triton::extlibs::capstone::ARM64_INS_SMC:
1343 break;
1344
1345 case triton::extlibs::capstone::ARM64_INS_SMINP:
1347 break;
1348
1349 case triton::extlibs::capstone::ARM64_INS_SMINV:
1351 break;
1352
1353 case triton::extlibs::capstone::ARM64_INS_SMIN:
1355 break;
1356
1357 case triton::extlibs::capstone::ARM64_INS_SMLAL2:
1359 break;
1360
1361 case triton::extlibs::capstone::ARM64_INS_SMLAL:
1363 break;
1364
1365 case triton::extlibs::capstone::ARM64_INS_SMLSL2:
1367 break;
1368
1369 case triton::extlibs::capstone::ARM64_INS_SMLSL:
1371 break;
1372
1373 case triton::extlibs::capstone::ARM64_INS_SMOV:
1375 break;
1376
1377 case triton::extlibs::capstone::ARM64_INS_SMSUBL:
1379 break;
1380
1381 case triton::extlibs::capstone::ARM64_INS_SMULH:
1383 break;
1384
1385 case triton::extlibs::capstone::ARM64_INS_SMULL2:
1387 break;
1388
1389 case triton::extlibs::capstone::ARM64_INS_SMULL:
1391 break;
1392
1393 case triton::extlibs::capstone::ARM64_INS_SQABS:
1395 break;
1396
1397 case triton::extlibs::capstone::ARM64_INS_SQADD:
1399 break;
1400
1401 case triton::extlibs::capstone::ARM64_INS_SQDMLAL:
1403 break;
1404
1405 case triton::extlibs::capstone::ARM64_INS_SQDMLAL2:
1407 break;
1408
1409 case triton::extlibs::capstone::ARM64_INS_SQDMLSL:
1411 break;
1412
1413 case triton::extlibs::capstone::ARM64_INS_SQDMLSL2:
1415 break;
1416
1417 case triton::extlibs::capstone::ARM64_INS_SQDMULH:
1419 break;
1420
1421 case triton::extlibs::capstone::ARM64_INS_SQDMULL:
1423 break;
1424
1425 case triton::extlibs::capstone::ARM64_INS_SQDMULL2:
1427 break;
1428
1429 case triton::extlibs::capstone::ARM64_INS_SQNEG:
1431 break;
1432
1433 case triton::extlibs::capstone::ARM64_INS_SQRDMULH:
1435 break;
1436
1437 case triton::extlibs::capstone::ARM64_INS_SQRSHL:
1439 break;
1440
1441 case triton::extlibs::capstone::ARM64_INS_SQRSHRN:
1443 break;
1444
1445 case triton::extlibs::capstone::ARM64_INS_SQRSHRN2:
1447 break;
1448
1449 case triton::extlibs::capstone::ARM64_INS_SQRSHRUN:
1451 break;
1452
1453 case triton::extlibs::capstone::ARM64_INS_SQRSHRUN2:
1455 break;
1456
1457 case triton::extlibs::capstone::ARM64_INS_SQSHLU:
1459 break;
1460
1461 case triton::extlibs::capstone::ARM64_INS_SQSHL:
1463 break;
1464
1465 case triton::extlibs::capstone::ARM64_INS_SQSHRN:
1467 break;
1468
1469 case triton::extlibs::capstone::ARM64_INS_SQSHRN2:
1471 break;
1472
1473 case triton::extlibs::capstone::ARM64_INS_SQSHRUN:
1475 break;
1476
1477 case triton::extlibs::capstone::ARM64_INS_SQSHRUN2:
1479 break;
1480
1481 case triton::extlibs::capstone::ARM64_INS_SQSUB:
1483 break;
1484
1485 case triton::extlibs::capstone::ARM64_INS_SQXTN2:
1487 break;
1488
1489 case triton::extlibs::capstone::ARM64_INS_SQXTN:
1491 break;
1492
1493 case triton::extlibs::capstone::ARM64_INS_SQXTUN2:
1495 break;
1496
1497 case triton::extlibs::capstone::ARM64_INS_SQXTUN:
1499 break;
1500
1501 case triton::extlibs::capstone::ARM64_INS_SRHADD:
1503 break;
1504
1505 case triton::extlibs::capstone::ARM64_INS_SRI:
1507 break;
1508
1509 case triton::extlibs::capstone::ARM64_INS_SRSHL:
1511 break;
1512
1513 case triton::extlibs::capstone::ARM64_INS_SRSHR:
1515 break;
1516
1517 case triton::extlibs::capstone::ARM64_INS_SRSRA:
1519 break;
1520
1521 case triton::extlibs::capstone::ARM64_INS_SSHLL2:
1523 break;
1524
1525 case triton::extlibs::capstone::ARM64_INS_SSHLL:
1527 break;
1528
1529 case triton::extlibs::capstone::ARM64_INS_SSHL:
1531 break;
1532
1533 case triton::extlibs::capstone::ARM64_INS_SSHR:
1535 break;
1536
1537 case triton::extlibs::capstone::ARM64_INS_SSRA:
1539 break;
1540
1541 case triton::extlibs::capstone::ARM64_INS_SSUBL2:
1543 break;
1544
1545 case triton::extlibs::capstone::ARM64_INS_SSUBL:
1547 break;
1548
1549 case triton::extlibs::capstone::ARM64_INS_SSUBW2:
1551 break;
1552
1553 case triton::extlibs::capstone::ARM64_INS_SSUBW:
1555 break;
1556
1557 case triton::extlibs::capstone::ARM64_INS_ST1:
1559 break;
1560
1561 case triton::extlibs::capstone::ARM64_INS_ST2:
1563 break;
1564
1565 case triton::extlibs::capstone::ARM64_INS_ST3:
1567 break;
1568
1569 case triton::extlibs::capstone::ARM64_INS_ST4:
1571 break;
1572
1573 case triton::extlibs::capstone::ARM64_INS_STLRB:
1575 break;
1576
1577 case triton::extlibs::capstone::ARM64_INS_STLRH:
1579 break;
1580
1581 case triton::extlibs::capstone::ARM64_INS_STLR:
1583 break;
1584
1585 case triton::extlibs::capstone::ARM64_INS_STLXP:
1587 break;
1588
1589 case triton::extlibs::capstone::ARM64_INS_STLXRB:
1591 break;
1592
1593 case triton::extlibs::capstone::ARM64_INS_STLXRH:
1595 break;
1596
1597 case triton::extlibs::capstone::ARM64_INS_STLXR:
1599 break;
1600
1601 case triton::extlibs::capstone::ARM64_INS_STNP:
1603 break;
1604
1605 case triton::extlibs::capstone::ARM64_INS_STP:
1607 break;
1608
1609 case triton::extlibs::capstone::ARM64_INS_STRB:
1611 break;
1612
1613 case triton::extlibs::capstone::ARM64_INS_STR:
1615 break;
1616
1617 case triton::extlibs::capstone::ARM64_INS_STRH:
1619 break;
1620
1621 case triton::extlibs::capstone::ARM64_INS_STTRB:
1623 break;
1624
1625 case triton::extlibs::capstone::ARM64_INS_STTRH:
1627 break;
1628
1629 case triton::extlibs::capstone::ARM64_INS_STTR:
1631 break;
1632
1633 case triton::extlibs::capstone::ARM64_INS_STURB:
1635 break;
1636
1637 case triton::extlibs::capstone::ARM64_INS_STUR:
1639 break;
1640
1641 case triton::extlibs::capstone::ARM64_INS_STURH:
1643 break;
1644
1645 case triton::extlibs::capstone::ARM64_INS_STXP:
1647 break;
1648
1649 case triton::extlibs::capstone::ARM64_INS_STXRB:
1651 break;
1652
1653 case triton::extlibs::capstone::ARM64_INS_STXRH:
1655 break;
1656
1657 case triton::extlibs::capstone::ARM64_INS_STXR:
1659 break;
1660
1661 case triton::extlibs::capstone::ARM64_INS_SUBHN:
1663 break;
1664
1665 case triton::extlibs::capstone::ARM64_INS_SUBHN2:
1667 break;
1668
1669 #if CS_API_MAJOR >= 5
1670 case triton::extlibs::capstone::ARM64_INS_SUBS:
1672 break;
1673 #endif
1674
1675 case triton::extlibs::capstone::ARM64_INS_SUB:
1677 break;
1678
1679 case triton::extlibs::capstone::ARM64_INS_SUQADD:
1681 break;
1682
1683 case triton::extlibs::capstone::ARM64_INS_SVC:
1685 break;
1686
1687 case triton::extlibs::capstone::ARM64_INS_SYSL:
1689 break;
1690
1691 case triton::extlibs::capstone::ARM64_INS_SYS:
1693 break;
1694
1695 case triton::extlibs::capstone::ARM64_INS_TBL:
1697 break;
1698
1699 case triton::extlibs::capstone::ARM64_INS_TBNZ:
1701 break;
1702
1703 case triton::extlibs::capstone::ARM64_INS_TBX:
1705 break;
1706
1707 case triton::extlibs::capstone::ARM64_INS_TBZ:
1709 break;
1710
1711 case triton::extlibs::capstone::ARM64_INS_TRN1:
1713 break;
1714
1715 case triton::extlibs::capstone::ARM64_INS_TRN2:
1717 break;
1718
1719 case triton::extlibs::capstone::ARM64_INS_UABAL2:
1721 break;
1722
1723 case triton::extlibs::capstone::ARM64_INS_UABAL:
1725 break;
1726
1727 case triton::extlibs::capstone::ARM64_INS_UABA:
1729 break;
1730
1731 case triton::extlibs::capstone::ARM64_INS_UABDL2:
1733 break;
1734
1735 case triton::extlibs::capstone::ARM64_INS_UABDL:
1737 break;
1738
1739 case triton::extlibs::capstone::ARM64_INS_UABD:
1741 break;
1742
1743 case triton::extlibs::capstone::ARM64_INS_UADALP:
1745 break;
1746
1747 case triton::extlibs::capstone::ARM64_INS_UADDLP:
1749 break;
1750
1751 case triton::extlibs::capstone::ARM64_INS_UADDLV:
1753 break;
1754
1755 case triton::extlibs::capstone::ARM64_INS_UADDL2:
1757 break;
1758
1759 case triton::extlibs::capstone::ARM64_INS_UADDL:
1761 break;
1762
1763 case triton::extlibs::capstone::ARM64_INS_UADDW2:
1765 break;
1766
1767 case triton::extlibs::capstone::ARM64_INS_UADDW:
1769 break;
1770
1771 case triton::extlibs::capstone::ARM64_INS_UBFM:
1773 break;
1774
1775 case triton::extlibs::capstone::ARM64_INS_UCVTF:
1777 break;
1778
1779 case triton::extlibs::capstone::ARM64_INS_UDIV:
1781 break;
1782
1783 case triton::extlibs::capstone::ARM64_INS_UHADD:
1785 break;
1786
1787 case triton::extlibs::capstone::ARM64_INS_UHSUB:
1789 break;
1790
1791 case triton::extlibs::capstone::ARM64_INS_UMADDL:
1793 break;
1794
1795 case triton::extlibs::capstone::ARM64_INS_UMAXP:
1797 break;
1798
1799 case triton::extlibs::capstone::ARM64_INS_UMAXV:
1801 break;
1802
1803 case triton::extlibs::capstone::ARM64_INS_UMAX:
1805 break;
1806
1807 case triton::extlibs::capstone::ARM64_INS_UMINP:
1809 break;
1810
1811 case triton::extlibs::capstone::ARM64_INS_UMINV:
1813 break;
1814
1815 case triton::extlibs::capstone::ARM64_INS_UMIN:
1817 break;
1818
1819 case triton::extlibs::capstone::ARM64_INS_UMLAL2:
1821 break;
1822
1823 case triton::extlibs::capstone::ARM64_INS_UMLAL:
1825 break;
1826
1827 case triton::extlibs::capstone::ARM64_INS_UMLSL2:
1829 break;
1830
1831 case triton::extlibs::capstone::ARM64_INS_UMLSL:
1833 break;
1834
1835 case triton::extlibs::capstone::ARM64_INS_UMOV:
1837 break;
1838
1839 case triton::extlibs::capstone::ARM64_INS_UMSUBL:
1841 break;
1842
1843 case triton::extlibs::capstone::ARM64_INS_UMULH:
1845 break;
1846
1847 case triton::extlibs::capstone::ARM64_INS_UMULL2:
1849 break;
1850
1851 case triton::extlibs::capstone::ARM64_INS_UMULL:
1853 break;
1854
1855 case triton::extlibs::capstone::ARM64_INS_UQADD:
1857 break;
1858
1859 case triton::extlibs::capstone::ARM64_INS_UQRSHL:
1861 break;
1862
1863 case triton::extlibs::capstone::ARM64_INS_UQRSHRN:
1865 break;
1866
1867 case triton::extlibs::capstone::ARM64_INS_UQRSHRN2:
1869 break;
1870
1871 case triton::extlibs::capstone::ARM64_INS_UQSHL:
1873 break;
1874
1875 case triton::extlibs::capstone::ARM64_INS_UQSHRN:
1877 break;
1878
1879 case triton::extlibs::capstone::ARM64_INS_UQSHRN2:
1881 break;
1882
1883 case triton::extlibs::capstone::ARM64_INS_UQSUB:
1885 break;
1886
1887 case triton::extlibs::capstone::ARM64_INS_UQXTN2:
1889 break;
1890
1891 case triton::extlibs::capstone::ARM64_INS_UQXTN:
1893 break;
1894
1895 case triton::extlibs::capstone::ARM64_INS_URECPE:
1897 break;
1898
1899 case triton::extlibs::capstone::ARM64_INS_URHADD:
1901 break;
1902
1903 case triton::extlibs::capstone::ARM64_INS_URSHL:
1905 break;
1906
1907 case triton::extlibs::capstone::ARM64_INS_URSHR:
1909 break;
1910
1911 case triton::extlibs::capstone::ARM64_INS_URSQRTE:
1913 break;
1914
1915 case triton::extlibs::capstone::ARM64_INS_URSRA:
1917 break;
1918
1919 case triton::extlibs::capstone::ARM64_INS_USHLL2:
1921 break;
1922
1923 case triton::extlibs::capstone::ARM64_INS_USHLL:
1925 break;
1926
1927 case triton::extlibs::capstone::ARM64_INS_USHL:
1929 break;
1930
1931 case triton::extlibs::capstone::ARM64_INS_USHR:
1933 break;
1934
1935 case triton::extlibs::capstone::ARM64_INS_USQADD:
1937 break;
1938
1939 case triton::extlibs::capstone::ARM64_INS_USRA:
1941 break;
1942
1943 case triton::extlibs::capstone::ARM64_INS_USUBL2:
1945 break;
1946
1947 case triton::extlibs::capstone::ARM64_INS_USUBL:
1949 break;
1950
1951 case triton::extlibs::capstone::ARM64_INS_USUBW2:
1953 break;
1954
1955 case triton::extlibs::capstone::ARM64_INS_USUBW:
1957 break;
1958
1959 case triton::extlibs::capstone::ARM64_INS_UZP1:
1961 break;
1962
1963 case triton::extlibs::capstone::ARM64_INS_UZP2:
1965 break;
1966
1967 case triton::extlibs::capstone::ARM64_INS_XTN2:
1969 break;
1970
1971 case triton::extlibs::capstone::ARM64_INS_XTN:
1973 break;
1974
1975 case triton::extlibs::capstone::ARM64_INS_ZIP1:
1977 break;
1978
1979 case triton::extlibs::capstone::ARM64_INS_ZIP2:
1981 break;
1982
1983 /* From here there are alias but considered as instruction */
1984
1985 case triton::extlibs::capstone::ARM64_INS_MNEG:
1987 break;
1988
1989 case triton::extlibs::capstone::ARM64_INS_UMNEGL:
1991 break;
1992
1993 case triton::extlibs::capstone::ARM64_INS_SMNEGL:
1995 break;
1996
1997 case triton::extlibs::capstone::ARM64_INS_NOP:
1999 break;
2000
2001 case triton::extlibs::capstone::ARM64_INS_YIELD:
2003 break;
2004
2005 case triton::extlibs::capstone::ARM64_INS_WFE:
2007 break;
2008
2009 case triton::extlibs::capstone::ARM64_INS_WFI:
2011 break;
2012
2013 case triton::extlibs::capstone::ARM64_INS_SEV:
2015 break;
2016
2017 case triton::extlibs::capstone::ARM64_INS_SEVL:
2019 break;
2020
2021 case triton::extlibs::capstone::ARM64_INS_NGC:
2023 break;
2024
2025 case triton::extlibs::capstone::ARM64_INS_SBFIZ:
2027 break;
2028
2029 case triton::extlibs::capstone::ARM64_INS_UBFIZ:
2031 break;
2032
2033 case triton::extlibs::capstone::ARM64_INS_SBFX:
2035 break;
2036
2037 case triton::extlibs::capstone::ARM64_INS_UBFX:
2039 break;
2040
2041 case triton::extlibs::capstone::ARM64_INS_BFI:
2043 break;
2044
2045 case triton::extlibs::capstone::ARM64_INS_BFXIL:
2047 break;
2048
2049 case triton::extlibs::capstone::ARM64_INS_CMN:
2051 break;
2052
2053 case triton::extlibs::capstone::ARM64_INS_MVN:
2055 break;
2056
2057 case triton::extlibs::capstone::ARM64_INS_TST:
2059 break;
2060
2061 case triton::extlibs::capstone::ARM64_INS_CSET:
2063 break;
2064
2065 case triton::extlibs::capstone::ARM64_INS_CINC:
2067 break;
2068
2069 case triton::extlibs::capstone::ARM64_INS_CSETM:
2071 break;
2072
2073 case triton::extlibs::capstone::ARM64_INS_CINV:
2075 break;
2076
2077 case triton::extlibs::capstone::ARM64_INS_CNEG:
2079 break;
2080
2081 case triton::extlibs::capstone::ARM64_INS_SXTB:
2083 break;
2084
2085 case triton::extlibs::capstone::ARM64_INS_SXTH:
2087 break;
2088
2089 case triton::extlibs::capstone::ARM64_INS_SXTW:
2091 break;
2092
2093 case triton::extlibs::capstone::ARM64_INS_CMP:
2095 break;
2096
2097 case triton::extlibs::capstone::ARM64_INS_UXTB:
2099 break;
2100
2101 case triton::extlibs::capstone::ARM64_INS_UXTH:
2103 break;
2104
2105 case triton::extlibs::capstone::ARM64_INS_UXTW:
2107 break;
2108
2109 case triton::extlibs::capstone::ARM64_INS_IC:
2111 break;
2112
2113 case triton::extlibs::capstone::ARM64_INS_DC:
2115 break;
2116
2117 case triton::extlibs::capstone::ARM64_INS_AT:
2119 break;
2120
2121 case triton::extlibs::capstone::ARM64_INS_TLBI:
2123 break;
2124
2125 default:
2127 break;
2128 }
2129
2130 return tritonId;
2131 }
2132
2133
2135 switch (id) {
2136 case ID_INS_LDARB:
2137 case ID_INS_LDAXRB:
2138 case ID_INS_LDRB:
2139 case ID_INS_LDRSB:
2140 case ID_INS_LDTRB:
2141 case ID_INS_LDTRSB:
2142 case ID_INS_LDURB:
2143 case ID_INS_LDURSB:
2144 case ID_INS_LDXRB:
2145 case ID_INS_STLRB:
2146 case ID_INS_STLXRB:
2147 case ID_INS_STRB:
2148 case ID_INS_STTRB:
2149 case ID_INS_STURB:
2150 case ID_INS_STXRB:
2151 return 1;
2152 case ID_INS_LDARH:
2153 case ID_INS_LDAXRH:
2154 case ID_INS_LDRH:
2155 case ID_INS_LDRSH:
2156 case ID_INS_LDTRH:
2157 case ID_INS_LDTRSH:
2158 case ID_INS_LDURH:
2159 case ID_INS_LDURSH:
2160 case ID_INS_LDXRH:
2161 case ID_INS_STLRH:
2162 case ID_INS_STLXRH:
2163 case ID_INS_STRH:
2164 case ID_INS_STTRH:
2165 case ID_INS_STURH:
2166 case ID_INS_STXRH:
2167 return 2;
2168 case ID_INS_LDRSW:
2169 case ID_INS_LDTRSW:
2170 case ID_INS_LDURSW:
2171 return 4;
2172 default:
2173 return 0;
2174 }
2175 }
2176
2177 }; /* aarch64 namespace */
2178 }; /* arm namespace */
2179 }; /* arch namespace */
2180}; /* triton namespace */
TRITON_EXPORT triton::uint32 getMemoryOperandSpecialSize(triton::uint32 id) const
Returns memory access size if it is specified by instruction.
TRITON_EXPORT triton::arch::arm::vas_e capstoneVASToTritonVAS(triton::uint32 id) const
Converts a capstone's vas id to a triton's vas id.
TRITON_EXPORT triton::arch::arm::condition_e capstoneConditionToTritonCondition(triton::uint32 id) const
Converts a capstone's condition id to a triton's condition id.
TRITON_EXPORT triton::arch::arm::shift_e capstoneShiftToTritonShift(triton::uint32 id) const
Converts a capstone's shift id to a triton's shift id.
TRITON_EXPORT AArch64Specifications(triton::arch::architecture_e)
Constructor.
TRITON_EXPORT triton::arch::register_e capstoneRegisterToTritonRegister(triton::uint32 id) const
Converts a capstone's register id to a triton's register id.
TRITON_EXPORT triton::arch::arm::extend_e capstoneExtendToTritonExtend(triton::uint32 id) const
Converts a capstone's extend id to a triton's extend id.
TRITON_EXPORT triton::uint32 capstoneInstructionToTritonInstruction(triton::uint32 id) const
Converts a capstone's instruction id to a triton's instruction id.
The exception class used by architectures.
register_e
Types of register.
Definition archEnums.hpp:64
@ ID_REG_INVALID
invalid = 0
Definition archEnums.hpp:65
shift_e
Types of shift.
vas_e
Vector arrangement specifier.
extend_e
Types of extend.
condition_e
Types of condition.
@ ID_SHIFT_LSR
Logical Shift Right (immediate)
@ ID_SHIFT_ASR
Arithmetic Shift Right (immediate)
@ ID_SHIFT_ROR
Rotate Right (immediate)
@ ID_SHIFT_INVALID
invalid
@ ID_SHIFT_LSL
Logical Shift Left (immediate)
@ ID_VAS_4S
4 lanes, each containing a 32-bit element.
@ ID_VAS_2D
2 lanes, each containing a 64-bit element.
@ ID_VAS_1D
1 lane containing a 64-bit element.
@ ID_VAS_16B
16 lanes, each containing an 8-bit element.
@ ID_VAS_8B
8 lanes, each containing an 8-bit element.
@ ID_VAS_INVALID
invalid
@ ID_VAS_8H
8 lanes, each containing a 16-bit element.
@ ID_VAS_4H
4 lanes, each containing a 16-bit element.
@ ID_VAS_2S
2 lanes, each containing a 32-bit element.
@ ID_EXTEND_SXTW
Extracts a word (32-bit) value from a register and zero extends it to the size of the register.
@ ID_EXTEND_UXTX
Use the whole 64-bit register.
@ ID_EXTEND_SXTX
Use the whole 64-bit register.
@ ID_EXTEND_SXTH
Extracts a halfword (16-bit) value from a register and zero extends it to the size of the register.
@ ID_EXTEND_UXTB
Extracts a byte (8-bit) value from a register and zero extends it to the size of the register.
@ ID_EXTEND_INVALID
invalid
@ ID_EXTEND_UXTW
Extracts a word (32-bit) value from a register and zero extends it to the size of the register.
@ ID_EXTEND_SXTB
Extracts a byte (8-bit) value from a register and zero extends it to the size of the register.
@ ID_EXTEND_UXTH
Extracts a halfword (16-bit) value from a register and zero extends it to the size of the register.
@ ID_CONDITION_HS
Higher or same (unsigned >=). C set.
@ ID_CONDITION_PL
Positive or zero. N clear.
@ ID_CONDITION_VC
No overflow. V clear.
@ ID_CONDITION_LE
Signed <=. Z set, N and V differ.
@ ID_CONDITION_VS
Overflow. V set.
@ ID_CONDITION_MI
Negative. N set.
@ ID_CONDITION_GE
Signed >=. N and V the same.
@ ID_CONDITION_GT
Signed >. Z clear, N and V the same.
@ ID_CONDITION_HI
Higher (unsigned >). C set and Z clear.
@ ID_CONDITION_NE
Not equal. Z clear.
@ ID_CONDITION_AL
Always. Any flags. This suffix is normally omitted.
@ ID_CONDITION_LO
Lower (unsigned <). C clear.
@ ID_CONDITION_LT
Signed <. N and V differ.
@ ID_CONDITION_LS
Lower or same (unsigned <=). C clear or Z set.
@ ID_CONDITION_INVALID
invalid
@ ID_CONDITION_EQ
Equal. Z set.
std::uint32_t uint32
unisgned 32-bits
The Triton namespace.