/src/capstonenext/include/capstone/sparc.h
Line | Count | Source (jump to first uncovered line) |
1 | | #ifndef CAPSTONE_SPARC_H |
2 | | #define CAPSTONE_SPARC_H |
3 | | |
4 | | /* Capstone Disassembly Engine */ |
5 | | /* By Nguyen Anh Quynh <aquynh@gmail.com>, 2014-2015 */ |
6 | | |
7 | | #ifdef __cplusplus |
8 | | extern "C" { |
9 | | #endif |
10 | | |
11 | | #include "platform.h" |
12 | | #include "cs_operand.h" |
13 | | |
14 | | // GCC SPARC toolchain has a default macro called "sparc" which breaks |
15 | | // compilation |
16 | | #undef sparc |
17 | | |
18 | | #ifdef _MSC_VER |
19 | | #pragma warning(disable:4201) |
20 | | #endif |
21 | | |
22 | | /// Enums corresponding to Sparc condition codes, both icc's and fcc's. |
23 | | typedef enum sparc_cc { |
24 | | // Integer condition codes |
25 | | SPARC_CC_ICC_A = 8, // Always |
26 | | SPARC_CC_ICC_N = 0, // Never |
27 | | SPARC_CC_ICC_NE = 9, // Not Equal |
28 | | SPARC_CC_ICC_E = 1, // Equal |
29 | | SPARC_CC_ICC_G = 10, // Greater |
30 | | SPARC_CC_ICC_LE = 2, // Less or Equal |
31 | | SPARC_CC_ICC_GE = 11, // Greater or Equal |
32 | | SPARC_CC_ICC_L = 3, // Less |
33 | | SPARC_CC_ICC_GU = 12, // Greater Unsigned |
34 | | SPARC_CC_ICC_LEU = 4, // Less or Equal Unsigned |
35 | | SPARC_CC_ICC_CC = 13, // Carry Clear/Great or Equal Unsigned |
36 | | SPARC_CC_ICC_CS = 5, // Carry Set/Less Unsigned |
37 | | SPARC_CC_ICC_POS = 14, // Positive |
38 | | SPARC_CC_ICC_NEG = 6, // Negative |
39 | | SPARC_CC_ICC_VC = 15, // Overflow Clear |
40 | | SPARC_CC_ICC_VS = 7, // Overflow Set |
41 | | |
42 | | SPARC_CC_FCC_BEGIN = 16, |
43 | | SPARC_CC_FCC_A = 8 + SPARC_CC_FCC_BEGIN, // Always |
44 | | SPARC_CC_FCC_N = 0 + SPARC_CC_FCC_BEGIN, // Never |
45 | | SPARC_CC_FCC_U = 7 + SPARC_CC_FCC_BEGIN, // Unordered |
46 | | SPARC_CC_FCC_G = 6 + SPARC_CC_FCC_BEGIN, // Greater |
47 | | SPARC_CC_FCC_UG = 5 + SPARC_CC_FCC_BEGIN, // Unordered or Greater |
48 | | SPARC_CC_FCC_L = 4 + SPARC_CC_FCC_BEGIN, // Less |
49 | | SPARC_CC_FCC_UL = 3 + SPARC_CC_FCC_BEGIN, // Unordered or Less |
50 | | SPARC_CC_FCC_LG = 2 + SPARC_CC_FCC_BEGIN, // Less or Greater |
51 | | SPARC_CC_FCC_NE = 1 + SPARC_CC_FCC_BEGIN, // Not Equal |
52 | | SPARC_CC_FCC_E = 9 + SPARC_CC_FCC_BEGIN, // Equal |
53 | | SPARC_CC_FCC_UE = 10 + SPARC_CC_FCC_BEGIN, // Unordered or Equal |
54 | | SPARC_CC_FCC_GE = 11 + SPARC_CC_FCC_BEGIN, // Greater or Equal |
55 | | SPARC_CC_FCC_UGE = 12 + SPARC_CC_FCC_BEGIN, // Unordered or Greater or Equal |
56 | | SPARC_CC_FCC_LE = 13 + SPARC_CC_FCC_BEGIN, // Less or Equal |
57 | | SPARC_CC_FCC_ULE = 14 + SPARC_CC_FCC_BEGIN, // Unordered or Less or Equal |
58 | | SPARC_CC_FCC_O = 15 + SPARC_CC_FCC_BEGIN, // Ordered |
59 | | |
60 | | SPARC_CC_CPCC_BEGIN = 32, ///< Co-processor conditional branches |
61 | | SPARC_CC_CPCC_A = 8 + SPARC_CC_CPCC_BEGIN, // Always |
62 | | SPARC_CC_CPCC_N = 0 + SPARC_CC_CPCC_BEGIN, // Never |
63 | | SPARC_CC_CPCC_3 = 7 + SPARC_CC_CPCC_BEGIN, |
64 | | SPARC_CC_CPCC_2 = 6 + SPARC_CC_CPCC_BEGIN, |
65 | | SPARC_CC_CPCC_23 = 5 + SPARC_CC_CPCC_BEGIN, |
66 | | SPARC_CC_CPCC_1 = 4 + SPARC_CC_CPCC_BEGIN, |
67 | | SPARC_CC_CPCC_13 = 3 + SPARC_CC_CPCC_BEGIN, |
68 | | SPARC_CC_CPCC_12 = 2 + SPARC_CC_CPCC_BEGIN, |
69 | | SPARC_CC_CPCC_123 = 1 + SPARC_CC_CPCC_BEGIN, |
70 | | SPARC_CC_CPCC_0 = 9 + SPARC_CC_CPCC_BEGIN, |
71 | | SPARC_CC_CPCC_03 = 10 + SPARC_CC_CPCC_BEGIN, |
72 | | SPARC_CC_CPCC_02 = 11 + SPARC_CC_CPCC_BEGIN, |
73 | | SPARC_CC_CPCC_023 = 12 + SPARC_CC_CPCC_BEGIN, |
74 | | SPARC_CC_CPCC_01 = 13 + SPARC_CC_CPCC_BEGIN, |
75 | | SPARC_CC_CPCC_013 = 14 + SPARC_CC_CPCC_BEGIN, |
76 | | SPARC_CC_CPCC_012 = 15 + SPARC_CC_CPCC_BEGIN, |
77 | | |
78 | | SPARC_CC_REG_BEGIN = 48, |
79 | | SPARC_CC_REG_Z = 1 + SPARC_CC_REG_BEGIN, // Is zero |
80 | | SPARC_CC_REG_LEZ = 2 + SPARC_CC_REG_BEGIN, // Less or equal to zero |
81 | | SPARC_CC_REG_LZ = 3 + SPARC_CC_REG_BEGIN, // Less than zero |
82 | | SPARC_CC_REG_NZ = 5 + SPARC_CC_REG_BEGIN, // Is not zero |
83 | | SPARC_CC_REG_GZ = 6 + SPARC_CC_REG_BEGIN, // Greater than zero |
84 | | SPARC_CC_REG_GEZ = 7 + SPARC_CC_REG_BEGIN, // Greater than or equal to zero |
85 | | |
86 | | SPARC_CC_UNDEF = 0xffff, |
87 | | } sparc_cc; |
88 | | |
89 | 13.6k | inline static const char *SPARCCondCodeToString(sparc_cc CC) { |
90 | 13.6k | switch (CC) { |
91 | 41 | case SPARC_CC_ICC_A: return "a"; |
92 | 545 | case SPARC_CC_ICC_N: return "n"; |
93 | 246 | case SPARC_CC_ICC_NE: return "ne"; |
94 | 74 | case SPARC_CC_ICC_E: return "e"; |
95 | 315 | case SPARC_CC_ICC_G: return "g"; |
96 | 726 | case SPARC_CC_ICC_LE: return "le"; |
97 | 36 | case SPARC_CC_ICC_GE: return "ge"; |
98 | 82 | case SPARC_CC_ICC_L: return "l"; |
99 | 72 | case SPARC_CC_ICC_GU: return "gu"; |
100 | 205 | case SPARC_CC_ICC_LEU: return "leu"; |
101 | 37 | case SPARC_CC_ICC_CC: return "cc"; |
102 | 754 | case SPARC_CC_ICC_CS: return "cs"; |
103 | 213 | case SPARC_CC_ICC_POS: return "pos"; |
104 | 219 | case SPARC_CC_ICC_NEG: return "neg"; |
105 | 35 | case SPARC_CC_ICC_VC: return "vc"; |
106 | 449 | case SPARC_CC_ICC_VS: return "vs"; |
107 | 160 | case SPARC_CC_FCC_A: return "a"; |
108 | 790 | case SPARC_CC_FCC_N: return "n"; |
109 | 333 | case SPARC_CC_FCC_U: return "u"; |
110 | 87 | case SPARC_CC_FCC_G: return "g"; |
111 | 98 | case SPARC_CC_FCC_UG: return "ug"; |
112 | 321 | case SPARC_CC_FCC_L: return "l"; |
113 | 221 | case SPARC_CC_FCC_UL: return "ul"; |
114 | 214 | case SPARC_CC_FCC_LG: return "lg"; |
115 | 544 | case SPARC_CC_FCC_NE: return "ne"; |
116 | 118 | case SPARC_CC_FCC_E: return "e"; |
117 | 213 | case SPARC_CC_FCC_UE: return "ue"; |
118 | 109 | case SPARC_CC_FCC_GE: return "ge"; |
119 | 223 | case SPARC_CC_FCC_UGE: return "uge"; |
120 | 308 | case SPARC_CC_FCC_LE: return "le"; |
121 | 225 | case SPARC_CC_FCC_ULE: return "ule"; |
122 | 323 | case SPARC_CC_FCC_O: return "o"; |
123 | 219 | case SPARC_CC_CPCC_A: return "a"; |
124 | 718 | case SPARC_CC_CPCC_N: return "n"; |
125 | 234 | case SPARC_CC_CPCC_3: return "3"; |
126 | 230 | case SPARC_CC_CPCC_2: return "2"; |
127 | 251 | case SPARC_CC_CPCC_23: return "23"; |
128 | 201 | case SPARC_CC_CPCC_1: return "1"; |
129 | 249 | case SPARC_CC_CPCC_13: return "13"; |
130 | 119 | case SPARC_CC_CPCC_12: return "12"; |
131 | 507 | case SPARC_CC_CPCC_123: return "123"; |
132 | 265 | case SPARC_CC_CPCC_0: return "0"; |
133 | 275 | case SPARC_CC_CPCC_03: return "03"; |
134 | 73 | case SPARC_CC_CPCC_02: return "02"; |
135 | 77 | case SPARC_CC_CPCC_023: return "023"; |
136 | 80 | case SPARC_CC_CPCC_01: return "01"; |
137 | 92 | case SPARC_CC_CPCC_013: return "013"; |
138 | 214 | case SPARC_CC_CPCC_012: return "012"; |
139 | 559 | case SPARC_CC_REG_BEGIN: |
140 | 559 | case SPARC_CC_UNDEF: |
141 | 559 | return "invalid"; |
142 | 87 | case SPARC_CC_REG_Z: |
143 | 87 | return "z"; |
144 | 81 | case SPARC_CC_REG_LEZ: |
145 | 81 | return "lez"; |
146 | 147 | case SPARC_CC_REG_LZ: |
147 | 147 | return "lz"; |
148 | 92 | case SPARC_CC_REG_NZ: |
149 | 92 | return "nz"; |
150 | 81 | case SPARC_CC_REG_GZ: |
151 | 81 | return "gz"; |
152 | 69 | case SPARC_CC_REG_GEZ: |
153 | 69 | return "gez"; |
154 | 13.6k | } |
155 | 371 | return "invalid"; |
156 | 13.6k | } Unexecuted instantiation: fuzz_disasm.c:SPARCCondCodeToString Unexecuted instantiation: platform.c:SPARCCondCodeToString Unexecuted instantiation: cs.c:SPARCCondCodeToString Unexecuted instantiation: MCInst.c:SPARCCondCodeToString Unexecuted instantiation: SStream.c:SPARCCondCodeToString Unexecuted instantiation: utils.c:SPARCCondCodeToString Unexecuted instantiation: ARMModule.c:SPARCCondCodeToString Unexecuted instantiation: AArch64Module.c:SPARCCondCodeToString Unexecuted instantiation: MipsModule.c:SPARCCondCodeToString Unexecuted instantiation: PPCModule.c:SPARCCondCodeToString Unexecuted instantiation: X86Module.c:SPARCCondCodeToString Unexecuted instantiation: X86ATTInstPrinter.c:SPARCCondCodeToString Unexecuted instantiation: SparcModule.c:SPARCCondCodeToString Unexecuted instantiation: SystemZModule.c:SPARCCondCodeToString Unexecuted instantiation: XCoreModule.c:SPARCCondCodeToString Unexecuted instantiation: M68KModule.c:SPARCCondCodeToString Unexecuted instantiation: TMS320C64xModule.c:SPARCCondCodeToString Unexecuted instantiation: M680XModule.c:SPARCCondCodeToString Unexecuted instantiation: EVMModule.c:SPARCCondCodeToString Unexecuted instantiation: WASMModule.c:SPARCCondCodeToString Unexecuted instantiation: MOS65XXModule.c:SPARCCondCodeToString Unexecuted instantiation: MOS65XXDisassembler.c:SPARCCondCodeToString Unexecuted instantiation: BPFModule.c:SPARCCondCodeToString Unexecuted instantiation: RISCVModule.c:SPARCCondCodeToString Unexecuted instantiation: SHModule.c:SPARCCondCodeToString Unexecuted instantiation: TriCoreModule.c:SPARCCondCodeToString Unexecuted instantiation: AlphaModule.c:SPARCCondCodeToString Unexecuted instantiation: HPPAModule.c:SPARCCondCodeToString Unexecuted instantiation: LoongArchModule.c:SPARCCondCodeToString Unexecuted instantiation: XtensaModule.c:SPARCCondCodeToString Unexecuted instantiation: ARCModule.c:SPARCCondCodeToString Unexecuted instantiation: ARMMapping.c:SPARCCondCodeToString Unexecuted instantiation: AArch64Mapping.c:SPARCCondCodeToString Unexecuted instantiation: MipsMapping.c:SPARCCondCodeToString Unexecuted instantiation: PPCMapping.c:SPARCCondCodeToString Unexecuted instantiation: X86Disassembler.c:SPARCCondCodeToString Unexecuted instantiation: X86DisassemblerDecoder.c:SPARCCondCodeToString Unexecuted instantiation: X86IntelInstPrinter.c:SPARCCondCodeToString Unexecuted instantiation: X86InstPrinterCommon.c:SPARCCondCodeToString Unexecuted instantiation: X86Mapping.c:SPARCCondCodeToString Unexecuted instantiation: SparcMapping.c:SPARCCondCodeToString Unexecuted instantiation: SystemZMapping.c:SPARCCondCodeToString Unexecuted instantiation: XCoreDisassembler.c:SPARCCondCodeToString Unexecuted instantiation: XCoreInstPrinter.c:SPARCCondCodeToString Unexecuted instantiation: XCoreMapping.c:SPARCCondCodeToString Unexecuted instantiation: M68KDisassembler.c:SPARCCondCodeToString Unexecuted instantiation: M68KInstPrinter.c:SPARCCondCodeToString Unexecuted instantiation: TMS320C64xDisassembler.c:SPARCCondCodeToString Unexecuted instantiation: TMS320C64xInstPrinter.c:SPARCCondCodeToString Unexecuted instantiation: TMS320C64xMapping.c:SPARCCondCodeToString Unexecuted instantiation: M680XDisassembler.c:SPARCCondCodeToString Unexecuted instantiation: M680XInstPrinter.c:SPARCCondCodeToString Unexecuted instantiation: EVMDisassembler.c:SPARCCondCodeToString Unexecuted instantiation: EVMInstPrinter.c:SPARCCondCodeToString Unexecuted instantiation: EVMMapping.c:SPARCCondCodeToString Unexecuted instantiation: WASMDisassembler.c:SPARCCondCodeToString Unexecuted instantiation: WASMInstPrinter.c:SPARCCondCodeToString Unexecuted instantiation: WASMMapping.c:SPARCCondCodeToString Unexecuted instantiation: BPFDisassembler.c:SPARCCondCodeToString Unexecuted instantiation: BPFInstPrinter.c:SPARCCondCodeToString Unexecuted instantiation: BPFMapping.c:SPARCCondCodeToString Unexecuted instantiation: RISCVDisassembler.c:SPARCCondCodeToString Unexecuted instantiation: RISCVInstPrinter.c:SPARCCondCodeToString Unexecuted instantiation: RISCVMapping.c:SPARCCondCodeToString Unexecuted instantiation: SHDisassembler.c:SPARCCondCodeToString Unexecuted instantiation: SHInstPrinter.c:SPARCCondCodeToString Unexecuted instantiation: TriCoreDisassembler.c:SPARCCondCodeToString Unexecuted instantiation: TriCoreMapping.c:SPARCCondCodeToString Unexecuted instantiation: AlphaDisassembler.c:SPARCCondCodeToString Unexecuted instantiation: AlphaMapping.c:SPARCCondCodeToString Unexecuted instantiation: HPPADisassembler.c:SPARCCondCodeToString Unexecuted instantiation: HPPAInstPrinter.c:SPARCCondCodeToString Unexecuted instantiation: HPPAMapping.c:SPARCCondCodeToString Unexecuted instantiation: LoongArchMapping.c:SPARCCondCodeToString Unexecuted instantiation: XtensaMapping.c:SPARCCondCodeToString Unexecuted instantiation: ARCMapping.c:SPARCCondCodeToString Unexecuted instantiation: Mapping.c:SPARCCondCodeToString Unexecuted instantiation: ARMBaseInfo.c:SPARCCondCodeToString Unexecuted instantiation: ARMDisassembler.c:SPARCCondCodeToString Unexecuted instantiation: ARMDisassemblerExtension.c:SPARCCondCodeToString Unexecuted instantiation: ARMInstPrinter.c:SPARCCondCodeToString Unexecuted instantiation: AArch64BaseInfo.c:SPARCCondCodeToString Unexecuted instantiation: AArch64Disassembler.c:SPARCCondCodeToString Unexecuted instantiation: AArch64DisassemblerExtension.c:SPARCCondCodeToString Unexecuted instantiation: AArch64InstPrinter.c:SPARCCondCodeToString Unexecuted instantiation: MipsDisassembler.c:SPARCCondCodeToString Unexecuted instantiation: MipsInstPrinter.c:SPARCCondCodeToString Unexecuted instantiation: PPCDisassembler.c:SPARCCondCodeToString Unexecuted instantiation: PPCInstPrinter.c:SPARCCondCodeToString Unexecuted instantiation: SparcDisassembler.c:SPARCCondCodeToString Unexecuted instantiation: SparcDisassemblerExtension.c:SPARCCondCodeToString SparcInstPrinter.c:SPARCCondCodeToString Line | Count | Source | 89 | 13.6k | inline static const char *SPARCCondCodeToString(sparc_cc CC) { | 90 | 13.6k | switch (CC) { | 91 | 41 | case SPARC_CC_ICC_A: return "a"; | 92 | 545 | case SPARC_CC_ICC_N: return "n"; | 93 | 246 | case SPARC_CC_ICC_NE: return "ne"; | 94 | 74 | case SPARC_CC_ICC_E: return "e"; | 95 | 315 | case SPARC_CC_ICC_G: return "g"; | 96 | 726 | case SPARC_CC_ICC_LE: return "le"; | 97 | 36 | case SPARC_CC_ICC_GE: return "ge"; | 98 | 82 | case SPARC_CC_ICC_L: return "l"; | 99 | 72 | case SPARC_CC_ICC_GU: return "gu"; | 100 | 205 | case SPARC_CC_ICC_LEU: return "leu"; | 101 | 37 | case SPARC_CC_ICC_CC: return "cc"; | 102 | 754 | case SPARC_CC_ICC_CS: return "cs"; | 103 | 213 | case SPARC_CC_ICC_POS: return "pos"; | 104 | 219 | case SPARC_CC_ICC_NEG: return "neg"; | 105 | 35 | case SPARC_CC_ICC_VC: return "vc"; | 106 | 449 | case SPARC_CC_ICC_VS: return "vs"; | 107 | 160 | case SPARC_CC_FCC_A: return "a"; | 108 | 790 | case SPARC_CC_FCC_N: return "n"; | 109 | 333 | case SPARC_CC_FCC_U: return "u"; | 110 | 87 | case SPARC_CC_FCC_G: return "g"; | 111 | 98 | case SPARC_CC_FCC_UG: return "ug"; | 112 | 321 | case SPARC_CC_FCC_L: return "l"; | 113 | 221 | case SPARC_CC_FCC_UL: return "ul"; | 114 | 214 | case SPARC_CC_FCC_LG: return "lg"; | 115 | 544 | case SPARC_CC_FCC_NE: return "ne"; | 116 | 118 | case SPARC_CC_FCC_E: return "e"; | 117 | 213 | case SPARC_CC_FCC_UE: return "ue"; | 118 | 109 | case SPARC_CC_FCC_GE: return "ge"; | 119 | 223 | case SPARC_CC_FCC_UGE: return "uge"; | 120 | 308 | case SPARC_CC_FCC_LE: return "le"; | 121 | 225 | case SPARC_CC_FCC_ULE: return "ule"; | 122 | 323 | case SPARC_CC_FCC_O: return "o"; | 123 | 219 | case SPARC_CC_CPCC_A: return "a"; | 124 | 718 | case SPARC_CC_CPCC_N: return "n"; | 125 | 234 | case SPARC_CC_CPCC_3: return "3"; | 126 | 230 | case SPARC_CC_CPCC_2: return "2"; | 127 | 251 | case SPARC_CC_CPCC_23: return "23"; | 128 | 201 | case SPARC_CC_CPCC_1: return "1"; | 129 | 249 | case SPARC_CC_CPCC_13: return "13"; | 130 | 119 | case SPARC_CC_CPCC_12: return "12"; | 131 | 507 | case SPARC_CC_CPCC_123: return "123"; | 132 | 265 | case SPARC_CC_CPCC_0: return "0"; | 133 | 275 | case SPARC_CC_CPCC_03: return "03"; | 134 | 73 | case SPARC_CC_CPCC_02: return "02"; | 135 | 77 | case SPARC_CC_CPCC_023: return "023"; | 136 | 80 | case SPARC_CC_CPCC_01: return "01"; | 137 | 92 | case SPARC_CC_CPCC_013: return "013"; | 138 | 214 | case SPARC_CC_CPCC_012: return "012"; | 139 | 559 | case SPARC_CC_REG_BEGIN: | 140 | 559 | case SPARC_CC_UNDEF: | 141 | 559 | return "invalid"; | 142 | 87 | case SPARC_CC_REG_Z: | 143 | 87 | return "z"; | 144 | 81 | case SPARC_CC_REG_LEZ: | 145 | 81 | return "lez"; | 146 | 147 | case SPARC_CC_REG_LZ: | 147 | 147 | return "lz"; | 148 | 92 | case SPARC_CC_REG_NZ: | 149 | 92 | return "nz"; | 150 | 81 | case SPARC_CC_REG_GZ: | 151 | 81 | return "gz"; | 152 | 69 | case SPARC_CC_REG_GEZ: | 153 | 69 | return "gez"; | 154 | 13.6k | } | 155 | 371 | return "invalid"; | 156 | 13.6k | } |
Unexecuted instantiation: SystemZDisassembler.c:SPARCCondCodeToString Unexecuted instantiation: SystemZDisassemblerExtension.c:SPARCCondCodeToString Unexecuted instantiation: SystemZInstPrinter.c:SPARCCondCodeToString Unexecuted instantiation: SystemZMCTargetDesc.c:SPARCCondCodeToString Unexecuted instantiation: TriCoreInstPrinter.c:SPARCCondCodeToString Unexecuted instantiation: AlphaInstPrinter.c:SPARCCondCodeToString Unexecuted instantiation: LoongArchDisassembler.c:SPARCCondCodeToString Unexecuted instantiation: LoongArchDisassemblerExtension.c:SPARCCondCodeToString Unexecuted instantiation: LoongArchInstPrinter.c:SPARCCondCodeToString Unexecuted instantiation: XtensaDisassembler.c:SPARCCondCodeToString Unexecuted instantiation: XtensaInstPrinter.c:SPARCCondCodeToString Unexecuted instantiation: ARCDisassembler.c:SPARCCondCodeToString Unexecuted instantiation: ARCInstPrinter.c:SPARCCondCodeToString Unexecuted instantiation: MCInstPrinter.c:SPARCCondCodeToString |
157 | | |
158 | | /// The cc field values encoded in the cc0, cc1, cc2 bits or opf_cc. |
159 | | /// They are equivalent to ISA Sparc v9 - Table 41 - Chapter E.2 Tables - Page 281. |
160 | | typedef enum { |
161 | | SPARC_CC_FIELD_FCC0 = 0, |
162 | | SPARC_CC_FIELD_FCC1 = 1, |
163 | | SPARC_CC_FIELD_FCC2 = 2, |
164 | | SPARC_CC_FIELD_FCC3 = 3, |
165 | | SPARC_CC_FIELD_ICC = 4, |
166 | | SPARC_CC_FIELD_RESERVED_I = 5, |
167 | | SPARC_CC_FIELD_XCC = 6, |
168 | | SPARC_CC_FIELD_RESERVED_II = 7, |
169 | | SPARC_CC_FIELD_NONE = 0xff, |
170 | | } sparc_cc_field; |
171 | | |
172 | | /// The instruction formats. |
173 | | /// They are only loosely equivalent to the one in the ISA. |
174 | | /// Because in LLVM they are not defined one to one. |
175 | | typedef enum { |
176 | | // generated content <SparcGenCSInsnFormatsEnum.inc> begin |
177 | | // clang-format off |
178 | | |
179 | | SPARC_INSN_FORM_ASMPSEUDOINST, |
180 | | SPARC_INSN_FORM_F3_2, |
181 | | SPARC_INSN_FORM_F3_1_ASI, |
182 | | SPARC_INSN_FORM_F3_3, |
183 | | SPARC_INSN_FORM_F2_2, |
184 | | SPARC_INSN_FORM_F2_3, |
185 | | SPARC_INSN_FORM_F2_4, |
186 | | SPARC_INSN_FORM_F1, |
187 | | SPARC_INSN_FORM_F3_3U, |
188 | | SPARC_INSN_FORM_F4_3, |
189 | | SPARC_INSN_FORM_F4_4R, |
190 | | SPARC_INSN_FORM_F4_2, |
191 | | SPARC_INSN_FORM_F4_1, |
192 | | SPARC_INSN_FORM_F4_4I, |
193 | | SPARC_INSN_FORM_F2_1, |
194 | | SPARC_INSN_FORM_F3_SI, |
195 | | SPARC_INSN_FORM_F3_SR, |
196 | | SPARC_INSN_FORM_TRAPSP, |
197 | | SPARC_INSN_FORM_F3_3C, |
198 | | |
199 | | // clang-format on |
200 | | // generated content <SparcGenCSInsnFormatsEnum.inc> end |
201 | | } sparc_insn_form; |
202 | | |
203 | | /// Branch hint |
204 | | typedef enum sparc_hint { |
205 | | SPARC_HINT_INVALID = 0, ///< no hint |
206 | | SPARC_HINT_A = 1 << 0, ///< annul delay slot instruction |
207 | | SPARC_HINT_PT = 1 << 1, ///< branch taken |
208 | | SPARC_HINT_PN = 1 << 2, ///< branch NOT taken |
209 | | SPARC_HINT_A_PN = SPARC_HINT_A | SPARC_HINT_PN, |
210 | | SPARC_HINT_A_PT = SPARC_HINT_A | SPARC_HINT_PT, |
211 | | } sparc_hint; |
212 | | |
213 | | /// Operand type for instruction's operands |
214 | | typedef enum sparc_op_type { |
215 | | SPARC_OP_INVALID = CS_OP_INVALID, ///< = CS_OP_INVALID (Uninitialized). |
216 | | SPARC_OP_REG = CS_OP_REG, ///< = CS_OP_REG (Register operand). |
217 | | SPARC_OP_IMM = CS_OP_IMM, ///< = CS_OP_IMM (Immediate operand). |
218 | | SPARC_OP_MEM = CS_OP_MEM, ///< = CS_OP_MEM (Memory operand). |
219 | | SPARC_OP_MEMBAR_TAG = CS_OP_SPECIAL + 0, |
220 | | SPARC_OP_ASI = CS_OP_SPECIAL + 1, |
221 | | } sparc_op_type; |
222 | | |
223 | | /// SPARC registers |
224 | | typedef enum sparc_reg { |
225 | | // generated content <SparcGenCSRegEnum.inc> begin |
226 | | // clang-format off |
227 | | |
228 | | SPARC_REG_INVALID = 0, |
229 | | SPARC_REG_CANRESTORE = 1, |
230 | | SPARC_REG_CANSAVE = 2, |
231 | | SPARC_REG_CLEANWIN = 3, |
232 | | SPARC_REG_CPQ = 4, |
233 | | SPARC_REG_CPSR = 5, |
234 | | SPARC_REG_CWP = 6, |
235 | | SPARC_REG_FQ = 7, |
236 | | SPARC_REG_FSR = 8, |
237 | | SPARC_REG_GL = 9, |
238 | | SPARC_REG_ICC = 10, |
239 | | SPARC_REG_OTHERWIN = 11, |
240 | | SPARC_REG_PIL = 12, |
241 | | SPARC_REG_PSR = 13, |
242 | | SPARC_REG_PSTATE = 14, |
243 | | SPARC_REG_TBA = 15, |
244 | | SPARC_REG_TBR = 16, |
245 | | SPARC_REG_TICK = 17, |
246 | | SPARC_REG_TL = 18, |
247 | | SPARC_REG_TNPC = 19, |
248 | | SPARC_REG_TPC = 20, |
249 | | SPARC_REG_TSTATE = 21, |
250 | | SPARC_REG_TT = 22, |
251 | | SPARC_REG_VER = 23, |
252 | | SPARC_REG_WIM = 24, |
253 | | SPARC_REG_WSTATE = 25, |
254 | | SPARC_REG_Y = 26, |
255 | | SPARC_REG_ASR1 = 27, |
256 | | SPARC_REG_ASR2 = 28, |
257 | | SPARC_REG_ASR3 = 29, |
258 | | SPARC_REG_ASR4 = 30, |
259 | | SPARC_REG_ASR5 = 31, |
260 | | SPARC_REG_ASR6 = 32, |
261 | | SPARC_REG_ASR7 = 33, |
262 | | SPARC_REG_ASR8 = 34, |
263 | | SPARC_REG_ASR9 = 35, |
264 | | SPARC_REG_ASR10 = 36, |
265 | | SPARC_REG_ASR11 = 37, |
266 | | SPARC_REG_ASR12 = 38, |
267 | | SPARC_REG_ASR13 = 39, |
268 | | SPARC_REG_ASR14 = 40, |
269 | | SPARC_REG_ASR15 = 41, |
270 | | SPARC_REG_ASR16 = 42, |
271 | | SPARC_REG_ASR17 = 43, |
272 | | SPARC_REG_ASR18 = 44, |
273 | | SPARC_REG_ASR19 = 45, |
274 | | SPARC_REG_ASR20 = 46, |
275 | | SPARC_REG_ASR21 = 47, |
276 | | SPARC_REG_ASR22 = 48, |
277 | | SPARC_REG_ASR23 = 49, |
278 | | SPARC_REG_ASR24 = 50, |
279 | | SPARC_REG_ASR25 = 51, |
280 | | SPARC_REG_ASR26 = 52, |
281 | | SPARC_REG_ASR27 = 53, |
282 | | SPARC_REG_ASR28 = 54, |
283 | | SPARC_REG_ASR29 = 55, |
284 | | SPARC_REG_ASR30 = 56, |
285 | | SPARC_REG_ASR31 = 57, |
286 | | SPARC_REG_C0 = 58, |
287 | | SPARC_REG_C1 = 59, |
288 | | SPARC_REG_C2 = 60, |
289 | | SPARC_REG_C3 = 61, |
290 | | SPARC_REG_C4 = 62, |
291 | | SPARC_REG_C5 = 63, |
292 | | SPARC_REG_C6 = 64, |
293 | | SPARC_REG_C7 = 65, |
294 | | SPARC_REG_C8 = 66, |
295 | | SPARC_REG_C9 = 67, |
296 | | SPARC_REG_C10 = 68, |
297 | | SPARC_REG_C11 = 69, |
298 | | SPARC_REG_C12 = 70, |
299 | | SPARC_REG_C13 = 71, |
300 | | SPARC_REG_C14 = 72, |
301 | | SPARC_REG_C15 = 73, |
302 | | SPARC_REG_C16 = 74, |
303 | | SPARC_REG_C17 = 75, |
304 | | SPARC_REG_C18 = 76, |
305 | | SPARC_REG_C19 = 77, |
306 | | SPARC_REG_C20 = 78, |
307 | | SPARC_REG_C21 = 79, |
308 | | SPARC_REG_C22 = 80, |
309 | | SPARC_REG_C23 = 81, |
310 | | SPARC_REG_C24 = 82, |
311 | | SPARC_REG_C25 = 83, |
312 | | SPARC_REG_C26 = 84, |
313 | | SPARC_REG_C27 = 85, |
314 | | SPARC_REG_C28 = 86, |
315 | | SPARC_REG_C29 = 87, |
316 | | SPARC_REG_C30 = 88, |
317 | | SPARC_REG_C31 = 89, |
318 | | SPARC_REG_D0 = 90, |
319 | | SPARC_REG_D1 = 91, |
320 | | SPARC_REG_D2 = 92, |
321 | | SPARC_REG_D3 = 93, |
322 | | SPARC_REG_D4 = 94, |
323 | | SPARC_REG_D5 = 95, |
324 | | SPARC_REG_D6 = 96, |
325 | | SPARC_REG_D7 = 97, |
326 | | SPARC_REG_D8 = 98, |
327 | | SPARC_REG_D9 = 99, |
328 | | SPARC_REG_D10 = 100, |
329 | | SPARC_REG_D11 = 101, |
330 | | SPARC_REG_D12 = 102, |
331 | | SPARC_REG_D13 = 103, |
332 | | SPARC_REG_D14 = 104, |
333 | | SPARC_REG_D15 = 105, |
334 | | SPARC_REG_D16 = 106, |
335 | | SPARC_REG_D17 = 107, |
336 | | SPARC_REG_D18 = 108, |
337 | | SPARC_REG_D19 = 109, |
338 | | SPARC_REG_D20 = 110, |
339 | | SPARC_REG_D21 = 111, |
340 | | SPARC_REG_D22 = 112, |
341 | | SPARC_REG_D23 = 113, |
342 | | SPARC_REG_D24 = 114, |
343 | | SPARC_REG_D25 = 115, |
344 | | SPARC_REG_D26 = 116, |
345 | | SPARC_REG_D27 = 117, |
346 | | SPARC_REG_D28 = 118, |
347 | | SPARC_REG_D29 = 119, |
348 | | SPARC_REG_D30 = 120, |
349 | | SPARC_REG_D31 = 121, |
350 | | SPARC_REG_F0 = 122, |
351 | | SPARC_REG_F1 = 123, |
352 | | SPARC_REG_F2 = 124, |
353 | | SPARC_REG_F3 = 125, |
354 | | SPARC_REG_F4 = 126, |
355 | | SPARC_REG_F5 = 127, |
356 | | SPARC_REG_F6 = 128, |
357 | | SPARC_REG_F7 = 129, |
358 | | SPARC_REG_F8 = 130, |
359 | | SPARC_REG_F9 = 131, |
360 | | SPARC_REG_F10 = 132, |
361 | | SPARC_REG_F11 = 133, |
362 | | SPARC_REG_F12 = 134, |
363 | | SPARC_REG_F13 = 135, |
364 | | SPARC_REG_F14 = 136, |
365 | | SPARC_REG_F15 = 137, |
366 | | SPARC_REG_F16 = 138, |
367 | | SPARC_REG_F17 = 139, |
368 | | SPARC_REG_F18 = 140, |
369 | | SPARC_REG_F19 = 141, |
370 | | SPARC_REG_F20 = 142, |
371 | | SPARC_REG_F21 = 143, |
372 | | SPARC_REG_F22 = 144, |
373 | | SPARC_REG_F23 = 145, |
374 | | SPARC_REG_F24 = 146, |
375 | | SPARC_REG_F25 = 147, |
376 | | SPARC_REG_F26 = 148, |
377 | | SPARC_REG_F27 = 149, |
378 | | SPARC_REG_F28 = 150, |
379 | | SPARC_REG_F29 = 151, |
380 | | SPARC_REG_F30 = 152, |
381 | | SPARC_REG_F31 = 153, |
382 | | SPARC_REG_FCC0 = 154, |
383 | | SPARC_REG_FCC1 = 155, |
384 | | SPARC_REG_FCC2 = 156, |
385 | | SPARC_REG_FCC3 = 157, |
386 | | SPARC_REG_G0 = 158, |
387 | | SPARC_REG_G1 = 159, |
388 | | SPARC_REG_G2 = 160, |
389 | | SPARC_REG_G3 = 161, |
390 | | SPARC_REG_G4 = 162, |
391 | | SPARC_REG_G5 = 163, |
392 | | SPARC_REG_G6 = 164, |
393 | | SPARC_REG_G7 = 165, |
394 | | SPARC_REG_I0 = 166, |
395 | | SPARC_REG_I1 = 167, |
396 | | SPARC_REG_I2 = 168, |
397 | | SPARC_REG_I3 = 169, |
398 | | SPARC_REG_I4 = 170, |
399 | | SPARC_REG_I5 = 171, |
400 | | SPARC_REG_I6 = 172, |
401 | | SPARC_REG_I7 = 173, |
402 | | SPARC_REG_L0 = 174, |
403 | | SPARC_REG_L1 = 175, |
404 | | SPARC_REG_L2 = 176, |
405 | | SPARC_REG_L3 = 177, |
406 | | SPARC_REG_L4 = 178, |
407 | | SPARC_REG_L5 = 179, |
408 | | SPARC_REG_L6 = 180, |
409 | | SPARC_REG_L7 = 181, |
410 | | SPARC_REG_O0 = 182, |
411 | | SPARC_REG_O1 = 183, |
412 | | SPARC_REG_O2 = 184, |
413 | | SPARC_REG_O3 = 185, |
414 | | SPARC_REG_O4 = 186, |
415 | | SPARC_REG_O5 = 187, |
416 | | SPARC_REG_O6 = 188, |
417 | | SPARC_REG_O7 = 189, |
418 | | SPARC_REG_Q0 = 190, |
419 | | SPARC_REG_Q1 = 191, |
420 | | SPARC_REG_Q2 = 192, |
421 | | SPARC_REG_Q3 = 193, |
422 | | SPARC_REG_Q4 = 194, |
423 | | SPARC_REG_Q5 = 195, |
424 | | SPARC_REG_Q6 = 196, |
425 | | SPARC_REG_Q7 = 197, |
426 | | SPARC_REG_Q8 = 198, |
427 | | SPARC_REG_Q9 = 199, |
428 | | SPARC_REG_Q10 = 200, |
429 | | SPARC_REG_Q11 = 201, |
430 | | SPARC_REG_Q12 = 202, |
431 | | SPARC_REG_Q13 = 203, |
432 | | SPARC_REG_Q14 = 204, |
433 | | SPARC_REG_Q15 = 205, |
434 | | SPARC_REG_C0_C1 = 206, |
435 | | SPARC_REG_C2_C3 = 207, |
436 | | SPARC_REG_C4_C5 = 208, |
437 | | SPARC_REG_C6_C7 = 209, |
438 | | SPARC_REG_C8_C9 = 210, |
439 | | SPARC_REG_C10_C11 = 211, |
440 | | SPARC_REG_C12_C13 = 212, |
441 | | SPARC_REG_C14_C15 = 213, |
442 | | SPARC_REG_C16_C17 = 214, |
443 | | SPARC_REG_C18_C19 = 215, |
444 | | SPARC_REG_C20_C21 = 216, |
445 | | SPARC_REG_C22_C23 = 217, |
446 | | SPARC_REG_C24_C25 = 218, |
447 | | SPARC_REG_C26_C27 = 219, |
448 | | SPARC_REG_C28_C29 = 220, |
449 | | SPARC_REG_C30_C31 = 221, |
450 | | SPARC_REG_G0_G1 = 222, |
451 | | SPARC_REG_G2_G3 = 223, |
452 | | SPARC_REG_G4_G5 = 224, |
453 | | SPARC_REG_G6_G7 = 225, |
454 | | SPARC_REG_I0_I1 = 226, |
455 | | SPARC_REG_I2_I3 = 227, |
456 | | SPARC_REG_I4_I5 = 228, |
457 | | SPARC_REG_I6_I7 = 229, |
458 | | SPARC_REG_L0_L1 = 230, |
459 | | SPARC_REG_L2_L3 = 231, |
460 | | SPARC_REG_L4_L5 = 232, |
461 | | SPARC_REG_L6_L7 = 233, |
462 | | SPARC_REG_O0_O1 = 234, |
463 | | SPARC_REG_O2_O3 = 235, |
464 | | SPARC_REG_O4_O5 = 236, |
465 | | SPARC_REG_O6_O7 = 237, |
466 | | SPARC_REG_ENDING, // 238 |
467 | | |
468 | | // clang-format on |
469 | | // generated content <SparcGenCSRegEnum.inc> end |
470 | | |
471 | | // extras |
472 | | SPARC_REG_SP = SPARC_REG_O6, |
473 | | SPARC_REG_FP = SPARC_REG_I6, |
474 | | } sparc_reg; |
475 | | |
476 | | typedef enum sparc_asi { |
477 | | SPARC_ASITAG_ASI_INVALID = 0x0, |
478 | | // generated content <SparcGenCSSystemOperandsEnum.inc:GET_ENUM_VALUES_ASITag> begin |
479 | | // clang-format off |
480 | | |
481 | | SPARC_ASITAG_ASI_AIUP = 0x10, |
482 | | SPARC_ASITAG_ASI_AS_IF_USER_PRIMARY = 0x10, |
483 | | SPARC_ASITAG_ASI_AIUP_L = 0x18, |
484 | | SPARC_ASITAG_ASI_AS_IF_USER_PRIMARY_LITTLE = 0x18, |
485 | | SPARC_ASITAG_ASI_AIUS = 0x11, |
486 | | SPARC_ASITAG_ASI_AS_IF_USER_SECONDARY = 0x11, |
487 | | SPARC_ASITAG_ASI_AIUS_L = 0x19, |
488 | | SPARC_ASITAG_ASI_AS_IF_USER_SECONDARY_LITTLE = 0x19, |
489 | | SPARC_ASITAG_ASI_N = 0x4, |
490 | | SPARC_ASITAG_ASI_NUCLEUS = 0x4, |
491 | | SPARC_ASITAG_ASI_N_L = 0xc, |
492 | | SPARC_ASITAG_ASI_NUCLEUS_LITTLE = 0xc, |
493 | | SPARC_ASITAG_ASI_P = 0x80, |
494 | | SPARC_ASITAG_ASI_PRIMARY = 0x80, |
495 | | SPARC_ASITAG_ASI_PNF = 0x82, |
496 | | SPARC_ASITAG_ASI_PRIMARY_NOFAULT = 0x82, |
497 | | SPARC_ASITAG_ASI_PNF_L = 0x8a, |
498 | | SPARC_ASITAG_ASI_PRIMARY_NOFAULT_LITTLE = 0x8a, |
499 | | SPARC_ASITAG_ASI_P_L = 0x88, |
500 | | SPARC_ASITAG_ASI_PRIMARY_LITTLE = 0x88, |
501 | | SPARC_ASITAG_ASI_S = 0x81, |
502 | | SPARC_ASITAG_ASI_SECONDARY = 0x81, |
503 | | SPARC_ASITAG_ASI_SNF = 0x83, |
504 | | SPARC_ASITAG_ASI_SECONDARY_NOFAULT = 0x83, |
505 | | SPARC_ASITAG_ASI_SNF_L = 0x8b, |
506 | | SPARC_ASITAG_ASI_SECONDARY_NOFAULT_LITTLE = 0x8b, |
507 | | SPARC_ASITAG_ASI_S_L = 0x89, |
508 | | SPARC_ASITAG_ASI_SECONDARY_LITTLE = 0x89, |
509 | | |
510 | | // clang-format on |
511 | | // generated content <SparcGenCSSystemOperandsEnum.inc:GET_ENUM_VALUES_ASITag> end |
512 | | } sparc_asi; |
513 | | |
514 | | typedef enum sparc_membar_tag { |
515 | | SPARC_MEMBAR_TAG_NONE = 0, |
516 | | SPARC_MEMBAR_TAG_LOADLOAD = 1, |
517 | | SPARC_MEMBAR_TAG_STORELOAD = 1 << 1, |
518 | | SPARC_MEMBAR_TAG_LOADSTORE = 1 << 2, |
519 | | SPARC_MEMBAR_TAG_STORESTORE = 1 << 3, |
520 | | SPARC_MEMBAR_TAG_LOOKASIDE = 1 << 4, |
521 | | SPARC_MEMBAR_TAG_MEMISSUE = 1 << 5, |
522 | | SPARC_MEMBAR_TAG_SYNC = 1 << 6, |
523 | | } sparc_membar_tag; |
524 | | |
525 | | /// Instruction's operand referring to memory |
526 | | /// This is associated with SPARC_OP_MEM operand type above |
527 | | typedef struct sparc_op_mem { |
528 | | sparc_reg base; ///< base register, can be safely interpreted as |
529 | | ///< a value of type `sparc_reg`, but it is only |
530 | | ///< one byte wide |
531 | | sparc_reg index; ///< index register, same conditions apply here |
532 | | int32_t disp; ///< displacement/offset value |
533 | | } sparc_op_mem; |
534 | | |
535 | | /// Instruction operand |
536 | | typedef struct cs_sparc_op { |
537 | | sparc_op_type type; ///< operand type |
538 | | union { |
539 | | sparc_reg reg; ///< register value for REG operand |
540 | | int64_t imm; ///< immediate value for IMM operand |
541 | | sparc_op_mem mem; ///< base/disp value for MEM operand |
542 | | sparc_membar_tag membar_tag; ///< Tag of the MEMBAR instruction. |
543 | | sparc_asi asi; ///< Address space identifier. |
544 | | }; |
545 | | cs_ac_type access; ///< The way the operand is accessed. |
546 | | } cs_sparc_op; |
547 | | |
548 | 322k | #define NUM_SPARC_OPS 6 |
549 | | |
550 | | /// Instruction structure |
551 | | typedef struct cs_sparc { |
552 | | sparc_cc cc; ///< Condition code: only SPARC_CC_ICC_* are set here. |
553 | | sparc_cc_field cc_field; ///< The CC field the instruction uses. |
554 | | sparc_hint hint; ///< branch hint: encoding as bitwise OR of sparc_hint. |
555 | | sparc_insn_form format; ///< The instruction format. |
556 | | /// Number of operands of this instruction, |
557 | | /// or 0 when instruction has no operand. |
558 | | uint8_t op_count; |
559 | | cs_sparc_op operands[NUM_SPARC_OPS]; ///< operands for this instruction. |
560 | | } cs_sparc; |
561 | | |
562 | | typedef struct { |
563 | | sparc_insn_form form; ///< The instruction format. |
564 | | } sparc_suppl_info; |
565 | | |
566 | | /// SPARC instruction |
567 | | typedef enum sparc_insn { |
568 | | // generated content <SparcGenCSInsnEnum.inc> begin |
569 | | // clang-format off |
570 | | |
571 | | SPARC_INS_INVALID, |
572 | | SPARC_INS_SET, |
573 | | SPARC_INS_SETX, |
574 | | SPARC_INS_ADDCC, |
575 | | SPARC_INS_ADDX, |
576 | | SPARC_INS_ADDXCC, |
577 | | SPARC_INS_ADDXC, |
578 | | SPARC_INS_ADDXCCC, |
579 | | SPARC_INS_ADD, |
580 | | SPARC_INS_ALIGNADDR, |
581 | | SPARC_INS_ALIGNADDRL, |
582 | | SPARC_INS_ANDCC, |
583 | | SPARC_INS_ANDNCC, |
584 | | SPARC_INS_ANDN, |
585 | | SPARC_INS_AND, |
586 | | SPARC_INS_ARRAY16, |
587 | | SPARC_INS_ARRAY32, |
588 | | SPARC_INS_ARRAY8, |
589 | | SPARC_INS_B, |
590 | | SPARC_INS_BMASK, |
591 | | SPARC_INS_FB, |
592 | | SPARC_INS_BR, |
593 | | SPARC_INS_BSHUFFLE, |
594 | | SPARC_INS_CALL, |
595 | | SPARC_INS_CASA, |
596 | | SPARC_INS_CASXA, |
597 | | SPARC_INS_CB, |
598 | | SPARC_INS_CMASK16, |
599 | | SPARC_INS_CMASK32, |
600 | | SPARC_INS_CMASK8, |
601 | | SPARC_INS_DONE, |
602 | | SPARC_INS_EDGE16, |
603 | | SPARC_INS_EDGE16L, |
604 | | SPARC_INS_EDGE16LN, |
605 | | SPARC_INS_EDGE16N, |
606 | | SPARC_INS_EDGE32, |
607 | | SPARC_INS_EDGE32L, |
608 | | SPARC_INS_EDGE32LN, |
609 | | SPARC_INS_EDGE32N, |
610 | | SPARC_INS_EDGE8, |
611 | | SPARC_INS_EDGE8L, |
612 | | SPARC_INS_EDGE8LN, |
613 | | SPARC_INS_EDGE8N, |
614 | | SPARC_INS_FABSD, |
615 | | SPARC_INS_FABSQ, |
616 | | SPARC_INS_FABSS, |
617 | | SPARC_INS_FADDD, |
618 | | SPARC_INS_FADDQ, |
619 | | SPARC_INS_FADDS, |
620 | | SPARC_INS_FALIGNDATA, |
621 | | SPARC_INS_FAND, |
622 | | SPARC_INS_FANDNOT1, |
623 | | SPARC_INS_FANDNOT1S, |
624 | | SPARC_INS_FANDNOT2, |
625 | | SPARC_INS_FANDNOT2S, |
626 | | SPARC_INS_FANDS, |
627 | | SPARC_INS_FCHKSM16, |
628 | | SPARC_INS_FCMPEQ16, |
629 | | SPARC_INS_FCMPEQ32, |
630 | | SPARC_INS_FCMPGT16, |
631 | | SPARC_INS_FCMPGT32, |
632 | | SPARC_INS_FCMPLE16, |
633 | | SPARC_INS_FCMPLE32, |
634 | | SPARC_INS_FCMPNE16, |
635 | | SPARC_INS_FCMPNE32, |
636 | | SPARC_INS_FDIVD, |
637 | | SPARC_INS_FDIVQ, |
638 | | SPARC_INS_FDIVS, |
639 | | SPARC_INS_FDMULQ, |
640 | | SPARC_INS_FDTOI, |
641 | | SPARC_INS_FDTOQ, |
642 | | SPARC_INS_FDTOS, |
643 | | SPARC_INS_FDTOX, |
644 | | SPARC_INS_FEXPAND, |
645 | | SPARC_INS_FHADDD, |
646 | | SPARC_INS_FHADDS, |
647 | | SPARC_INS_FHSUBD, |
648 | | SPARC_INS_FHSUBS, |
649 | | SPARC_INS_FITOD, |
650 | | SPARC_INS_FITOQ, |
651 | | SPARC_INS_FITOS, |
652 | | SPARC_INS_FLCMPD, |
653 | | SPARC_INS_FLCMPS, |
654 | | SPARC_INS_FLUSH, |
655 | | SPARC_INS_FLUSHW, |
656 | | SPARC_INS_FMEAN16, |
657 | | SPARC_INS_FMOVD, |
658 | | SPARC_INS_FMOVQ, |
659 | | SPARC_INS_FMOVRD, |
660 | | SPARC_INS_FMOVRQ, |
661 | | SPARC_INS_FMOVRS, |
662 | | SPARC_INS_FMOVS, |
663 | | SPARC_INS_FMUL8SUX16, |
664 | | SPARC_INS_FMUL8ULX16, |
665 | | SPARC_INS_FMUL8X16, |
666 | | SPARC_INS_FMUL8X16AL, |
667 | | SPARC_INS_FMUL8X16AU, |
668 | | SPARC_INS_FMULD, |
669 | | SPARC_INS_FMULD8SUX16, |
670 | | SPARC_INS_FMULD8ULX16, |
671 | | SPARC_INS_FMULQ, |
672 | | SPARC_INS_FMULS, |
673 | | SPARC_INS_FNADDD, |
674 | | SPARC_INS_FNADDS, |
675 | | SPARC_INS_FNAND, |
676 | | SPARC_INS_FNANDS, |
677 | | SPARC_INS_FNEGD, |
678 | | SPARC_INS_FNEGQ, |
679 | | SPARC_INS_FNEGS, |
680 | | SPARC_INS_FNHADDD, |
681 | | SPARC_INS_FNHADDS, |
682 | | SPARC_INS_FNMULD, |
683 | | SPARC_INS_FNMULS, |
684 | | SPARC_INS_FNOR, |
685 | | SPARC_INS_FNORS, |
686 | | SPARC_INS_FNOT1, |
687 | | SPARC_INS_FNOT1S, |
688 | | SPARC_INS_FNOT2, |
689 | | SPARC_INS_FNOT2S, |
690 | | SPARC_INS_FNSMULD, |
691 | | SPARC_INS_FONE, |
692 | | SPARC_INS_FONES, |
693 | | SPARC_INS_FOR, |
694 | | SPARC_INS_FORNOT1, |
695 | | SPARC_INS_FORNOT1S, |
696 | | SPARC_INS_FORNOT2, |
697 | | SPARC_INS_FORNOT2S, |
698 | | SPARC_INS_FORS, |
699 | | SPARC_INS_FPACK16, |
700 | | SPARC_INS_FPACK32, |
701 | | SPARC_INS_FPACKFIX, |
702 | | SPARC_INS_FPADD16, |
703 | | SPARC_INS_FPADD16S, |
704 | | SPARC_INS_FPADD32, |
705 | | SPARC_INS_FPADD32S, |
706 | | SPARC_INS_FPADD64, |
707 | | SPARC_INS_FPMERGE, |
708 | | SPARC_INS_FPSUB16, |
709 | | SPARC_INS_FPSUB16S, |
710 | | SPARC_INS_FPSUB32, |
711 | | SPARC_INS_FPSUB32S, |
712 | | SPARC_INS_FQTOD, |
713 | | SPARC_INS_FQTOI, |
714 | | SPARC_INS_FQTOS, |
715 | | SPARC_INS_FQTOX, |
716 | | SPARC_INS_FSLAS16, |
717 | | SPARC_INS_FSLAS32, |
718 | | SPARC_INS_FSLL16, |
719 | | SPARC_INS_FSLL32, |
720 | | SPARC_INS_FSMULD, |
721 | | SPARC_INS_FSQRTD, |
722 | | SPARC_INS_FSQRTQ, |
723 | | SPARC_INS_FSQRTS, |
724 | | SPARC_INS_FSRA16, |
725 | | SPARC_INS_FSRA32, |
726 | | SPARC_INS_FSRC1, |
727 | | SPARC_INS_FSRC1S, |
728 | | SPARC_INS_FSRC2, |
729 | | SPARC_INS_FSRC2S, |
730 | | SPARC_INS_FSRL16, |
731 | | SPARC_INS_FSRL32, |
732 | | SPARC_INS_FSTOD, |
733 | | SPARC_INS_FSTOI, |
734 | | SPARC_INS_FSTOQ, |
735 | | SPARC_INS_FSTOX, |
736 | | SPARC_INS_FSUBD, |
737 | | SPARC_INS_FSUBQ, |
738 | | SPARC_INS_FSUBS, |
739 | | SPARC_INS_FXNOR, |
740 | | SPARC_INS_FXNORS, |
741 | | SPARC_INS_FXOR, |
742 | | SPARC_INS_FXORS, |
743 | | SPARC_INS_FXTOD, |
744 | | SPARC_INS_FXTOQ, |
745 | | SPARC_INS_FXTOS, |
746 | | SPARC_INS_FZERO, |
747 | | SPARC_INS_FZEROS, |
748 | | SPARC_INS_LDX, |
749 | | SPARC_INS_LD, |
750 | | SPARC_INS_JMPL, |
751 | | SPARC_INS_LDA, |
752 | | SPARC_INS_LDDA, |
753 | | SPARC_INS_LDD, |
754 | | SPARC_INS_LDQA, |
755 | | SPARC_INS_LDQ, |
756 | | SPARC_INS_LDSBA, |
757 | | SPARC_INS_LDSB, |
758 | | SPARC_INS_LDSHA, |
759 | | SPARC_INS_LDSH, |
760 | | SPARC_INS_LDSTUBA, |
761 | | SPARC_INS_LDSTUB, |
762 | | SPARC_INS_LDSWA, |
763 | | SPARC_INS_LDSW, |
764 | | SPARC_INS_LDUBA, |
765 | | SPARC_INS_LDUB, |
766 | | SPARC_INS_LDUHA, |
767 | | SPARC_INS_LDUH, |
768 | | SPARC_INS_LDXA, |
769 | | SPARC_INS_LZCNT, |
770 | | SPARC_INS_MEMBAR, |
771 | | SPARC_INS_MOVDTOX, |
772 | | SPARC_INS_MOV, |
773 | | SPARC_INS_MOVR, |
774 | | SPARC_INS_MOVSTOSW, |
775 | | SPARC_INS_MOVSTOUW, |
776 | | SPARC_INS_MOVWTOS, |
777 | | SPARC_INS_MOVXTOD, |
778 | | SPARC_INS_MULSCC, |
779 | | SPARC_INS_MULX, |
780 | | SPARC_INS_NOP, |
781 | | SPARC_INS_ORCC, |
782 | | SPARC_INS_ORNCC, |
783 | | SPARC_INS_ORN, |
784 | | SPARC_INS_OR, |
785 | | SPARC_INS_PDIST, |
786 | | SPARC_INS_PDISTN, |
787 | | SPARC_INS_POPC, |
788 | | SPARC_INS_PREFETCH, |
789 | | SPARC_INS_PWR, |
790 | | SPARC_INS_RD, |
791 | | SPARC_INS_RDPR, |
792 | | SPARC_INS_RESTORED, |
793 | | SPARC_INS_RESTORE, |
794 | | SPARC_INS_RETRY, |
795 | | SPARC_INS_RETT, |
796 | | SPARC_INS_SAVED, |
797 | | SPARC_INS_SAVE, |
798 | | SPARC_INS_SDIVCC, |
799 | | SPARC_INS_SDIVX, |
800 | | SPARC_INS_SDIV, |
801 | | SPARC_INS_SETHI, |
802 | | SPARC_INS_SHUTDOWN, |
803 | | SPARC_INS_SIAM, |
804 | | SPARC_INS_SIR, |
805 | | SPARC_INS_SLLX, |
806 | | SPARC_INS_SLL, |
807 | | SPARC_INS_SMAC, |
808 | | SPARC_INS_SMULCC, |
809 | | SPARC_INS_SMUL, |
810 | | SPARC_INS_SRAX, |
811 | | SPARC_INS_SRA, |
812 | | SPARC_INS_SRLX, |
813 | | SPARC_INS_SRL, |
814 | | SPARC_INS_STA, |
815 | | SPARC_INS_STBAR, |
816 | | SPARC_INS_STBA, |
817 | | SPARC_INS_STB, |
818 | | SPARC_INS_ST, |
819 | | SPARC_INS_STDA, |
820 | | SPARC_INS_STD, |
821 | | SPARC_INS_STHA, |
822 | | SPARC_INS_STH, |
823 | | SPARC_INS_STQA, |
824 | | SPARC_INS_STQ, |
825 | | SPARC_INS_STXA, |
826 | | SPARC_INS_STX, |
827 | | SPARC_INS_SUBCC, |
828 | | SPARC_INS_SUBX, |
829 | | SPARC_INS_SUBXCC, |
830 | | SPARC_INS_SUB, |
831 | | SPARC_INS_SWAPA, |
832 | | SPARC_INS_SWAP, |
833 | | SPARC_INS_TA, |
834 | | SPARC_INS_TADDCCTV, |
835 | | SPARC_INS_TADDCC, |
836 | | SPARC_INS_T, |
837 | | SPARC_INS_TSUBCCTV, |
838 | | SPARC_INS_TSUBCC, |
839 | | SPARC_INS_UDIVCC, |
840 | | SPARC_INS_UDIVX, |
841 | | SPARC_INS_UDIV, |
842 | | SPARC_INS_UMAC, |
843 | | SPARC_INS_UMULCC, |
844 | | SPARC_INS_UMULXHI, |
845 | | SPARC_INS_UMUL, |
846 | | SPARC_INS_UNIMP, |
847 | | SPARC_INS_FCMPD, |
848 | | SPARC_INS_FCMPED, |
849 | | SPARC_INS_FCMPEQ, |
850 | | SPARC_INS_FCMPES, |
851 | | SPARC_INS_FCMPQ, |
852 | | SPARC_INS_FCMPS, |
853 | | SPARC_INS_WR, |
854 | | SPARC_INS_WRPR, |
855 | | SPARC_INS_XMULX, |
856 | | SPARC_INS_XMULXHI, |
857 | | SPARC_INS_XNORCC, |
858 | | SPARC_INS_XNOR, |
859 | | SPARC_INS_XORCC, |
860 | | SPARC_INS_XOR, |
861 | | |
862 | | // clang-format on |
863 | | // generated content <SparcGenCSInsnEnum.inc> end |
864 | | |
865 | | SPARC_INS_ENDING, // <-- mark the end of the list of instructions |
866 | | |
867 | | SPARC_INS_ALIAS_BEGIN, |
868 | | // generated content <SparcGenCSAliasEnum.inc> begin |
869 | | // clang-format off |
870 | | |
871 | | SPARC_INS_ALIAS_MOVA, // Real instr.: SPARC_MOVICCrr |
872 | | SPARC_INS_ALIAS_FMOVSA, // Real instr.: SPARC_FMOVS_ICC |
873 | | SPARC_INS_ALIAS_FMOVDA, // Real instr.: SPARC_FMOVD_ICC |
874 | | SPARC_INS_ALIAS_MOVRZ, // Real instr.: SPARC_MOVRrr |
875 | | SPARC_INS_ALIAS_FMOVRSZ, // Real instr.: SPARC_FMOVRS |
876 | | SPARC_INS_ALIAS_FMOVRDZ, // Real instr.: SPARC_FMOVRD |
877 | | SPARC_INS_ALIAS_FMOVRQZ, // Real instr.: SPARC_FMOVRQ |
878 | | SPARC_INS_ALIAS_BA, // Real instr.: SPARC_BCOND |
879 | | SPARC_INS_ALIAS_BA_A, // Real instr.: SPARC_BCONDA |
880 | | SPARC_INS_ALIAS_BA_PT, // Real instr.: SPARC_BPICC |
881 | | SPARC_INS_ALIAS_BA_A_PT, // Real instr.: SPARC_BPICCA |
882 | | SPARC_INS_ALIAS_BA_PN, // Real instr.: SPARC_BPICCNT |
883 | | SPARC_INS_ALIAS_BA_A_PN, // Real instr.: SPARC_BPICCANT |
884 | | SPARC_INS_ALIAS_FMOVQA, // Real instr.: SPARC_FMOVQ_ICC |
885 | | SPARC_INS_ALIAS_TA, // Real instr.: SPARC_TICCrr |
886 | | SPARC_INS_ALIAS_FBA, // Real instr.: SPARC_BPFCC |
887 | | SPARC_INS_ALIAS_FBA_PT, // Real instr.: SPARC_BPFCC |
888 | | SPARC_INS_ALIAS_FBA_A, // Real instr.: SPARC_BPFCCA |
889 | | SPARC_INS_ALIAS_FBA_A_PT, // Real instr.: SPARC_BPFCCA |
890 | | SPARC_INS_ALIAS_FBA_PN, // Real instr.: SPARC_BPFCCNT |
891 | | SPARC_INS_ALIAS_FBA_A_PN, // Real instr.: SPARC_BPFCCANT |
892 | | SPARC_INS_ALIAS_BRZ, // Real instr.: SPARC_BPR |
893 | | SPARC_INS_ALIAS_BRZ_PT, // Real instr.: SPARC_BPR |
894 | | SPARC_INS_ALIAS_BRZ_PN, // Real instr.: SPARC_BPRNT |
895 | | SPARC_INS_ALIAS_BRZ_A, // Real instr.: SPARC_BPRA |
896 | | SPARC_INS_ALIAS_BRZ_A_PT, // Real instr.: SPARC_BPRA |
897 | | SPARC_INS_ALIAS_BRZ_A_PN, // Real instr.: SPARC_BPRANT |
898 | | SPARC_INS_ALIAS_BN, // Real instr.: SPARC_BCOND |
899 | | SPARC_INS_ALIAS_BN_A, // Real instr.: SPARC_BCONDA |
900 | | SPARC_INS_ALIAS_BN_PT, // Real instr.: SPARC_BPICC |
901 | | SPARC_INS_ALIAS_BN_A_PT, // Real instr.: SPARC_BPICCA |
902 | | SPARC_INS_ALIAS_BN_PN, // Real instr.: SPARC_BPICCNT |
903 | | SPARC_INS_ALIAS_BN_A_PN, // Real instr.: SPARC_BPICCANT |
904 | | SPARC_INS_ALIAS_MOVN, // Real instr.: SPARC_MOVICCrr |
905 | | SPARC_INS_ALIAS_FMOVSN, // Real instr.: SPARC_FMOVS_ICC |
906 | | SPARC_INS_ALIAS_FMOVDN, // Real instr.: SPARC_FMOVD_ICC |
907 | | SPARC_INS_ALIAS_FMOVQN, // Real instr.: SPARC_FMOVQ_ICC |
908 | | SPARC_INS_ALIAS_TN, // Real instr.: SPARC_TICCrr |
909 | | SPARC_INS_ALIAS_BNE, // Real instr.: SPARC_BCOND |
910 | | SPARC_INS_ALIAS_BNE_A, // Real instr.: SPARC_BCONDA |
911 | | SPARC_INS_ALIAS_BNE_PT, // Real instr.: SPARC_BPICC |
912 | | SPARC_INS_ALIAS_BNE_A_PT, // Real instr.: SPARC_BPICCA |
913 | | SPARC_INS_ALIAS_BNE_PN, // Real instr.: SPARC_BPICCNT |
914 | | SPARC_INS_ALIAS_BNE_A_PN, // Real instr.: SPARC_BPICCANT |
915 | | SPARC_INS_ALIAS_MOVNE, // Real instr.: SPARC_MOVICCrr |
916 | | SPARC_INS_ALIAS_FMOVSNE, // Real instr.: SPARC_FMOVS_ICC |
917 | | SPARC_INS_ALIAS_FMOVDNE, // Real instr.: SPARC_FMOVD_ICC |
918 | | SPARC_INS_ALIAS_FMOVQNE, // Real instr.: SPARC_FMOVQ_ICC |
919 | | SPARC_INS_ALIAS_TNE, // Real instr.: SPARC_TICCrr |
920 | | SPARC_INS_ALIAS_BE, // Real instr.: SPARC_BCOND |
921 | | SPARC_INS_ALIAS_BE_A, // Real instr.: SPARC_BCONDA |
922 | | SPARC_INS_ALIAS_BE_PT, // Real instr.: SPARC_BPICC |
923 | | SPARC_INS_ALIAS_BE_A_PT, // Real instr.: SPARC_BPICCA |
924 | | SPARC_INS_ALIAS_BE_PN, // Real instr.: SPARC_BPICCNT |
925 | | SPARC_INS_ALIAS_BE_A_PN, // Real instr.: SPARC_BPICCANT |
926 | | SPARC_INS_ALIAS_MOVE, // Real instr.: SPARC_MOVICCrr |
927 | | SPARC_INS_ALIAS_FMOVSE, // Real instr.: SPARC_FMOVS_ICC |
928 | | SPARC_INS_ALIAS_FMOVDE, // Real instr.: SPARC_FMOVD_ICC |
929 | | SPARC_INS_ALIAS_FMOVQE, // Real instr.: SPARC_FMOVQ_ICC |
930 | | SPARC_INS_ALIAS_TE, // Real instr.: SPARC_TICCrr |
931 | | SPARC_INS_ALIAS_BG, // Real instr.: SPARC_BCOND |
932 | | SPARC_INS_ALIAS_BG_A, // Real instr.: SPARC_BCONDA |
933 | | SPARC_INS_ALIAS_BG_PT, // Real instr.: SPARC_BPICC |
934 | | SPARC_INS_ALIAS_BG_A_PT, // Real instr.: SPARC_BPICCA |
935 | | SPARC_INS_ALIAS_BG_PN, // Real instr.: SPARC_BPICCNT |
936 | | SPARC_INS_ALIAS_BG_A_PN, // Real instr.: SPARC_BPICCANT |
937 | | SPARC_INS_ALIAS_MOVG, // Real instr.: SPARC_MOVICCrr |
938 | | SPARC_INS_ALIAS_FMOVSG, // Real instr.: SPARC_FMOVS_ICC |
939 | | SPARC_INS_ALIAS_FMOVDG, // Real instr.: SPARC_FMOVD_ICC |
940 | | SPARC_INS_ALIAS_FMOVQG, // Real instr.: SPARC_FMOVQ_ICC |
941 | | SPARC_INS_ALIAS_TG, // Real instr.: SPARC_TICCrr |
942 | | SPARC_INS_ALIAS_BLE, // Real instr.: SPARC_BCOND |
943 | | SPARC_INS_ALIAS_BLE_A, // Real instr.: SPARC_BCONDA |
944 | | SPARC_INS_ALIAS_BLE_PT, // Real instr.: SPARC_BPICC |
945 | | SPARC_INS_ALIAS_BLE_A_PT, // Real instr.: SPARC_BPICCA |
946 | | SPARC_INS_ALIAS_BLE_PN, // Real instr.: SPARC_BPICCNT |
947 | | SPARC_INS_ALIAS_BLE_A_PN, // Real instr.: SPARC_BPICCANT |
948 | | SPARC_INS_ALIAS_MOVLE, // Real instr.: SPARC_MOVICCrr |
949 | | SPARC_INS_ALIAS_FMOVSLE, // Real instr.: SPARC_FMOVS_ICC |
950 | | SPARC_INS_ALIAS_FMOVDLE, // Real instr.: SPARC_FMOVD_ICC |
951 | | SPARC_INS_ALIAS_FMOVQLE, // Real instr.: SPARC_FMOVQ_ICC |
952 | | SPARC_INS_ALIAS_TLE, // Real instr.: SPARC_TICCrr |
953 | | SPARC_INS_ALIAS_BGE, // Real instr.: SPARC_BCOND |
954 | | SPARC_INS_ALIAS_BGE_A, // Real instr.: SPARC_BCONDA |
955 | | SPARC_INS_ALIAS_BGE_PT, // Real instr.: SPARC_BPICC |
956 | | SPARC_INS_ALIAS_BGE_A_PT, // Real instr.: SPARC_BPICCA |
957 | | SPARC_INS_ALIAS_BGE_PN, // Real instr.: SPARC_BPICCNT |
958 | | SPARC_INS_ALIAS_BGE_A_PN, // Real instr.: SPARC_BPICCANT |
959 | | SPARC_INS_ALIAS_MOVGE, // Real instr.: SPARC_MOVICCrr |
960 | | SPARC_INS_ALIAS_FMOVSGE, // Real instr.: SPARC_FMOVS_ICC |
961 | | SPARC_INS_ALIAS_FMOVDGE, // Real instr.: SPARC_FMOVD_ICC |
962 | | SPARC_INS_ALIAS_FMOVQGE, // Real instr.: SPARC_FMOVQ_ICC |
963 | | SPARC_INS_ALIAS_TGE, // Real instr.: SPARC_TICCrr |
964 | | SPARC_INS_ALIAS_BL, // Real instr.: SPARC_BCOND |
965 | | SPARC_INS_ALIAS_BL_A, // Real instr.: SPARC_BCONDA |
966 | | SPARC_INS_ALIAS_BL_PT, // Real instr.: SPARC_BPICC |
967 | | SPARC_INS_ALIAS_BL_A_PT, // Real instr.: SPARC_BPICCA |
968 | | SPARC_INS_ALIAS_BL_PN, // Real instr.: SPARC_BPICCNT |
969 | | SPARC_INS_ALIAS_BL_A_PN, // Real instr.: SPARC_BPICCANT |
970 | | SPARC_INS_ALIAS_MOVL, // Real instr.: SPARC_MOVICCrr |
971 | | SPARC_INS_ALIAS_FMOVSL, // Real instr.: SPARC_FMOVS_ICC |
972 | | SPARC_INS_ALIAS_FMOVDL, // Real instr.: SPARC_FMOVD_ICC |
973 | | SPARC_INS_ALIAS_FMOVQL, // Real instr.: SPARC_FMOVQ_ICC |
974 | | SPARC_INS_ALIAS_TL, // Real instr.: SPARC_TICCrr |
975 | | SPARC_INS_ALIAS_BGU, // Real instr.: SPARC_BCOND |
976 | | SPARC_INS_ALIAS_BGU_A, // Real instr.: SPARC_BCONDA |
977 | | SPARC_INS_ALIAS_BGU_PT, // Real instr.: SPARC_BPICC |
978 | | SPARC_INS_ALIAS_BGU_A_PT, // Real instr.: SPARC_BPICCA |
979 | | SPARC_INS_ALIAS_BGU_PN, // Real instr.: SPARC_BPICCNT |
980 | | SPARC_INS_ALIAS_BGU_A_PN, // Real instr.: SPARC_BPICCANT |
981 | | SPARC_INS_ALIAS_MOVGU, // Real instr.: SPARC_MOVICCrr |
982 | | SPARC_INS_ALIAS_FMOVSGU, // Real instr.: SPARC_FMOVS_ICC |
983 | | SPARC_INS_ALIAS_FMOVDGU, // Real instr.: SPARC_FMOVD_ICC |
984 | | SPARC_INS_ALIAS_FMOVQGU, // Real instr.: SPARC_FMOVQ_ICC |
985 | | SPARC_INS_ALIAS_TGU, // Real instr.: SPARC_TICCrr |
986 | | SPARC_INS_ALIAS_BLEU, // Real instr.: SPARC_BCOND |
987 | | SPARC_INS_ALIAS_BLEU_A, // Real instr.: SPARC_BCONDA |
988 | | SPARC_INS_ALIAS_BLEU_PT, // Real instr.: SPARC_BPICC |
989 | | SPARC_INS_ALIAS_BLEU_A_PT, // Real instr.: SPARC_BPICCA |
990 | | SPARC_INS_ALIAS_BLEU_PN, // Real instr.: SPARC_BPICCNT |
991 | | SPARC_INS_ALIAS_BLEU_A_PN, // Real instr.: SPARC_BPICCANT |
992 | | SPARC_INS_ALIAS_MOVLEU, // Real instr.: SPARC_MOVICCrr |
993 | | SPARC_INS_ALIAS_FMOVSLEU, // Real instr.: SPARC_FMOVS_ICC |
994 | | SPARC_INS_ALIAS_FMOVDLEU, // Real instr.: SPARC_FMOVD_ICC |
995 | | SPARC_INS_ALIAS_FMOVQLEU, // Real instr.: SPARC_FMOVQ_ICC |
996 | | SPARC_INS_ALIAS_TLEU, // Real instr.: SPARC_TICCrr |
997 | | SPARC_INS_ALIAS_BCC, // Real instr.: SPARC_BCOND |
998 | | SPARC_INS_ALIAS_BCC_A, // Real instr.: SPARC_BCONDA |
999 | | SPARC_INS_ALIAS_BCC_PT, // Real instr.: SPARC_BPICC |
1000 | | SPARC_INS_ALIAS_BCC_A_PT, // Real instr.: SPARC_BPICCA |
1001 | | SPARC_INS_ALIAS_BCC_PN, // Real instr.: SPARC_BPICCNT |
1002 | | SPARC_INS_ALIAS_BCC_A_PN, // Real instr.: SPARC_BPICCANT |
1003 | | SPARC_INS_ALIAS_MOVCC, // Real instr.: SPARC_MOVICCrr |
1004 | | SPARC_INS_ALIAS_FMOVSCC, // Real instr.: SPARC_FMOVS_ICC |
1005 | | SPARC_INS_ALIAS_FMOVDCC, // Real instr.: SPARC_FMOVD_ICC |
1006 | | SPARC_INS_ALIAS_FMOVQCC, // Real instr.: SPARC_FMOVQ_ICC |
1007 | | SPARC_INS_ALIAS_TCC, // Real instr.: SPARC_TICCrr |
1008 | | SPARC_INS_ALIAS_BCS, // Real instr.: SPARC_BCOND |
1009 | | SPARC_INS_ALIAS_BCS_A, // Real instr.: SPARC_BCONDA |
1010 | | SPARC_INS_ALIAS_BCS_PT, // Real instr.: SPARC_BPICC |
1011 | | SPARC_INS_ALIAS_BCS_A_PT, // Real instr.: SPARC_BPICCA |
1012 | | SPARC_INS_ALIAS_BCS_PN, // Real instr.: SPARC_BPICCNT |
1013 | | SPARC_INS_ALIAS_BCS_A_PN, // Real instr.: SPARC_BPICCANT |
1014 | | SPARC_INS_ALIAS_MOVCS, // Real instr.: SPARC_MOVICCrr |
1015 | | SPARC_INS_ALIAS_FMOVSCS, // Real instr.: SPARC_FMOVS_ICC |
1016 | | SPARC_INS_ALIAS_FMOVDCS, // Real instr.: SPARC_FMOVD_ICC |
1017 | | SPARC_INS_ALIAS_FMOVQCS, // Real instr.: SPARC_FMOVQ_ICC |
1018 | | SPARC_INS_ALIAS_TCS, // Real instr.: SPARC_TICCrr |
1019 | | SPARC_INS_ALIAS_BPOS, // Real instr.: SPARC_BCOND |
1020 | | SPARC_INS_ALIAS_BPOS_A, // Real instr.: SPARC_BCONDA |
1021 | | SPARC_INS_ALIAS_BPOS_PT, // Real instr.: SPARC_BPICC |
1022 | | SPARC_INS_ALIAS_BPOS_A_PT, // Real instr.: SPARC_BPICCA |
1023 | | SPARC_INS_ALIAS_BPOS_PN, // Real instr.: SPARC_BPICCNT |
1024 | | SPARC_INS_ALIAS_BPOS_A_PN, // Real instr.: SPARC_BPICCANT |
1025 | | SPARC_INS_ALIAS_MOVPOS, // Real instr.: SPARC_MOVICCrr |
1026 | | SPARC_INS_ALIAS_FMOVSPOS, // Real instr.: SPARC_FMOVS_ICC |
1027 | | SPARC_INS_ALIAS_FMOVDPOS, // Real instr.: SPARC_FMOVD_ICC |
1028 | | SPARC_INS_ALIAS_FMOVQPOS, // Real instr.: SPARC_FMOVQ_ICC |
1029 | | SPARC_INS_ALIAS_TPOS, // Real instr.: SPARC_TICCrr |
1030 | | SPARC_INS_ALIAS_BNEG, // Real instr.: SPARC_BCOND |
1031 | | SPARC_INS_ALIAS_BNEG_A, // Real instr.: SPARC_BCONDA |
1032 | | SPARC_INS_ALIAS_BNEG_PT, // Real instr.: SPARC_BPICC |
1033 | | SPARC_INS_ALIAS_BNEG_A_PT, // Real instr.: SPARC_BPICCA |
1034 | | SPARC_INS_ALIAS_BNEG_PN, // Real instr.: SPARC_BPICCNT |
1035 | | SPARC_INS_ALIAS_BNEG_A_PN, // Real instr.: SPARC_BPICCANT |
1036 | | SPARC_INS_ALIAS_MOVNEG, // Real instr.: SPARC_MOVICCrr |
1037 | | SPARC_INS_ALIAS_FMOVSNEG, // Real instr.: SPARC_FMOVS_ICC |
1038 | | SPARC_INS_ALIAS_FMOVDNEG, // Real instr.: SPARC_FMOVD_ICC |
1039 | | SPARC_INS_ALIAS_FMOVQNEG, // Real instr.: SPARC_FMOVQ_ICC |
1040 | | SPARC_INS_ALIAS_TNEG, // Real instr.: SPARC_TICCrr |
1041 | | SPARC_INS_ALIAS_BVC, // Real instr.: SPARC_BCOND |
1042 | | SPARC_INS_ALIAS_BVC_A, // Real instr.: SPARC_BCONDA |
1043 | | SPARC_INS_ALIAS_BVC_PT, // Real instr.: SPARC_BPICC |
1044 | | SPARC_INS_ALIAS_BVC_A_PT, // Real instr.: SPARC_BPICCA |
1045 | | SPARC_INS_ALIAS_BVC_PN, // Real instr.: SPARC_BPICCNT |
1046 | | SPARC_INS_ALIAS_BVC_A_PN, // Real instr.: SPARC_BPICCANT |
1047 | | SPARC_INS_ALIAS_MOVVC, // Real instr.: SPARC_MOVICCrr |
1048 | | SPARC_INS_ALIAS_FMOVSVC, // Real instr.: SPARC_FMOVS_ICC |
1049 | | SPARC_INS_ALIAS_FMOVDVC, // Real instr.: SPARC_FMOVD_ICC |
1050 | | SPARC_INS_ALIAS_FMOVQVC, // Real instr.: SPARC_FMOVQ_ICC |
1051 | | SPARC_INS_ALIAS_TVC, // Real instr.: SPARC_TICCrr |
1052 | | SPARC_INS_ALIAS_BVS, // Real instr.: SPARC_BCOND |
1053 | | SPARC_INS_ALIAS_BVS_A, // Real instr.: SPARC_BCONDA |
1054 | | SPARC_INS_ALIAS_BVS_PT, // Real instr.: SPARC_BPICC |
1055 | | SPARC_INS_ALIAS_BVS_A_PT, // Real instr.: SPARC_BPICCA |
1056 | | SPARC_INS_ALIAS_BVS_PN, // Real instr.: SPARC_BPICCNT |
1057 | | SPARC_INS_ALIAS_BVS_A_PN, // Real instr.: SPARC_BPICCANT |
1058 | | SPARC_INS_ALIAS_MOVVS, // Real instr.: SPARC_MOVICCrr |
1059 | | SPARC_INS_ALIAS_FMOVSVS, // Real instr.: SPARC_FMOVS_ICC |
1060 | | SPARC_INS_ALIAS_FMOVDVS, // Real instr.: SPARC_FMOVD_ICC |
1061 | | SPARC_INS_ALIAS_FMOVQVS, // Real instr.: SPARC_FMOVQ_ICC |
1062 | | SPARC_INS_ALIAS_TVS, // Real instr.: SPARC_TICCrr |
1063 | | SPARC_INS_ALIAS_FBN, // Real instr.: SPARC_BPFCC |
1064 | | SPARC_INS_ALIAS_FBN_PT, // Real instr.: SPARC_BPFCC |
1065 | | SPARC_INS_ALIAS_FBN_A, // Real instr.: SPARC_BPFCCA |
1066 | | SPARC_INS_ALIAS_FBN_A_PT, // Real instr.: SPARC_BPFCCA |
1067 | | SPARC_INS_ALIAS_FBN_PN, // Real instr.: SPARC_BPFCCNT |
1068 | | SPARC_INS_ALIAS_FBN_A_PN, // Real instr.: SPARC_BPFCCANT |
1069 | | SPARC_INS_ALIAS_FBU, // Real instr.: SPARC_BPFCC |
1070 | | SPARC_INS_ALIAS_FBU_PT, // Real instr.: SPARC_BPFCC |
1071 | | SPARC_INS_ALIAS_FBU_A, // Real instr.: SPARC_BPFCCA |
1072 | | SPARC_INS_ALIAS_FBU_A_PT, // Real instr.: SPARC_BPFCCA |
1073 | | SPARC_INS_ALIAS_FBU_PN, // Real instr.: SPARC_BPFCCNT |
1074 | | SPARC_INS_ALIAS_FBU_A_PN, // Real instr.: SPARC_BPFCCANT |
1075 | | SPARC_INS_ALIAS_MOVU, // Real instr.: SPARC_V9MOVFCCrr |
1076 | | SPARC_INS_ALIAS_FMOVSU, // Real instr.: SPARC_V9FMOVS_FCC |
1077 | | SPARC_INS_ALIAS_FMOVDU, // Real instr.: SPARC_V9FMOVD_FCC |
1078 | | SPARC_INS_ALIAS_FMOVQU, // Real instr.: SPARC_V9FMOVQ_FCC |
1079 | | SPARC_INS_ALIAS_FBG, // Real instr.: SPARC_BPFCC |
1080 | | SPARC_INS_ALIAS_FBG_PT, // Real instr.: SPARC_BPFCC |
1081 | | SPARC_INS_ALIAS_FBG_A, // Real instr.: SPARC_BPFCCA |
1082 | | SPARC_INS_ALIAS_FBG_A_PT, // Real instr.: SPARC_BPFCCA |
1083 | | SPARC_INS_ALIAS_FBG_PN, // Real instr.: SPARC_BPFCCNT |
1084 | | SPARC_INS_ALIAS_FBG_A_PN, // Real instr.: SPARC_BPFCCANT |
1085 | | SPARC_INS_ALIAS_FBUG, // Real instr.: SPARC_BPFCC |
1086 | | SPARC_INS_ALIAS_FBUG_PT, // Real instr.: SPARC_BPFCC |
1087 | | SPARC_INS_ALIAS_FBUG_A, // Real instr.: SPARC_BPFCCA |
1088 | | SPARC_INS_ALIAS_FBUG_A_PT, // Real instr.: SPARC_BPFCCA |
1089 | | SPARC_INS_ALIAS_FBUG_PN, // Real instr.: SPARC_BPFCCNT |
1090 | | SPARC_INS_ALIAS_FBUG_A_PN, // Real instr.: SPARC_BPFCCANT |
1091 | | SPARC_INS_ALIAS_MOVUG, // Real instr.: SPARC_V9MOVFCCrr |
1092 | | SPARC_INS_ALIAS_FMOVSUG, // Real instr.: SPARC_V9FMOVS_FCC |
1093 | | SPARC_INS_ALIAS_FMOVDUG, // Real instr.: SPARC_V9FMOVD_FCC |
1094 | | SPARC_INS_ALIAS_FMOVQUG, // Real instr.: SPARC_V9FMOVQ_FCC |
1095 | | SPARC_INS_ALIAS_FBL, // Real instr.: SPARC_BPFCC |
1096 | | SPARC_INS_ALIAS_FBL_PT, // Real instr.: SPARC_BPFCC |
1097 | | SPARC_INS_ALIAS_FBL_A, // Real instr.: SPARC_BPFCCA |
1098 | | SPARC_INS_ALIAS_FBL_A_PT, // Real instr.: SPARC_BPFCCA |
1099 | | SPARC_INS_ALIAS_FBL_PN, // Real instr.: SPARC_BPFCCNT |
1100 | | SPARC_INS_ALIAS_FBL_A_PN, // Real instr.: SPARC_BPFCCANT |
1101 | | SPARC_INS_ALIAS_FBUL, // Real instr.: SPARC_BPFCC |
1102 | | SPARC_INS_ALIAS_FBUL_PT, // Real instr.: SPARC_BPFCC |
1103 | | SPARC_INS_ALIAS_FBUL_A, // Real instr.: SPARC_BPFCCA |
1104 | | SPARC_INS_ALIAS_FBUL_A_PT, // Real instr.: SPARC_BPFCCA |
1105 | | SPARC_INS_ALIAS_FBUL_PN, // Real instr.: SPARC_BPFCCNT |
1106 | | SPARC_INS_ALIAS_FBUL_A_PN, // Real instr.: SPARC_BPFCCANT |
1107 | | SPARC_INS_ALIAS_MOVUL, // Real instr.: SPARC_V9MOVFCCrr |
1108 | | SPARC_INS_ALIAS_FMOVSUL, // Real instr.: SPARC_V9FMOVS_FCC |
1109 | | SPARC_INS_ALIAS_FMOVDUL, // Real instr.: SPARC_V9FMOVD_FCC |
1110 | | SPARC_INS_ALIAS_FMOVQUL, // Real instr.: SPARC_V9FMOVQ_FCC |
1111 | | SPARC_INS_ALIAS_FBLG, // Real instr.: SPARC_BPFCC |
1112 | | SPARC_INS_ALIAS_FBLG_PT, // Real instr.: SPARC_BPFCC |
1113 | | SPARC_INS_ALIAS_FBLG_A, // Real instr.: SPARC_BPFCCA |
1114 | | SPARC_INS_ALIAS_FBLG_A_PT, // Real instr.: SPARC_BPFCCA |
1115 | | SPARC_INS_ALIAS_FBLG_PN, // Real instr.: SPARC_BPFCCNT |
1116 | | SPARC_INS_ALIAS_FBLG_A_PN, // Real instr.: SPARC_BPFCCANT |
1117 | | SPARC_INS_ALIAS_MOVLG, // Real instr.: SPARC_V9MOVFCCrr |
1118 | | SPARC_INS_ALIAS_FMOVSLG, // Real instr.: SPARC_V9FMOVS_FCC |
1119 | | SPARC_INS_ALIAS_FMOVDLG, // Real instr.: SPARC_V9FMOVD_FCC |
1120 | | SPARC_INS_ALIAS_FMOVQLG, // Real instr.: SPARC_V9FMOVQ_FCC |
1121 | | SPARC_INS_ALIAS_FBNE, // Real instr.: SPARC_BPFCC |
1122 | | SPARC_INS_ALIAS_FBNE_PT, // Real instr.: SPARC_BPFCC |
1123 | | SPARC_INS_ALIAS_FBNE_A, // Real instr.: SPARC_BPFCCA |
1124 | | SPARC_INS_ALIAS_FBNE_A_PT, // Real instr.: SPARC_BPFCCA |
1125 | | SPARC_INS_ALIAS_FBNE_PN, // Real instr.: SPARC_BPFCCNT |
1126 | | SPARC_INS_ALIAS_FBNE_A_PN, // Real instr.: SPARC_BPFCCANT |
1127 | | SPARC_INS_ALIAS_FBE, // Real instr.: SPARC_BPFCC |
1128 | | SPARC_INS_ALIAS_FBE_PT, // Real instr.: SPARC_BPFCC |
1129 | | SPARC_INS_ALIAS_FBE_A, // Real instr.: SPARC_BPFCCA |
1130 | | SPARC_INS_ALIAS_FBE_A_PT, // Real instr.: SPARC_BPFCCA |
1131 | | SPARC_INS_ALIAS_FBE_PN, // Real instr.: SPARC_BPFCCNT |
1132 | | SPARC_INS_ALIAS_FBE_A_PN, // Real instr.: SPARC_BPFCCANT |
1133 | | SPARC_INS_ALIAS_FBUE, // Real instr.: SPARC_BPFCC |
1134 | | SPARC_INS_ALIAS_FBUE_PT, // Real instr.: SPARC_BPFCC |
1135 | | SPARC_INS_ALIAS_FBUE_A, // Real instr.: SPARC_BPFCCA |
1136 | | SPARC_INS_ALIAS_FBUE_A_PT, // Real instr.: SPARC_BPFCCA |
1137 | | SPARC_INS_ALIAS_FBUE_PN, // Real instr.: SPARC_BPFCCNT |
1138 | | SPARC_INS_ALIAS_FBUE_A_PN, // Real instr.: SPARC_BPFCCANT |
1139 | | SPARC_INS_ALIAS_MOVUE, // Real instr.: SPARC_V9MOVFCCrr |
1140 | | SPARC_INS_ALIAS_FMOVSUE, // Real instr.: SPARC_V9FMOVS_FCC |
1141 | | SPARC_INS_ALIAS_FMOVDUE, // Real instr.: SPARC_V9FMOVD_FCC |
1142 | | SPARC_INS_ALIAS_FMOVQUE, // Real instr.: SPARC_V9FMOVQ_FCC |
1143 | | SPARC_INS_ALIAS_FBGE, // Real instr.: SPARC_BPFCC |
1144 | | SPARC_INS_ALIAS_FBGE_PT, // Real instr.: SPARC_BPFCC |
1145 | | SPARC_INS_ALIAS_FBGE_A, // Real instr.: SPARC_BPFCCA |
1146 | | SPARC_INS_ALIAS_FBGE_A_PT, // Real instr.: SPARC_BPFCCA |
1147 | | SPARC_INS_ALIAS_FBGE_PN, // Real instr.: SPARC_BPFCCNT |
1148 | | SPARC_INS_ALIAS_FBGE_A_PN, // Real instr.: SPARC_BPFCCANT |
1149 | | SPARC_INS_ALIAS_FBUGE, // Real instr.: SPARC_BPFCC |
1150 | | SPARC_INS_ALIAS_FBUGE_PT, // Real instr.: SPARC_BPFCC |
1151 | | SPARC_INS_ALIAS_FBUGE_A, // Real instr.: SPARC_BPFCCA |
1152 | | SPARC_INS_ALIAS_FBUGE_A_PT, // Real instr.: SPARC_BPFCCA |
1153 | | SPARC_INS_ALIAS_FBUGE_PN, // Real instr.: SPARC_BPFCCNT |
1154 | | SPARC_INS_ALIAS_FBUGE_A_PN, // Real instr.: SPARC_BPFCCANT |
1155 | | SPARC_INS_ALIAS_MOVUGE, // Real instr.: SPARC_V9MOVFCCrr |
1156 | | SPARC_INS_ALIAS_FMOVSUGE, // Real instr.: SPARC_V9FMOVS_FCC |
1157 | | SPARC_INS_ALIAS_FMOVDUGE, // Real instr.: SPARC_V9FMOVD_FCC |
1158 | | SPARC_INS_ALIAS_FMOVQUGE, // Real instr.: SPARC_V9FMOVQ_FCC |
1159 | | SPARC_INS_ALIAS_FBLE, // Real instr.: SPARC_BPFCC |
1160 | | SPARC_INS_ALIAS_FBLE_PT, // Real instr.: SPARC_BPFCC |
1161 | | SPARC_INS_ALIAS_FBLE_A, // Real instr.: SPARC_BPFCCA |
1162 | | SPARC_INS_ALIAS_FBLE_A_PT, // Real instr.: SPARC_BPFCCA |
1163 | | SPARC_INS_ALIAS_FBLE_PN, // Real instr.: SPARC_BPFCCNT |
1164 | | SPARC_INS_ALIAS_FBLE_A_PN, // Real instr.: SPARC_BPFCCANT |
1165 | | SPARC_INS_ALIAS_FBULE, // Real instr.: SPARC_BPFCC |
1166 | | SPARC_INS_ALIAS_FBULE_PT, // Real instr.: SPARC_BPFCC |
1167 | | SPARC_INS_ALIAS_FBULE_A, // Real instr.: SPARC_BPFCCA |
1168 | | SPARC_INS_ALIAS_FBULE_A_PT, // Real instr.: SPARC_BPFCCA |
1169 | | SPARC_INS_ALIAS_FBULE_PN, // Real instr.: SPARC_BPFCCNT |
1170 | | SPARC_INS_ALIAS_FBULE_A_PN, // Real instr.: SPARC_BPFCCANT |
1171 | | SPARC_INS_ALIAS_MOVULE, // Real instr.: SPARC_V9MOVFCCrr |
1172 | | SPARC_INS_ALIAS_FMOVSULE, // Real instr.: SPARC_V9FMOVS_FCC |
1173 | | SPARC_INS_ALIAS_FMOVDULE, // Real instr.: SPARC_V9FMOVD_FCC |
1174 | | SPARC_INS_ALIAS_FMOVQULE, // Real instr.: SPARC_V9FMOVQ_FCC |
1175 | | SPARC_INS_ALIAS_FBO, // Real instr.: SPARC_BPFCC |
1176 | | SPARC_INS_ALIAS_FBO_PT, // Real instr.: SPARC_BPFCC |
1177 | | SPARC_INS_ALIAS_FBO_A, // Real instr.: SPARC_BPFCCA |
1178 | | SPARC_INS_ALIAS_FBO_A_PT, // Real instr.: SPARC_BPFCCA |
1179 | | SPARC_INS_ALIAS_FBO_PN, // Real instr.: SPARC_BPFCCNT |
1180 | | SPARC_INS_ALIAS_FBO_A_PN, // Real instr.: SPARC_BPFCCANT |
1181 | | SPARC_INS_ALIAS_MOVO, // Real instr.: SPARC_V9MOVFCCrr |
1182 | | SPARC_INS_ALIAS_FMOVSO, // Real instr.: SPARC_V9FMOVS_FCC |
1183 | | SPARC_INS_ALIAS_FMOVDO, // Real instr.: SPARC_V9FMOVD_FCC |
1184 | | SPARC_INS_ALIAS_FMOVQO, // Real instr.: SPARC_V9FMOVQ_FCC |
1185 | | SPARC_INS_ALIAS_BRLEZ, // Real instr.: SPARC_BPR |
1186 | | SPARC_INS_ALIAS_BRLEZ_PT, // Real instr.: SPARC_BPR |
1187 | | SPARC_INS_ALIAS_BRLEZ_PN, // Real instr.: SPARC_BPRNT |
1188 | | SPARC_INS_ALIAS_BRLEZ_A, // Real instr.: SPARC_BPRA |
1189 | | SPARC_INS_ALIAS_BRLEZ_A_PT, // Real instr.: SPARC_BPRA |
1190 | | SPARC_INS_ALIAS_BRLEZ_A_PN, // Real instr.: SPARC_BPRANT |
1191 | | SPARC_INS_ALIAS_MOVRLEZ, // Real instr.: SPARC_MOVRrr |
1192 | | SPARC_INS_ALIAS_FMOVRSLEZ, // Real instr.: SPARC_FMOVRS |
1193 | | SPARC_INS_ALIAS_FMOVRDLEZ, // Real instr.: SPARC_FMOVRD |
1194 | | SPARC_INS_ALIAS_FMOVRQLEZ, // Real instr.: SPARC_FMOVRQ |
1195 | | SPARC_INS_ALIAS_BRLZ, // Real instr.: SPARC_BPR |
1196 | | SPARC_INS_ALIAS_BRLZ_PT, // Real instr.: SPARC_BPR |
1197 | | SPARC_INS_ALIAS_BRLZ_PN, // Real instr.: SPARC_BPRNT |
1198 | | SPARC_INS_ALIAS_BRLZ_A, // Real instr.: SPARC_BPRA |
1199 | | SPARC_INS_ALIAS_BRLZ_A_PT, // Real instr.: SPARC_BPRA |
1200 | | SPARC_INS_ALIAS_BRLZ_A_PN, // Real instr.: SPARC_BPRANT |
1201 | | SPARC_INS_ALIAS_MOVRLZ, // Real instr.: SPARC_MOVRrr |
1202 | | SPARC_INS_ALIAS_FMOVRSLZ, // Real instr.: SPARC_FMOVRS |
1203 | | SPARC_INS_ALIAS_FMOVRDLZ, // Real instr.: SPARC_FMOVRD |
1204 | | SPARC_INS_ALIAS_FMOVRQLZ, // Real instr.: SPARC_FMOVRQ |
1205 | | SPARC_INS_ALIAS_BRNZ, // Real instr.: SPARC_BPR |
1206 | | SPARC_INS_ALIAS_BRNZ_PT, // Real instr.: SPARC_BPR |
1207 | | SPARC_INS_ALIAS_BRNZ_PN, // Real instr.: SPARC_BPRNT |
1208 | | SPARC_INS_ALIAS_BRNZ_A, // Real instr.: SPARC_BPRA |
1209 | | SPARC_INS_ALIAS_BRNZ_A_PT, // Real instr.: SPARC_BPRA |
1210 | | SPARC_INS_ALIAS_BRNZ_A_PN, // Real instr.: SPARC_BPRANT |
1211 | | SPARC_INS_ALIAS_MOVRNZ, // Real instr.: SPARC_MOVRrr |
1212 | | SPARC_INS_ALIAS_FMOVRSNZ, // Real instr.: SPARC_FMOVRS |
1213 | | SPARC_INS_ALIAS_FMOVRDNZ, // Real instr.: SPARC_FMOVRD |
1214 | | SPARC_INS_ALIAS_FMOVRQNZ, // Real instr.: SPARC_FMOVRQ |
1215 | | SPARC_INS_ALIAS_BRGZ, // Real instr.: SPARC_BPR |
1216 | | SPARC_INS_ALIAS_BRGZ_PT, // Real instr.: SPARC_BPR |
1217 | | SPARC_INS_ALIAS_BRGZ_PN, // Real instr.: SPARC_BPRNT |
1218 | | SPARC_INS_ALIAS_BRGZ_A, // Real instr.: SPARC_BPRA |
1219 | | SPARC_INS_ALIAS_BRGZ_A_PT, // Real instr.: SPARC_BPRA |
1220 | | SPARC_INS_ALIAS_BRGZ_A_PN, // Real instr.: SPARC_BPRANT |
1221 | | SPARC_INS_ALIAS_MOVRGZ, // Real instr.: SPARC_MOVRrr |
1222 | | SPARC_INS_ALIAS_FMOVRSGZ, // Real instr.: SPARC_FMOVRS |
1223 | | SPARC_INS_ALIAS_FMOVRDGZ, // Real instr.: SPARC_FMOVRD |
1224 | | SPARC_INS_ALIAS_FMOVRQGZ, // Real instr.: SPARC_FMOVRQ |
1225 | | SPARC_INS_ALIAS_BRGEZ, // Real instr.: SPARC_BPR |
1226 | | SPARC_INS_ALIAS_BRGEZ_PT, // Real instr.: SPARC_BPR |
1227 | | SPARC_INS_ALIAS_BRGEZ_PN, // Real instr.: SPARC_BPRNT |
1228 | | SPARC_INS_ALIAS_BRGEZ_A, // Real instr.: SPARC_BPRA |
1229 | | SPARC_INS_ALIAS_BRGEZ_A_PT, // Real instr.: SPARC_BPRA |
1230 | | SPARC_INS_ALIAS_BRGEZ_A_PN, // Real instr.: SPARC_BPRANT |
1231 | | SPARC_INS_ALIAS_MOVRGEZ, // Real instr.: SPARC_MOVRrr |
1232 | | SPARC_INS_ALIAS_FMOVRSGEZ, // Real instr.: SPARC_FMOVRS |
1233 | | SPARC_INS_ALIAS_FMOVRDGEZ, // Real instr.: SPARC_FMOVRD |
1234 | | SPARC_INS_ALIAS_FMOVRQGEZ, // Real instr.: SPARC_FMOVRQ |
1235 | | SPARC_INS_ALIAS_CMP, // Real instr.: SPARC_SUBCCrr |
1236 | | SPARC_INS_ALIAS_TST, // Real instr.: SPARC_ORCCrr |
1237 | | SPARC_INS_ALIAS_RET, // Real instr.: SPARC_RET |
1238 | | SPARC_INS_ALIAS_RETL, // Real instr.: SPARC_RETL |
1239 | | SPARC_INS_ALIAS_RESTORE, // Real instr.: SPARC_RESTORErr |
1240 | | SPARC_INS_ALIAS_SAVE, // Real instr.: SPARC_SAVErr |
1241 | | SPARC_INS_ALIAS_CAS, // Real instr.: SPARC_CASArr |
1242 | | SPARC_INS_ALIAS_CASL, // Real instr.: SPARC_CASArr |
1243 | | SPARC_INS_ALIAS_CASX, // Real instr.: SPARC_CASXArr |
1244 | | SPARC_INS_ALIAS_CASXL, // Real instr.: SPARC_CASXArr |
1245 | | SPARC_INS_ALIAS_MOV, // Real instr.: SPARC_ORrr |
1246 | | SPARC_INS_ALIAS_FCMPS, // Real instr.: SPARC_V9FCMPS |
1247 | | SPARC_INS_ALIAS_FCMPD, // Real instr.: SPARC_V9FCMPD |
1248 | | SPARC_INS_ALIAS_FCMPQ, // Real instr.: SPARC_V9FCMPQ |
1249 | | SPARC_INS_ALIAS_FCMPES, // Real instr.: SPARC_V9FCMPES |
1250 | | SPARC_INS_ALIAS_FCMPED, // Real instr.: SPARC_V9FCMPED |
1251 | | SPARC_INS_ALIAS_FCMPEQ, // Real instr.: SPARC_V9FCMPEQ |
1252 | | |
1253 | | // clang-format on |
1254 | | // generated content <SparcGenCSAliasEnum.inc> end |
1255 | | |
1256 | | SPARC_INS_ALIAS_CALL, // Real instr.: SPARC_INS_JMPL |
1257 | | |
1258 | | SPARC_INS_ALIAS_END, |
1259 | | } sparc_insn; |
1260 | | |
1261 | | /// Group of SPARC instructions |
1262 | | typedef enum sparc_insn_group { |
1263 | | // Generic groups |
1264 | | // all jump instructions (conditional+direct+indirect jumps) |
1265 | | SPARC_GRP_INVALID = 0, ///< = CS_GRP_INVALID = 0 |
1266 | | SPARC_GRP_JUMP, ///< = CS_GRP_JUMP |
1267 | | SPARC_GRP_CALL, ///< = CS_GRP_CALL |
1268 | | SPARC_GRP_RET, ///< = CS_GRP_RET |
1269 | | SPARC_GRP_INT, ///< = CS_GRP_INT |
1270 | | SPARC_GRP_IRET, ///< = CS_GRP_IRET |
1271 | | SPARC_GRP_PRIVILEGE, ///< = CS_GRP_PRIVILEGE |
1272 | | SPARC_GRP_BRANCH_RELATIVE, ///< = CS_GRP_BRANCH_RELATIVE |
1273 | | |
1274 | | // Architecture-specific groups |
1275 | | // generated content <SparcGenCSFeatureEnum.inc> begin |
1276 | | // clang-format off |
1277 | | |
1278 | | SPARC_FEATURE_IS64BIT = 128, |
1279 | | SPARC_FEATURE_USESOFTMULDIV, |
1280 | | SPARC_FEATURE_HASV9, |
1281 | | SPARC_FEATURE_HASVIS, |
1282 | | SPARC_FEATURE_HASVIS2, |
1283 | | SPARC_FEATURE_HASVIS3, |
1284 | | SPARC_FEATURE_HASCASA, |
1285 | | SPARC_FEATURE_HASPWRPSR, |
1286 | | |
1287 | | // clang-format on |
1288 | | // generated content <SparcGenCSFeatureEnum.inc> end |
1289 | | |
1290 | | SPARC_GRP_ENDING, // <-- mark the end of the list of groups |
1291 | | } sparc_insn_group; |
1292 | | |
1293 | | #ifdef __cplusplus |
1294 | | } |
1295 | | #endif |
1296 | | |
1297 | | #endif |