ARMBaseInfo.h
Go to the documentation of this file.
1 //===-- ARMBaseInfo.h - Top level definitions for ARM -------- --*- C++ -*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // This file contains small standalone helper functions and enum definitions for
11 // the ARM target useful for the compiler back-end and the MC libraries.
12 // As such, it deliberately does not include references to LLVM core
13 // code gen types, passes, etc..
14 //
15 //===----------------------------------------------------------------------===//
16 
17 /* Capstone Disassembly Engine */
18 /* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2015 */
19 
20 #ifndef CS_ARMBASEINFO_H
21 #define CS_ARMBASEINFO_H
22 
23 #include "capstone/arm.h"
24 
25 // Defines symbolic names for ARM registers. This defines a mapping from
26 // register name to register number.
27 //
28 #define GET_REGINFO_ENUM
29 #include "ARMGenRegisterInfo.inc"
30 
31 // Enums corresponding to ARM condition codes
32 // The CondCodes constants map directly to the 4-bit encoding of the
33 // condition field for predicated instructions.
34 typedef enum ARMCC_CondCodes { // Meaning (integer) Meaning (floating-point)
35  ARMCC_EQ, // Equal Equal
36  ARMCC_NE, // Not equal Not equal, or unordered
37  ARMCC_HS, // Carry set >, ==, or unordered
38  ARMCC_LO, // Carry clear Less than
39  ARMCC_MI, // Minus, negative Less than
40  ARMCC_PL, // Plus, positive or zero >, ==, or unordered
41  ARMCC_VS, // Overflow Unordered
42  ARMCC_VC, // No overflow Not unordered
43  ARMCC_HI, // Unsigned higher Greater than, or unordered
44  ARMCC_LS, // Unsigned lower or same Less than or equal
45  ARMCC_GE, // Greater than or equal Greater than or equal
46  ARMCC_LT, // Less than Less than, or unordered
47  ARMCC_GT, // Greater than Greater than
48  ARMCC_LE, // Less than or equal <, ==, or unordered
49  ARMCC_AL // Always (unconditional) Always (unconditional)
51 
53 {
54  switch (CC) {
55  case ARMCC_EQ: return ARMCC_NE;
56  case ARMCC_NE: return ARMCC_EQ;
57  case ARMCC_HS: return ARMCC_LO;
58  case ARMCC_LO: return ARMCC_HS;
59  case ARMCC_MI: return ARMCC_PL;
60  case ARMCC_PL: return ARMCC_MI;
61  case ARMCC_VS: return ARMCC_VC;
62  case ARMCC_VC: return ARMCC_VS;
63  case ARMCC_HI: return ARMCC_LS;
64  case ARMCC_LS: return ARMCC_HI;
65  case ARMCC_GE: return ARMCC_LT;
66  case ARMCC_LT: return ARMCC_GE;
67  case ARMCC_GT: return ARMCC_LE;
68  case ARMCC_LE: return ARMCC_GT;
69  default: return ARMCC_AL;
70  }
71 }
72 
73 inline static const char *ARMCC_ARMCondCodeToString(ARMCC_CondCodes CC)
74 {
75  switch (CC) {
76  case ARMCC_EQ: return "eq";
77  case ARMCC_NE: return "ne";
78  case ARMCC_HS: return "hs";
79  case ARMCC_LO: return "lo";
80  case ARMCC_MI: return "mi";
81  case ARMCC_PL: return "pl";
82  case ARMCC_VS: return "vs";
83  case ARMCC_VC: return "vc";
84  case ARMCC_HI: return "hi";
85  case ARMCC_LS: return "ls";
86  case ARMCC_GE: return "ge";
87  case ARMCC_LT: return "lt";
88  case ARMCC_GT: return "gt";
89  case ARMCC_LE: return "le";
90  case ARMCC_AL: return "al";
91  default: return "";
92  }
93 }
94 
95 inline static const char *ARM_PROC_IFlagsToString(unsigned val)
96 {
97  switch (val) {
98  case ARM_CPSFLAG_F: return "f";
99  case ARM_CPSFLAG_I: return "i";
100  case ARM_CPSFLAG_A: return "a";
101  default: return "";
102  }
103 }
104 
105 inline static const char *ARM_PROC_IModToString(unsigned val)
106 {
107  switch (val) {
108  case ARM_CPSMODE_IE: return "ie";
109  case ARM_CPSMODE_ID: return "id";
110  default: return "";
111  }
112 }
113 
114 inline static const char *ARM_MB_MemBOptToString(unsigned val, bool HasV8)
115 {
116  switch (val) {
117  default: return "BUGBUG";
118  case ARM_MB_SY: return "sy";
119  case ARM_MB_ST: return "st";
120  case ARM_MB_LD: return HasV8 ? "ld" : "#0xd";
121  case ARM_MB_RESERVED_12: return "#0xc";
122  case ARM_MB_ISH: return "ish";
123  case ARM_MB_ISHST: return "ishst";
124  case ARM_MB_ISHLD: return HasV8 ? "ishld" : "#0x9";
125  case ARM_MB_RESERVED_8: return "#0x8";
126  case ARM_MB_NSH: return "nsh";
127  case ARM_MB_NSHST: return "nshst";
128  case ARM_MB_NSHLD: return HasV8 ? "nshld" : "#0x5";
129  case ARM_MB_RESERVED_4: return "#0x4";
130  case ARM_MB_OSH: return "osh";
131  case ARM_MB_OSHST: return "oshst";
132  case ARM_MB_OSHLD: return HasV8 ? "oshld" : "#0x1";
133  case ARM_MB_RESERVED_0: return "#0x0";
134  }
135 }
136 
154 };
155 
156 inline static const char *ARM_ISB_InstSyncBOptToString(unsigned val)
157 {
158  switch (val) {
159  default: // never reach
160  case ARM_ISB_RESERVED_0: return "#0x0";
161  case ARM_ISB_RESERVED_1: return "#0x1";
162  case ARM_ISB_RESERVED_2: return "#0x2";
163  case ARM_ISB_RESERVED_3: return "#0x3";
164  case ARM_ISB_RESERVED_4: return "#0x4";
165  case ARM_ISB_RESERVED_5: return "#0x5";
166  case ARM_ISB_RESERVED_6: return "#0x6";
167  case ARM_ISB_RESERVED_7: return "#0x7";
168  case ARM_ISB_RESERVED_8: return "#0x8";
169  case ARM_ISB_RESERVED_9: return "#0x9";
170  case ARM_ISB_RESERVED_10: return "#0xa";
171  case ARM_ISB_RESERVED_11: return "#0xb";
172  case ARM_ISB_RESERVED_12: return "#0xc";
173  case ARM_ISB_RESERVED_13: return "#0xd";
174  case ARM_ISB_RESERVED_14: return "#0xe";
175  case ARM_ISB_SY: return "sy";
176  }
177 }
178 
181 static inline bool isARMLowRegister(unsigned Reg)
182 {
183  //using namespace ARM;
184  switch (Reg) {
185  case ARM_R0: case ARM_R1: case ARM_R2: case ARM_R3:
186  case ARM_R4: case ARM_R5: case ARM_R6: case ARM_R7:
187  return true;
188  default:
189  return false;
190  }
191 }
192 
202 };
203 
205 typedef enum ARMII_AddrMode {
216  ARMII_AddrModeT1_s = 10, // i8 * 4 for pc and sp relative data
220  ARMII_AddrModeT2_pc = 14, // +/- i12 for pc relative data
221  ARMII_AddrModeT2_i8s4 = 15, // i8 * 4
224 
225 inline static const char *ARMII_AddrModeToString(ARMII_AddrMode addrmode)
226 {
227  switch (addrmode) {
228  case ARMII_AddrModeNone: return "AddrModeNone";
229  case ARMII_AddrMode1: return "AddrMode1";
230  case ARMII_AddrMode2: return "AddrMode2";
231  case ARMII_AddrMode3: return "AddrMode3";
232  case ARMII_AddrMode4: return "AddrMode4";
233  case ARMII_AddrMode5: return "AddrMode5";
234  case ARMII_AddrMode6: return "AddrMode6";
235  case ARMII_AddrModeT1_1: return "AddrModeT1_1";
236  case ARMII_AddrModeT1_2: return "AddrModeT1_2";
237  case ARMII_AddrModeT1_4: return "AddrModeT1_4";
238  case ARMII_AddrModeT1_s: return "AddrModeT1_s";
239  case ARMII_AddrModeT2_i12: return "AddrModeT2_i12";
240  case ARMII_AddrModeT2_i8: return "AddrModeT2_i8";
241  case ARMII_AddrModeT2_so: return "AddrModeT2_so";
242  case ARMII_AddrModeT2_pc: return "AddrModeT2_pc";
243  case ARMII_AddrModeT2_i8s4: return "AddrModeT2_i8s4";
244  case ARMII_AddrMode_i12: return "AddrMode_i12";
245  }
246 }
247 
249 enum ARMII_TOF {
250  //===------------------------------------------------------------------===//
251  // ARM Specific MachineOperand flags.
252 
254 
258 
262 
268 
273 
279 
285 
289 };
290 
291 enum {
292  //===------------------------------------------------------------------===//
293  // Instruction Flags.
294 
295  //===------------------------------------------------------------------===//
296  // This four-bit field describes the addressing mode used.
297  ARMII_AddrModeMask = 0x1f, // The AddrMode enums are declared in ARMBaseInfo.h
298 
299  // IndexMode - Unindex, pre-indexed, or post-indexed are valid for load
300  // and store ops only. Generic "updating" flag is used for ld/st multiple.
301  // The index mode enums are declared in ARMBaseInfo.h
304 
305  //===------------------------------------------------------------------===//
306  // Instruction encoding formats.
307  //
310 
311  // Pseudo instructions
313 
314  // Multiply instructions
316 
317  // Branch instructions
320 
321  // Data Processing instructions
324 
325  // Load and Store
331 
333 
334  // Miscellaneous arithmetic instructions
337 
338  // Extend instructions
340 
341  // VFP formats
352 
353  // Thumb format
355 
356  // Miscelleaneous format
358 
359  // NEON formats
375 
376  //===------------------------------------------------------------------===//
377  // Misc flags.
378 
379  // UnaryDP - Indicates this is a unary data processing instruction, i.e.
380  // it doesn't have a Rn operand.
381  ARMII_UnaryDP = 1 << 13,
382 
383  // Xform16Bit - Indicates this Thumb2 instruction may be transformed into
384  // a 16-bit Thumb instruction if certain conditions are met.
385  ARMII_Xform16Bit = 1 << 14,
386 
387  // ThumbArithFlagSetting - The instruction is a 16-bit flag setting Thumb
388  // instruction. Used by the parser to determine whether to require the 'S'
389  // suffix on the mnemonic (when not in an IT block) or preclude it (when
390  // in an IT block).
392 
393  //===------------------------------------------------------------------===//
394  // Code domain.
401 
402  //===------------------------------------------------------------------===//
403  // Field shifts - such shifts are used to set field while generating
404  // machine instructions.
405  //
406  // FIXME: This list will need adjusting/fixing as the MC code emitter
407  // takes shape and the ARMCodeEmitter.cpp bits go away.
409 
430 };
431 
432 #endif
ARMII_M_BitShift
@ ARMII_M_BitShift
Definition: ARMBaseInfo.h:410
ARMII_UnaryDP
@ ARMII_UnaryDP
Definition: ARMBaseInfo.h:381
ARM_ISB_RESERVED_11
@ ARM_ISB_RESERVED_11
Definition: ARMBaseInfo.h:149
ARMII_MulFrm
@ ARMII_MulFrm
Definition: ARMBaseInfo.h:315
ARMII_BrFrm
@ ARMII_BrFrm
Definition: ARMBaseInfo.h:318
ARMII_Xform16Bit
@ ARMII_Xform16Bit
Definition: ARMBaseInfo.h:385
ARM_CPSFLAG_I
@ ARM_CPSFLAG_I
Definition: arm.h:190
ARM_MB_OSHST
@ ARM_MB_OSHST
Definition: arm.h:144
ARMII_MiscFrm
@ ARMII_MiscFrm
Definition: ARMBaseInfo.h:357
ARMII_N_BitShift
@ ARMII_N_BitShift
Definition: ARMBaseInfo.h:413
ARMII_NGetLnFrm
@ ARMII_NGetLnFrm
Definition: ARMBaseInfo.h:360
ARMII_AddrMode1
@ ARMII_AddrMode1
Definition: ARMBaseInfo.h:207
ARMII_CondShift
@ ARMII_CondShift
Definition: ARMBaseInfo.h:429
ARM_MB_RESERVED_4
@ ARM_MB_RESERVED_4
Definition: arm.h:146
ARM_MB_MemBOptToString
static const char * ARM_MB_MemBOptToString(unsigned val, bool HasV8)
Definition: ARMBaseInfo.h:114
ARM_MB_ISHLD
@ ARM_MB_ISHLD
Definition: arm.h:151
ARM_ISB_RESERVED_9
@ ARM_ISB_RESERVED_9
Definition: ARMBaseInfo.h:147
ARMII_U_BitShift
@ ARMII_U_BitShift
Definition: ARMBaseInfo.h:426
ARMII_AM3_I_BitShift
@ ARMII_AM3_I_BitShift
Definition: ARMBaseInfo.h:424
ARMCC_AL
@ ARMCC_AL
Definition: ARMBaseInfo.h:49
ARMII_AddrModeT1_1
@ ARMII_AddrModeT1_1
Definition: ARMBaseInfo.h:213
ARMII_StFrm
@ ARMII_StFrm
Definition: ARMBaseInfo.h:327
ARM_MB_NSH
@ ARM_MB_NSH
Definition: arm.h:149
ARMII_TOF
ARMII_TOF
Target Operand Flag enum.
Definition: ARMBaseInfo.h:249
ARM_MB_RESERVED_8
@ ARM_MB_RESERVED_8
Definition: arm.h:150
ARMII_AddrMode_i12
@ ARMII_AddrMode_i12
Definition: ARMBaseInfo.h:222
ARMII_DomainShift
@ ARMII_DomainShift
Definition: ARMBaseInfo.h:395
ARMII_N2RegVShLFrm
@ ARMII_N2RegVShLFrm
Definition: ARMBaseInfo.h:368
ARMCC_CondCodes
ARMCC_CondCodes
Definition: ARMBaseInfo.h:34
ARMII_ThumbArithFlagSetting
@ ARMII_ThumbArithFlagSetting
Definition: ARMBaseInfo.h:391
ARMII_DomainNEON
@ ARMII_DomainNEON
Definition: ARMBaseInfo.h:399
ARM_ISB_RESERVED_13
@ ARM_ISB_RESERVED_13
Definition: ARMBaseInfo.h:151
ARMII_N2RegFrm
@ ARMII_N2RegFrm
Definition: ARMBaseInfo.h:365
ARMII_VFPBinaryFrm
@ ARMII_VFPBinaryFrm
Definition: ARMBaseInfo.h:343
ARMII_ExtRotImmShift
@ ARMII_ExtRotImmShift
Definition: ARMBaseInfo.h:417
ARMII_NSetLnFrm
@ ARMII_NSetLnFrm
Definition: ARMBaseInfo.h:361
ARMII_NVTBLFrm
@ ARMII_NVTBLFrm
Definition: ARMBaseInfo.h:374
ARMII_IndexModePre
@ ARMII_IndexModePre
Definition: ARMBaseInfo.h:199
ARMCC_VC
@ ARMCC_VC
Definition: ARMBaseInfo.h:42
ARMCC_GT
@ ARMCC_GT
Definition: ARMBaseInfo.h:47
ARMII_NDupFrm
@ ARMII_NDupFrm
Definition: ARMBaseInfo.h:362
ARMII_LdStExFrm
@ ARMII_LdStExFrm
Definition: ARMBaseInfo.h:332
ARM_ISB_RESERVED_8
@ ARM_ISB_RESERVED_8
Definition: ARMBaseInfo.h:146
ARMII_N2RegVShRFrm
@ ARMII_N2RegVShRFrm
Definition: ARMBaseInfo.h:369
ARM_CPSFLAG_A
@ ARM_CPSFLAG_A
Definition: arm.h:191
ARMII_P_BitShift
@ ARMII_P_BitShift
Definition: ARMBaseInfo.h:427
ARMII_MO_NO_FLAG
@ ARMII_MO_NO_FLAG
Definition: ARMBaseInfo.h:253
ARMII_VFPConv5Frm
@ ARMII_VFPConv5Frm
Definition: ARMBaseInfo.h:348
ARMII_SatFrm
@ ARMII_SatFrm
Definition: ARMBaseInfo.h:336
ARMCC_LO
@ ARMCC_LO
Definition: ARMBaseInfo.h:38
ARMII_NLdStFrm
@ ARMII_NLdStFrm
Definition: ARMBaseInfo.h:363
ARM_MB_ISH
@ ARM_MB_ISH
Definition: arm.h:153
ARMII_AddrModeT2_i8
@ ARMII_AddrModeT2_i8
Definition: ARMBaseInfo.h:218
ARM_PROC_IFlagsToString
static const char * ARM_PROC_IFlagsToString(unsigned val)
Definition: ARMBaseInfo.h:95
ARMCC_PL
@ ARMCC_PL
Definition: ARMBaseInfo.h:40
ARM_MB_NSHST
@ ARM_MB_NSHST
Definition: arm.h:148
ARMII_DomainGeneral
@ ARMII_DomainGeneral
Definition: ARMBaseInfo.h:397
ARMII_IndexModeMask
@ ARMII_IndexModeMask
Definition: ARMBaseInfo.h:303
ARMII_BrMiscFrm
@ ARMII_BrMiscFrm
Definition: ARMBaseInfo.h:319
ARMII_MO_PLT
@ ARMII_MO_PLT
Definition: ARMBaseInfo.h:288
ARMCC_LE
@ ARMCC_LE
Definition: ARMBaseInfo.h:48
ARMII_AddrMode6
@ ARMII_AddrMode6
Definition: ARMBaseInfo.h:212
ARMCC_EQ
@ ARMCC_EQ
Definition: ARMBaseInfo.h:35
ARMCC_getOppositeCondition
static ARMCC_CondCodes ARMCC_getOppositeCondition(ARMCC_CondCodes CC)
Definition: ARMBaseInfo.h:52
ARMCC_HS
@ ARMCC_HS
Definition: ARMBaseInfo.h:37
ARMII_NVMulSLFrm
@ ARMII_NVMulSLFrm
Definition: ARMBaseInfo.h:373
ARM_ISB_InstSyncBOptToString
static const char * ARM_ISB_InstSyncBOptToString(unsigned val)
Definition: ARMBaseInfo.h:156
ARMII_AddrMode3
@ ARMII_AddrMode3
Definition: ARMBaseInfo.h:209
ARMII_W_BitShift
@ ARMII_W_BitShift
Definition: ARMBaseInfo.h:423
ARMII_IndexModeNone
@ ARMII_IndexModeNone
Definition: ARMBaseInfo.h:198
ARMCC_VS
@ ARMCC_VS
Definition: ARMBaseInfo.h:41
ARMII_VFPConv4Frm
@ ARMII_VFPConv4Frm
Definition: ARMBaseInfo.h:347
ARMII_RegRsShift
@ ARMII_RegRsShift
Definition: ARMBaseInfo.h:416
ARM_ISB_RESERVED_10
@ ARM_ISB_RESERVED_10
Definition: ARMBaseInfo.h:148
ARM_CPSMODE_ID
@ ARM_CPSMODE_ID
Definition: arm.h:183
ARMII_MO_LO16
@ ARMII_MO_LO16
Definition: ARMBaseInfo.h:257
ARM_ISB_RESERVED_12
@ ARM_ISB_RESERVED_12
Definition: ARMBaseInfo.h:150
ARMII_AddrMode5
@ ARMII_AddrMode5
Definition: ARMBaseInfo.h:211
ARMII_N1RegModImmFrm
@ ARMII_N1RegModImmFrm
Definition: ARMBaseInfo.h:364
ARMII_DPSoRegFrm
@ ARMII_DPSoRegFrm
Definition: ARMBaseInfo.h:323
ARMII_VFPConv1Frm
@ ARMII_VFPConv1Frm
Definition: ARMBaseInfo.h:344
ARMII_ImmHiShift
@ ARMII_ImmHiShift
Definition: ARMBaseInfo.h:414
ARMCC_LS
@ ARMCC_LS
Definition: ARMBaseInfo.h:44
ARM_ISB_InstSyncBOpt
ARM_ISB_InstSyncBOpt
Definition: ARMBaseInfo.h:137
ARMII_N3RegFrm
@ ARMII_N3RegFrm
Definition: ARMBaseInfo.h:370
ARMII_LdFrm
@ ARMII_LdFrm
Definition: ARMBaseInfo.h:326
ARMCC_GE
@ ARMCC_GE
Definition: ARMBaseInfo.h:45
ARMII_VFPLdStFrm
@ ARMII_VFPLdStFrm
Definition: ARMBaseInfo.h:349
ARMII_MO_LO16_NONLAZY
@ ARMII_MO_LO16_NONLAZY
Definition: ARMBaseInfo.h:267
ARMII_MO_HI16
@ ARMII_MO_HI16
Definition: ARMBaseInfo.h:261
ARM_MB_OSH
@ ARM_MB_OSH
Definition: arm.h:145
ARM_ISB_RESERVED_4
@ ARM_ISB_RESERVED_4
Definition: ARMBaseInfo.h:142
ARM_MB_SY
@ ARM_MB_SY
Definition: arm.h:157
ARMII_AddrModeT1_s
@ ARMII_AddrModeT1_s
Definition: ARMBaseInfo.h:216
ARMCC_MI
@ ARMCC_MI
Definition: ARMBaseInfo.h:39
ARMII_VFPUnaryFrm
@ ARMII_VFPUnaryFrm
Definition: ARMBaseInfo.h:342
ARMII_NVDupLnFrm
@ ARMII_NVDupLnFrm
Definition: ARMBaseInfo.h:367
ARM_ISB_SY
@ ARM_ISB_SY
Definition: ARMBaseInfo.h:153
ARMII_N3RegVShFrm
@ ARMII_N3RegVShFrm
Definition: ARMBaseInfo.h:371
ARM_PROC_IModToString
static const char * ARM_PROC_IModToString(unsigned val)
Definition: ARMBaseInfo.h:105
ARMII_ArithMiscFrm
@ ARMII_ArithMiscFrm
Definition: ARMBaseInfo.h:335
ARMII_IndexModePost
@ ARMII_IndexModePost
Definition: ARMBaseInfo.h:200
ARMII_FormShift
@ ARMII_FormShift
Definition: ARMBaseInfo.h:308
ARM_ISB_RESERVED_6
@ ARM_ISB_RESERVED_6
Definition: ARMBaseInfo.h:144
ARMII_NVExtFrm
@ ARMII_NVExtFrm
Definition: ARMBaseInfo.h:372
ARM_MB_NSHLD
@ ARM_MB_NSHLD
Definition: arm.h:147
ARMII_DomainNEONA8
@ ARMII_DomainNEONA8
Definition: ARMBaseInfo.h:400
ARMII_NVCVTFrm
@ ARMII_NVCVTFrm
Definition: ARMBaseInfo.h:366
isARMLowRegister
static bool isARMLowRegister(unsigned Reg)
Definition: ARMBaseInfo.h:181
ARMII_AddrModeT1_4
@ ARMII_AddrModeT1_4
Definition: ARMBaseInfo.h:215
ARMII_DomainMask
@ ARMII_DomainMask
Definition: ARMBaseInfo.h:396
ARMII_MO_HI16_NONLAZY_PIC
@ ARMII_MO_HI16_NONLAZY_PIC
Definition: ARMBaseInfo.h:284
ARMII_LdMiscFrm
@ ARMII_LdMiscFrm
Definition: ARMBaseInfo.h:328
ARM_ISB_RESERVED_2
@ ARM_ISB_RESERVED_2
Definition: ARMBaseInfo.h:140
ARMII_RegRdLoShift
@ ARMII_RegRdLoShift
Definition: ARMBaseInfo.h:418
ARMII_MO_LO16_NONLAZY_PIC
@ ARMII_MO_LO16_NONLAZY_PIC
Definition: ARMBaseInfo.h:278
ARMII_AddrModeMask
@ ARMII_AddrModeMask
Definition: ARMBaseInfo.h:297
ARMII_LdStMulFrm
@ ARMII_LdStMulFrm
Definition: ARMBaseInfo.h:330
ARMII_S_BitShift
@ ARMII_S_BitShift
Definition: ARMBaseInfo.h:422
ARMII_ExtFrm
@ ARMII_ExtFrm
Definition: ARMBaseInfo.h:339
ARMCC_NE
@ ARMCC_NE
Definition: ARMBaseInfo.h:36
ARMII_AddrModeT1_2
@ ARMII_AddrModeT1_2
Definition: ARMBaseInfo.h:214
ARM_ISB_RESERVED_7
@ ARM_ISB_RESERVED_7
Definition: ARMBaseInfo.h:145
ARMII_FormMask
@ ARMII_FormMask
Definition: ARMBaseInfo.h:309
ARMII_IndexModeShift
@ ARMII_IndexModeShift
Definition: ARMBaseInfo.h:302
ARM_ISB_RESERVED_0
@ ARM_ISB_RESERVED_0
Definition: ARMBaseInfo.h:138
ARMII_VFPLdStMulFrm
@ ARMII_VFPLdStMulFrm
Definition: ARMBaseInfo.h:350
ARMII_AddrModeT2_so
@ ARMII_AddrModeT2_so
Definition: ARMBaseInfo.h:219
ARM_CPSMODE_IE
@ ARM_CPSMODE_IE
Definition: arm.h:182
ARMII_VFPMiscFrm
@ ARMII_VFPMiscFrm
Definition: ARMBaseInfo.h:351
ARMII_StMiscFrm
@ ARMII_StMiscFrm
Definition: ARMBaseInfo.h:329
absl::str_format_internal::CC
FormatConversionCharInternal CC
Definition: third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc:34
ARM_CPSFLAG_F
@ ARM_CPSFLAG_F
Definition: arm.h:189
ARM_ISB_RESERVED_5
@ ARM_ISB_RESERVED_5
Definition: ARMBaseInfo.h:143
ARMII_AddrMode
ARMII_AddrMode
ARM Addressing Modes.
Definition: ARMBaseInfo.h:205
ARMCC_ARMCondCodeToString
static const char * ARMCC_ARMCondCodeToString(ARMCC_CondCodes CC)
Definition: ARMBaseInfo.h:73
ARMII_DPFrm
@ ARMII_DPFrm
Definition: ARMBaseInfo.h:322
ARMII_VFPConv2Frm
@ ARMII_VFPConv2Frm
Definition: ARMBaseInfo.h:345
ARMII_AddrModeT2_pc
@ ARMII_AddrModeT2_pc
Definition: ARMBaseInfo.h:220
ARM_ISB_RESERVED_3
@ ARM_ISB_RESERVED_3
Definition: ARMBaseInfo.h:141
ARM_MB_RESERVED_12
@ ARM_MB_RESERVED_12
Definition: arm.h:154
ARMCC_HI
@ ARMCC_HI
Definition: ARMBaseInfo.h:43
ARMII_AddrModeNone
@ ARMII_AddrModeNone
Definition: ARMBaseInfo.h:206
ARM_MB_ST
@ ARM_MB_ST
Definition: arm.h:156
ARMII_ShiftShift
@ ARMII_ShiftShift
Definition: ARMBaseInfo.h:412
ARMII_AddrModeT2_i12
@ ARMII_AddrModeT2_i12
Definition: ARMBaseInfo.h:217
ARMII_MO_HI16_NONLAZY
@ ARMII_MO_HI16_NONLAZY
Definition: ARMBaseInfo.h:272
ARMII_Pseudo
@ ARMII_Pseudo
Definition: ARMBaseInfo.h:312
ARMII_I_BitShift
@ ARMII_I_BitShift
Definition: ARMBaseInfo.h:428
ARMII_VFPConv3Frm
@ ARMII_VFPConv3Frm
Definition: ARMBaseInfo.h:346
Reg
Reg
Definition: X86DisassemblerDecoder.h:466
ARMII_AddrModeToString
static const char * ARMII_AddrModeToString(ARMII_AddrMode addrmode)
Definition: ARMBaseInfo.h:225
ARMII_AddrMode2
@ ARMII_AddrMode2
Definition: ARMBaseInfo.h:208
ARMII_AddrMode4
@ ARMII_AddrMode4
Definition: ARMBaseInfo.h:210
arm.h
ARM_ISB_RESERVED_14
@ ARM_ISB_RESERVED_14
Definition: ARMBaseInfo.h:152
ARMII_ShiftTypeShift
@ ARMII_ShiftTypeShift
Definition: ARMBaseInfo.h:408
ARMII_RegRnShift
@ ARMII_RegRnShift
Definition: ARMBaseInfo.h:421
ARM_MB_RESERVED_0
@ ARM_MB_RESERVED_0
Definition: arm.h:142
ARMII_RegRdShift
@ ARMII_RegRdShift
Definition: ARMBaseInfo.h:419
ARMII_IndexModeUpd
@ ARMII_IndexModeUpd
Definition: ARMBaseInfo.h:201
ARMII_DomainVFP
@ ARMII_DomainVFP
Definition: ARMBaseInfo.h:398
ARMII_SoRotImmShift
@ ARMII_SoRotImmShift
Definition: ARMBaseInfo.h:415
ARMII_ThumbFrm
@ ARMII_ThumbFrm
Definition: ARMBaseInfo.h:354
ARMII_AddrModeT2_i8s4
@ ARMII_AddrModeT2_i8s4
Definition: ARMBaseInfo.h:221
ARM_MB_LD
@ ARM_MB_LD
Definition: arm.h:155
ARMII_RegRdHiShift
@ ARMII_RegRdHiShift
Definition: ARMBaseInfo.h:420
ARM_ISB_RESERVED_1
@ ARM_ISB_RESERVED_1
Definition: ARMBaseInfo.h:139
ARMII_IndexMode
ARMII_IndexMode
Definition: ARMBaseInfo.h:197
ARM_MB_ISHST
@ ARM_MB_ISHST
Definition: arm.h:152
ARM_MB_OSHLD
@ ARM_MB_OSHLD
Definition: arm.h:143
ARMCC_LT
@ ARMCC_LT
Definition: ARMBaseInfo.h:46
ARMII_D_BitShift
@ ARMII_D_BitShift
Definition: ARMBaseInfo.h:425
ARMII_ShiftImmShift
@ ARMII_ShiftImmShift
Definition: ARMBaseInfo.h:411


grpc
Author(s):
autogenerated on Fri May 16 2025 02:57:43