/src/capstonenext/arch/Sparc/SparcGenSystemOperands.inc
Line | Count | Source (jump to first uncovered line) |
1 | | /* Capstone Disassembly Engine, https://www.capstone-engine.org */ |
2 | | /* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2022, */ |
3 | | /* Rot127 <unisono@quyllur.org> 2022-2024 */ |
4 | | /* Automatically generated file by Capstone's LLVM TableGen Disassembler Backend. */ |
5 | | |
6 | | /* LLVM-commit: <commit> */ |
7 | | /* LLVM-tag: <tag> */ |
8 | | |
9 | | /* Do not edit. */ |
10 | | |
11 | | /* Capstone's LLVM TableGen Backends: */ |
12 | | /* https://github.com/capstone-engine/llvm-capstone */ |
13 | | |
14 | | #ifdef GET_ASITAG_DECL |
15 | | #endif |
16 | | |
17 | | #ifdef GET_ASITAG_DECL |
18 | | const Sparc_ASITag_ASITag *Sparc_ASITag_lookupASITagByName(const char * Name); |
19 | | const Sparc_ASITag_ASITag *Sparc_ASITag_lookupASITagByAltName(const char * AltName); |
20 | | const Sparc_ASITag_ASITag *Sparc_ASITag_lookupASITagByEncoding(uint8_t Encoding); |
21 | | #endif |
22 | | |
23 | | #ifdef GET_ASITAG_IMPL |
24 | | static const Sparc_ASITag_ASITag ASITagsList[] = { |
25 | | { "ASI_AIUP", { .raw_val = SPARC_ASITAG_ASI_AIUP }, "ASI_AS_IF_USER_PRIMARY", { .raw_val = SPARC_ASITAG_ASI_AS_IF_USER_PRIMARY }, 0x10 }, // 0 |
26 | | { "ASI_AIUP_L", { .raw_val = SPARC_ASITAG_ASI_AIUP_L }, "ASI_AS_IF_USER_PRIMARY_LITTLE", { .raw_val = SPARC_ASITAG_ASI_AS_IF_USER_PRIMARY_LITTLE }, 0x18 }, // 1 |
27 | | { "ASI_AIUS", { .raw_val = SPARC_ASITAG_ASI_AIUS }, "ASI_AS_IF_USER_SECONDARY", { .raw_val = SPARC_ASITAG_ASI_AS_IF_USER_SECONDARY }, 0x11 }, // 2 |
28 | | { "ASI_AIUS_L", { .raw_val = SPARC_ASITAG_ASI_AIUS_L }, "ASI_AS_IF_USER_SECONDARY_LITTLE", { .raw_val = SPARC_ASITAG_ASI_AS_IF_USER_SECONDARY_LITTLE }, 0x19 }, // 3 |
29 | | { "ASI_N", { .raw_val = SPARC_ASITAG_ASI_N }, "ASI_NUCLEUS", { .raw_val = SPARC_ASITAG_ASI_NUCLEUS }, 0x4 }, // 4 |
30 | | { "ASI_N_L", { .raw_val = SPARC_ASITAG_ASI_N_L }, "ASI_NUCLEUS_LITTLE", { .raw_val = SPARC_ASITAG_ASI_NUCLEUS_LITTLE }, 0xC }, // 5 |
31 | | { "ASI_P", { .raw_val = SPARC_ASITAG_ASI_P }, "ASI_PRIMARY", { .raw_val = SPARC_ASITAG_ASI_PRIMARY }, 0x80 }, // 6 |
32 | | { "ASI_PNF", { .raw_val = SPARC_ASITAG_ASI_PNF }, "ASI_PRIMARY_NOFAULT", { .raw_val = SPARC_ASITAG_ASI_PRIMARY_NOFAULT }, 0x82 }, // 7 |
33 | | { "ASI_PNF_L", { .raw_val = SPARC_ASITAG_ASI_PNF_L }, "ASI_PRIMARY_NOFAULT_LITTLE", { .raw_val = SPARC_ASITAG_ASI_PRIMARY_NOFAULT_LITTLE }, 0x8A }, // 8 |
34 | | { "ASI_P_L", { .raw_val = SPARC_ASITAG_ASI_P_L }, "ASI_PRIMARY_LITTLE", { .raw_val = SPARC_ASITAG_ASI_PRIMARY_LITTLE }, 0x88 }, // 9 |
35 | | { "ASI_S", { .raw_val = SPARC_ASITAG_ASI_S }, "ASI_SECONDARY", { .raw_val = SPARC_ASITAG_ASI_SECONDARY }, 0x81 }, // 10 |
36 | | { "ASI_SNF", { .raw_val = SPARC_ASITAG_ASI_SNF }, "ASI_SECONDARY_NOFAULT", { .raw_val = SPARC_ASITAG_ASI_SECONDARY_NOFAULT }, 0x83 }, // 11 |
37 | | { "ASI_SNF_L", { .raw_val = SPARC_ASITAG_ASI_SNF_L }, "ASI_SECONDARY_NOFAULT_LITTLE", { .raw_val = SPARC_ASITAG_ASI_SECONDARY_NOFAULT_LITTLE }, 0x8B }, // 12 |
38 | | { "ASI_S_L", { .raw_val = SPARC_ASITAG_ASI_S_L }, "ASI_SECONDARY_LITTLE", { .raw_val = SPARC_ASITAG_ASI_SECONDARY_LITTLE }, 0x89 }, // 13 |
39 | | }; |
40 | | |
41 | 0 | const Sparc_ASITag_ASITag *Sparc_ASITag_lookupASITagByName(const char * Name) { |
42 | 0 | static const struct IndexTypeStr Index[] = { |
43 | 0 | { "ASI_AIUP", 0 }, |
44 | 0 | { "ASI_AIUP_L", 1 }, |
45 | 0 | { "ASI_AIUS", 2 }, |
46 | 0 | { "ASI_AIUS_L", 3 }, |
47 | 0 | { "ASI_N", 4 }, |
48 | 0 | { "ASI_N_L", 5 }, |
49 | 0 | { "ASI_P", 6 }, |
50 | 0 | { "ASI_PNF", 7 }, |
51 | 0 | { "ASI_PNF_L", 8 }, |
52 | 0 | { "ASI_P_L", 9 }, |
53 | 0 | { "ASI_S", 10 }, |
54 | 0 | { "ASI_SNF", 11 }, |
55 | 0 | { "ASI_SNF_L", 12 }, |
56 | 0 | { "ASI_S_L", 13 }, |
57 | 0 | }; |
58 | |
|
59 | 0 | unsigned i = binsearch_IndexTypeStrEncoding(Index, ARR_SIZE(Index), Name); |
60 | 0 | if (i == -1) |
61 | 0 | return NULL; |
62 | 0 | else |
63 | 0 | return &ASITagsList[Index[i].index]; |
64 | 0 | } |
65 | | |
66 | 0 | const Sparc_ASITag_ASITag *Sparc_ASITag_lookupASITagByAltName(const char * AltName) { |
67 | 0 | static const struct IndexTypeStr Index[] = { |
68 | 0 | { "ASI_AS_IF_USER_PRIMARY", 0 }, |
69 | 0 | { "ASI_AS_IF_USER_PRIMARY_LITTLE", 1 }, |
70 | 0 | { "ASI_AS_IF_USER_SECONDARY", 2 }, |
71 | 0 | { "ASI_AS_IF_USER_SECONDARY_LITTLE", 3 }, |
72 | 0 | { "ASI_NUCLEUS", 4 }, |
73 | 0 | { "ASI_NUCLEUS_LITTLE", 5 }, |
74 | 0 | { "ASI_PRIMARY", 6 }, |
75 | 0 | { "ASI_PRIMARY_LITTLE", 9 }, |
76 | 0 | { "ASI_PRIMARY_NOFAULT", 7 }, |
77 | 0 | { "ASI_PRIMARY_NOFAULT_LITTLE", 8 }, |
78 | 0 | { "ASI_SECONDARY", 10 }, |
79 | 0 | { "ASI_SECONDARY_LITTLE", 13 }, |
80 | 0 | { "ASI_SECONDARY_NOFAULT", 11 }, |
81 | 0 | { "ASI_SECONDARY_NOFAULT_LITTLE", 12 }, |
82 | 0 | }; |
83 | |
|
84 | 0 | unsigned i = binsearch_IndexTypeStrEncoding(Index, ARR_SIZE(Index), AltName); |
85 | 0 | if (i == -1) |
86 | 0 | return NULL; |
87 | 0 | else |
88 | 0 | return &ASITagsList[Index[i].index]; |
89 | 0 | } |
90 | | |
91 | 1.40k | const Sparc_ASITag_ASITag *Sparc_ASITag_lookupASITagByEncoding(uint8_t Encoding) { |
92 | 1.40k | static const struct IndexType Index[] = { |
93 | 1.40k | { 0x4, 4 }, |
94 | 1.40k | { 0xC, 5 }, |
95 | 1.40k | { 0x10, 0 }, |
96 | 1.40k | { 0x11, 2 }, |
97 | 1.40k | { 0x18, 1 }, |
98 | 1.40k | { 0x19, 3 }, |
99 | 1.40k | { 0x80, 6 }, |
100 | 1.40k | { 0x81, 10 }, |
101 | 1.40k | { 0x82, 7 }, |
102 | 1.40k | { 0x83, 11 }, |
103 | 1.40k | { 0x88, 9 }, |
104 | 1.40k | { 0x89, 13 }, |
105 | 1.40k | { 0x8A, 8 }, |
106 | 1.40k | { 0x8B, 12 }, |
107 | 1.40k | }; |
108 | | |
109 | 1.40k | unsigned i = binsearch_IndexTypeEncoding(Index, ARR_SIZE(Index), Encoding); |
110 | 1.40k | if (i == -1) |
111 | 1.36k | return NULL; |
112 | 42 | else |
113 | 42 | return &ASITagsList[Index[i].index]; |
114 | 1.40k | } |
115 | | |
116 | | #endif |
117 | | |
118 | | #undef GET_ASITAG_DECL |
119 | | #undef GET_ASITAG_IMPL |