sparc.h
Go to the documentation of this file.
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 
13 // GCC SPARC toolchain has a default macro called "sparc" which breaks
14 // compilation
15 #undef sparc
16 
17 #ifdef _MSC_VER
18 #pragma warning(disable:4201)
19 #endif
20 
22 typedef enum sparc_cc {
24  // Integer condition codes
25  SPARC_CC_ICC_A = 8+256,
26  SPARC_CC_ICC_N = 0+256,
27  SPARC_CC_ICC_NE = 9+256,
28  SPARC_CC_ICC_E = 1+256,
29  SPARC_CC_ICC_G = 10+256,
30  SPARC_CC_ICC_LE = 2+256,
31  SPARC_CC_ICC_GE = 11+256,
32  SPARC_CC_ICC_L = 3+256,
33  SPARC_CC_ICC_GU = 12+256,
34  SPARC_CC_ICC_LEU = 4+256,
35  SPARC_CC_ICC_CC = 13+256,
36  SPARC_CC_ICC_CS = 5+256,
37  SPARC_CC_ICC_POS = 14+256,
38  SPARC_CC_ICC_NEG = 6+256,
39  SPARC_CC_ICC_VC = 15+256,
40  SPARC_CC_ICC_VS = 7+256,
41 
42  // Floating condition codes
43  SPARC_CC_FCC_A = 8+16+256,
44  SPARC_CC_FCC_N = 0+16+256,
45  SPARC_CC_FCC_U = 7+16+256,
46  SPARC_CC_FCC_G = 6+16+256,
47  SPARC_CC_FCC_UG = 5+16+256,
48  SPARC_CC_FCC_L = 4+16+256,
49  SPARC_CC_FCC_UL = 3+16+256,
50  SPARC_CC_FCC_LG = 2+16+256,
51  SPARC_CC_FCC_NE = 1+16+256,
52  SPARC_CC_FCC_E = 9+16+256,
53  SPARC_CC_FCC_UE = 10+16+256,
54  SPARC_CC_FCC_GE = 11+16+256,
55  SPARC_CC_FCC_UGE = 12+16+256,
56  SPARC_CC_FCC_LE = 13+16+256,
57  SPARC_CC_FCC_ULE = 14+16+256,
58  SPARC_CC_FCC_O = 15+16+256,
59 } sparc_cc;
60 
62 typedef enum sparc_hint {
64  SPARC_HINT_A = 1 << 0,
65  SPARC_HINT_PT = 1 << 1,
66  SPARC_HINT_PN = 1 << 2,
67 } sparc_hint;
68 
70 typedef enum sparc_op_type {
76 
78 typedef enum sparc_reg {
80 
129  SPARC_REG_FCC0, // Floating condition codes
149  SPARC_REG_ICC, // Integer condition codes
167 
168  // special register
170 
171  SPARC_REG_ENDING, // <-- mark the end of the list of registers
172 
173  // extras
176 } sparc_reg;
177 
180 typedef struct sparc_op_mem {
182  uint8_t index;
186 } sparc_op_mem;
187 
189 typedef struct cs_sparc_op {
191  union {
195  };
196 } cs_sparc_op;
197 
199 typedef struct cs_sparc {
206 } cs_sparc;
207 
209 typedef enum sparc_insn {
211 
488 
489  // alias instructions
492 
493  SPARC_INS_ENDING, // <-- mark the end of the list of instructions
494 } sparc_insn;
495 
497 typedef enum sparc_insn_group {
499 
500  // Generic groups
501  // all jump instructions (conditional+direct+indirect jumps)
503 
504  // Architecture-specific groups
512 
513  SPARC_GRP_ENDING, // <-- mark the end of the list of groups
515 
516 #ifdef __cplusplus
517 }
518 #endif
519 
520 #endif
SPARC_INS_FSLL16
@ SPARC_INS_FSLL16
Definition: sparc.h:375
SPARC_INS_FZEROS
@ SPARC_INS_FZEROS
Definition: sparc.h:404
SPARC_INS_FXNORS
@ SPARC_INS_FXNORS
Definition: sparc.h:397
SPARC_INS_SDIVX
@ SPARC_INS_SDIVX
Definition: sparc.h:441
SPARC_OP_IMM
@ SPARC_OP_IMM
= CS_OP_IMM (Immediate operand).
Definition: sparc.h:73
SPARC_INS_FXTOD
@ SPARC_INS_FXTOD
Definition: sparc.h:400
SPARC_INS_ORN
@ SPARC_INS_ORN
Definition: sparc.h:431
SPARC_INS_STBAR
@ SPARC_INS_STBAR
Definition: sparc.h:454
SPARC_INS_FSTOX
@ SPARC_INS_FSTOX
Definition: sparc.h:392
SPARC_REG_I6
@ SPARC_REG_I6
Definition: sparc.h:175
SPARC_INS_FCMPGT32
@ SPARC_INS_FCMPGT32
Definition: sparc.h:275
SPARC_REG_Y
@ SPARC_REG_Y
Definition: sparc.h:166
SPARC_INS_CMASK32
@ SPARC_INS_CMASK32
Definition: sparc.h:242
SPARC_INS_XOR
@ SPARC_INS_XOR
Definition: sparc.h:487
SPARC_REG_G7
@ SPARC_REG_G7
Definition: sparc.h:141
SPARC_INS_T
@ SPARC_INS_T
Definition: sparc.h:468
SPARC_INS_FPSUB32S
@ SPARC_INS_FPSUB32S
Definition: sparc.h:368
SPARC_INS_EDGE8
@ SPARC_INS_EDGE8
Definition: sparc.h:253
SPARC_INS_SLLX
@ SPARC_INS_SLLX
Definition: sparc.h:446
SPARC_REG_L5
@ SPARC_REG_L5
Definition: sparc.h:155
SPARC_INS_UMULXHI
@ SPARC_INS_UMULXHI
Definition: sparc.h:475
SPARC_INS_FPSUB16S
@ SPARC_INS_FPSUB16S
Definition: sparc.h:366
SPARC_REG_F20
@ SPARC_REG_F20
Definition: sparc.h:101
SPARC_INS_FCMPES
@ SPARC_INS_FCMPES
Definition: sparc.h:480
SPARC_REG_F25
@ SPARC_REG_F25
Definition: sparc.h:106
SPARC_INS_SUBXCC
@ SPARC_INS_SUBXCC
Definition: sparc.h:463
SPARC_INS_ADDXCCC
@ SPARC_INS_ADDXCCC
Definition: sparc.h:216
SPARC_INS_FNOT1
@ SPARC_INS_FNOT1
Definition: sparc.h:344
SPARC_INS_FAND
@ SPARC_INS_FAND
Definition: sparc.h:264
SPARC_REG_F16
@ SPARC_REG_F16
Definition: sparc.h:97
cs_sparc_op::type
sparc_op_type type
operand type
Definition: sparc.h:190
SPARC_INS_EDGE8N
@ SPARC_INS_EDGE8N
Definition: sparc.h:256
SPARC_INS_AND
@ SPARC_INS_AND
Definition: sparc.h:223
SPARC_INS_ANDN
@ SPARC_INS_ANDN
Definition: sparc.h:222
SPARC_INS_ORCC
@ SPARC_INS_ORCC
Definition: sparc.h:429
sparc_op_mem::index
uint8_t index
index register, same conditions apply here
Definition: sparc.h:184
SPARC_INS_FLCMPD
@ SPARC_INS_FLCMPD
Definition: sparc.h:298
SPARC_INS_PDISTN
@ SPARC_INS_PDISTN
Definition: sparc.h:434
SPARC_REG_F8
@ SPARC_REG_F8
Definition: sparc.h:89
sparc_op_mem
struct sparc_op_mem sparc_op_mem
SPARC_INS_LD
@ SPARC_INS_LD
Definition: sparc.h:407
SPARC_CC_FCC_G
@ SPARC_CC_FCC_G
Greater.
Definition: sparc.h:46
SPARC_INS_FMOVRQNZ
@ SPARC_INS_FMOVRQNZ
Definition: sparc.h:317
SPARC_INS_FCHKSM16
@ SPARC_INS_FCHKSM16
Definition: sparc.h:270
SPARC_REG_F23
@ SPARC_REG_F23
Definition: sparc.h:104
SPARC_INS_SRAX
@ SPARC_INS_SRAX
Definition: sparc.h:450
SPARC_REG_G2
@ SPARC_REG_G2
Definition: sparc.h:136
SPARC_INS_FCMPNE16
@ SPARC_INS_FCMPNE16
Definition: sparc.h:278
SPARC_INS_FMOVRDGEZ
@ SPARC_INS_FMOVRDGEZ
Definition: sparc.h:304
SPARC_REG_ENDING
@ SPARC_REG_ENDING
Definition: sparc.h:171
SPARC_INS_FSRA32
@ SPARC_INS_FSRA32
Definition: sparc.h:382
SPARC_CC_FCC_A
@ SPARC_CC_FCC_A
Always.
Definition: sparc.h:43
SPARC_INS_UMULCC
@ SPARC_INS_UMULCC
Definition: sparc.h:474
SPARC_INS_FCMPLE32
@ SPARC_INS_FCMPLE32
Definition: sparc.h:277
SPARC_INS_MOV
@ SPARC_INS_MOV
Definition: sparc.h:418
SPARC_INS_FMOVQ
@ SPARC_INS_FMOVQ
Definition: sparc.h:303
SPARC_INS_FSTOQ
@ SPARC_INS_FSTOQ
Definition: sparc.h:391
SPARC_INS_FCMPEQ32
@ SPARC_INS_FCMPEQ32
Definition: sparc.h:273
SPARC_INS_FORS
@ SPARC_INS_FORS
Definition: sparc.h:355
SPARC_INS_SDIV
@ SPARC_INS_SDIV
Definition: sparc.h:442
SPARC_INS_FMULD8ULX16
@ SPARC_INS_FMULD8ULX16
Definition: sparc.h:330
SPARC_REG_ICC
@ SPARC_REG_ICC
Definition: sparc.h:149
SPARC_INS_FPADD32
@ SPARC_INS_FPADD32
Definition: sparc.h:361
SPARC_INS_FCMPD
@ SPARC_INS_FCMPD
Definition: sparc.h:271
SPARC_INS_EDGE8L
@ SPARC_INS_EDGE8L
Definition: sparc.h:254
cs_sparc::cc
sparc_cc cc
code condition for this insn
Definition: sparc.h:200
SPARC_INS_CMASK16
@ SPARC_INS_CMASK16
Definition: sparc.h:241
SPARC_CC_ICC_GU
@ SPARC_CC_ICC_GU
Greater Unsigned.
Definition: sparc.h:33
SPARC_INS_SRL
@ SPARC_INS_SRL
Definition: sparc.h:453
SPARC_CC_ICC_NEG
@ SPARC_CC_ICC_NEG
Negative.
Definition: sparc.h:38
SPARC_INS_FCMPED
@ SPARC_INS_FCMPED
Definition: sparc.h:478
SPARC_GRP_JUMP
@ SPARC_GRP_JUMP
= CS_GRP_JUMP
Definition: sparc.h:502
SPARC_INS_STH
@ SPARC_INS_STH
Definition: sparc.h:458
SPARC_INS_FXTOQ
@ SPARC_INS_FXTOQ
Definition: sparc.h:401
SPARC_REG_F3
@ SPARC_REG_F3
Definition: sparc.h:84
SPARC_INS_SRLX
@ SPARC_INS_SRLX
Definition: sparc.h:452
SPARC_INS_FXTOS
@ SPARC_INS_FXTOS
Definition: sparc.h:402
SPARC_REG_F50
@ SPARC_REG_F50
Definition: sparc.h:122
SPARC_CC_ICC_LE
@ SPARC_CC_ICC_LE
Less or Equal.
Definition: sparc.h:30
SPARC_INS_LZCNT
@ SPARC_INS_LZCNT
Definition: sparc.h:415
SPARC_INS_FNHADDD
@ SPARC_INS_FNHADDD
Definition: sparc.h:340
SPARC_INS_FDTOX
@ SPARC_INS_FDTOX
Definition: sparc.h:289
SPARC_INS_CAS
@ SPARC_INS_CAS
Definition: sparc.h:240
SPARC_GRP_ENDING
@ SPARC_GRP_ENDING
Definition: sparc.h:513
SPARC_INS_LDSW
@ SPARC_INS_LDSW
Definition: sparc.h:411
SPARC_INS_MOVRZ
@ SPARC_INS_MOVRZ
Definition: sparc.h:424
SPARC_INS_FNHADDS
@ SPARC_INS_FNHADDS
Definition: sparc.h:341
SPARC_INS_FSRC2
@ SPARC_INS_FSRC2
Definition: sparc.h:385
SPARC_INS_EDGE16LN
@ SPARC_INS_EDGE16LN
Definition: sparc.h:247
SPARC_INS_FPSUB16
@ SPARC_INS_FPSUB16
Definition: sparc.h:365
SPARC_INS_STQ
@ SPARC_INS_STQ
Definition: sparc.h:459
SPARC_INS_FEXPAND
@ SPARC_INS_FEXPAND
Definition: sparc.h:290
SPARC_REG_F32
@ SPARC_REG_F32
Definition: sparc.h:113
SPARC_CC_FCC_LE
@ SPARC_CC_FCC_LE
Less or Equal.
Definition: sparc.h:56
SPARC_INS_LDX
@ SPARC_INS_LDX
Definition: sparc.h:414
SPARC_GRP_VIS
@ SPARC_GRP_VIS
Definition: sparc.h:507
SPARC_INS_FNEGS
@ SPARC_INS_FNEGS
Definition: sparc.h:339
SPARC_INS_MOVDTOX
@ SPARC_INS_MOVDTOX
Definition: sparc.h:417
SPARC_INS_EDGE32L
@ SPARC_INS_EDGE32L
Definition: sparc.h:250
SPARC_INS_FCMPS
@ SPARC_INS_FCMPS
Definition: sparc.h:281
SPARC_REG_F5
@ SPARC_REG_F5
Definition: sparc.h:86
cs_sparc_op::mem
sparc_op_mem mem
base/disp value for MEM operand
Definition: sparc.h:194
SPARC_INS_BRGEZ
@ SPARC_INS_BRGEZ
Definition: sparc.h:231
SPARC_INS_FONES
@ SPARC_INS_FONES
Definition: sparc.h:349
SPARC_INS_FMOVRQGZ
@ SPARC_INS_FMOVRQGZ
Definition: sparc.h:308
SPARC_INS_RESTORE
@ SPARC_INS_RESTORE
Definition: sparc.h:437
SPARC_INS_CALL
@ SPARC_INS_CALL
Definition: sparc.h:238
SPARC_REG_F10
@ SPARC_REG_F10
Definition: sparc.h:91
SPARC_INS_FSUBD
@ SPARC_INS_FSUBD
Definition: sparc.h:393
SPARC_REG_F22
@ SPARC_REG_F22
Definition: sparc.h:103
SPARC_REG_O2
@ SPARC_REG_O2
Definition: sparc.h:160
uint8_t
unsigned char uint8_t
Definition: stdint-msvc2008.h:78
SPARC_HINT_A
@ SPARC_HINT_A
annul delay slot instruction
Definition: sparc.h:64
SPARC_REG_I4
@ SPARC_REG_I4
Definition: sparc.h:146
SPARC_REG_I1
@ SPARC_REG_I1
Definition: sparc.h:143
SPARC_GRP_V9
@ SPARC_GRP_V9
Definition: sparc.h:506
SPARC_INS_FMUL8X16AU
@ SPARC_INS_FMUL8X16AU
Definition: sparc.h:327
SPARC_INS_FSQRTQ
@ SPARC_INS_FSQRTQ
Definition: sparc.h:379
SPARC_REG_FCC0
@ SPARC_REG_FCC0
Definition: sparc.h:129
SPARC_CC_ICC_CS
@ SPARC_CC_ICC_CS
Carry Set/Less Unsigned.
Definition: sparc.h:36
SPARC_INS_FSRC2S
@ SPARC_INS_FSRC2S
Definition: sparc.h:386
SPARC_INS_EDGE32
@ SPARC_INS_EDGE32
Definition: sparc.h:249
SPARC_REG_FP
@ SPARC_REG_FP
Definition: sparc.h:133
SPARC_INS_FPACK16
@ SPARC_INS_FPACK16
Definition: sparc.h:356
SPARC_INS_FMOVRQZ
@ SPARC_INS_FMOVRQZ
Definition: sparc.h:320
SPARC_INS_MOVRLEZ
@ SPARC_INS_MOVRLEZ
Definition: sparc.h:421
SPARC_INS_SLL
@ SPARC_INS_SLL
Definition: sparc.h:447
SPARC_INS_MOVSTOSW
@ SPARC_INS_MOVSTOSW
Definition: sparc.h:425
SPARC_INS_STX
@ SPARC_INS_STX
Definition: sparc.h:460
SPARC_REG_F48
@ SPARC_REG_F48
Definition: sparc.h:121
SPARC_INS_FPADD16
@ SPARC_INS_FPADD16
Definition: sparc.h:359
SPARC_INS_TSUBCC
@ SPARC_INS_TSUBCC
Definition: sparc.h:470
SPARC_INS_STD
@ SPARC_INS_STD
Definition: sparc.h:456
SPARC_REG_F44
@ SPARC_REG_F44
Definition: sparc.h:119
SPARC_INS_BRLZ
@ SPARC_INS_BRLZ
Definition: sparc.h:234
SPARC_REG_F13
@ SPARC_REG_F13
Definition: sparc.h:94
SPARC_REG_F36
@ SPARC_REG_F36
Definition: sparc.h:115
SPARC_INS_SWAP
@ SPARC_INS_SWAP
Definition: sparc.h:465
SPARC_INS_FMOVRQLEZ
@ SPARC_INS_FMOVRQLEZ
Definition: sparc.h:311
SPARC_REG_F56
@ SPARC_REG_F56
Definition: sparc.h:125
SPARC_INS_ORNCC
@ SPARC_INS_ORNCC
Definition: sparc.h:430
cs_sparc_op
Instruction operand.
Definition: sparc.h:189
sparc_op_mem::base
uint8_t base
Definition: sparc.h:181
SPARC_INS_BRNZ
@ SPARC_INS_BRNZ
Definition: sparc.h:235
SPARC_INS_FNORS
@ SPARC_INS_FNORS
Definition: sparc.h:343
SPARC_INS_FHADDD
@ SPARC_INS_FHADDD
Definition: sparc.h:291
SPARC_REG_F31
@ SPARC_REG_F31
Definition: sparc.h:112
SPARC_INS_BRGZ
@ SPARC_INS_BRGZ
Definition: sparc.h:232
SPARC_INS_FALIGNDATA
@ SPARC_INS_FALIGNDATA
Definition: sparc.h:263
SPARC_REG_L4
@ SPARC_REG_L4
Definition: sparc.h:154
SPARC_CC_ICC_G
@ SPARC_CC_ICC_G
Greater.
Definition: sparc.h:29
SPARC_INS_MOVRLZ
@ SPARC_INS_MOVRLZ
Definition: sparc.h:422
SPARC_INS_FSRL16
@ SPARC_INS_FSRL16
Definition: sparc.h:387
SPARC_GRP_INVALID
@ SPARC_GRP_INVALID
= CS_GRP_INVALID
Definition: sparc.h:498
SPARC_HINT_INVALID
@ SPARC_HINT_INVALID
no hint
Definition: sparc.h:63
SPARC_INS_FANDS
@ SPARC_INS_FANDS
Definition: sparc.h:269
SPARC_REG_O3
@ SPARC_REG_O3
Definition: sparc.h:161
SPARC_INS_FADDQ
@ SPARC_INS_FADDQ
Definition: sparc.h:261
SPARC_REG_F24
@ SPARC_REG_F24
Definition: sparc.h:105
SPARC_REG_F54
@ SPARC_REG_F54
Definition: sparc.h:124
SPARC_REG_I3
@ SPARC_REG_I3
Definition: sparc.h:145
SPARC_INS_SAVE
@ SPARC_INS_SAVE
Definition: sparc.h:439
SPARC_INS_FZERO
@ SPARC_INS_FZERO
Definition: sparc.h:403
SPARC_INS_FMUL8X16
@ SPARC_INS_FMUL8X16
Definition: sparc.h:325
SPARC_CC_FCC_UG
@ SPARC_CC_FCC_UG
Unordered or Greater.
Definition: sparc.h:47
SPARC_INS_ADDX
@ SPARC_INS_ADDX
Definition: sparc.h:213
SPARC_INS_FPSUB32
@ SPARC_INS_FPSUB32
Definition: sparc.h:367
cs_sparc_op::imm
int64_t imm
immediate value for IMM operand
Definition: sparc.h:193
int64_t
signed __int64 int64_t
Definition: stdint-msvc2008.h:89
SPARC_INS_FCMPEQ
@ SPARC_INS_FCMPEQ
Definition: sparc.h:479
SPARC_INS_FORNOT1S
@ SPARC_INS_FORNOT1S
Definition: sparc.h:352
SPARC_INS_SRA
@ SPARC_INS_SRA
Definition: sparc.h:451
SPARC_INS_FQTOD
@ SPARC_INS_FQTOD
Definition: sparc.h:369
SPARC_INS_FHSUBD
@ SPARC_INS_FHSUBD
Definition: sparc.h:293
SPARC_REG_L6
@ SPARC_REG_L6
Definition: sparc.h:156
SPARC_OP_INVALID
@ SPARC_OP_INVALID
= CS_OP_INVALID (Uninitialized).
Definition: sparc.h:71
SPARC_INS_INVALID
@ SPARC_INS_INVALID
Definition: sparc.h:210
SPARC_INS_ARRAY32
@ SPARC_INS_ARRAY32
Definition: sparc.h:225
SPARC_INS_FXNOR
@ SPARC_INS_FXNOR
Definition: sparc.h:396
SPARC_INS_XORCC
@ SPARC_INS_XORCC
Definition: sparc.h:486
SPARC_INS_WR
@ SPARC_INS_WR
Definition: sparc.h:481
SPARC_INS_ENDING
@ SPARC_INS_ENDING
Definition: sparc.h:493
SPARC_INS_LDUH
@ SPARC_INS_LDUH
Definition: sparc.h:413
SPARC_INS_FMUL8ULX16
@ SPARC_INS_FMUL8ULX16
Definition: sparc.h:324
SPARC_REG_I7
@ SPARC_REG_I7
Definition: sparc.h:148
SPARC_INS_SMUL
@ SPARC_INS_SMUL
Definition: sparc.h:449
SPARC_INS_FMOVD
@ SPARC_INS_FMOVD
Definition: sparc.h:302
cs_sparc::op_count
uint8_t op_count
Definition: sparc.h:204
SPARC_GRP_VIS3
@ SPARC_GRP_VIS3
Definition: sparc.h:509
sparc_reg
sparc_reg
SPARC registers.
Definition: sparc.h:78
SPARC_INS_EDGE16L
@ SPARC_INS_EDGE16L
Definition: sparc.h:246
SPARC_INS_FMOVRSZ
@ SPARC_INS_FMOVRSZ
Definition: sparc.h:321
SPARC_INS_FDTOQ
@ SPARC_INS_FDTOQ
Definition: sparc.h:287
SPARC_INS_FMUL8X16AL
@ SPARC_INS_FMUL8X16AL
Definition: sparc.h:326
SPARC_INS_FLCMPS
@ SPARC_INS_FLCMPS
Definition: sparc.h:299
SPARC_INS_FPACK32
@ SPARC_INS_FPACK32
Definition: sparc.h:357
SPARC_INS_FMULD
@ SPARC_INS_FMULD
Definition: sparc.h:328
SPARC_INS_FNADDD
@ SPARC_INS_FNADDD
Definition: sparc.h:333
SPARC_INS_XMULX
@ SPARC_INS_XMULX
Definition: sparc.h:482
SPARC_INS_EDGE8LN
@ SPARC_INS_EDGE8LN
Definition: sparc.h:255
SPARC_REG_FCC2
@ SPARC_REG_FCC2
Definition: sparc.h:131
platform.h
SPARC_REG_L2
@ SPARC_REG_L2
Definition: sparc.h:152
SPARC_INS_FNADDS
@ SPARC_INS_FNADDS
Definition: sparc.h:334
SPARC_REG_I0
@ SPARC_REG_I0
Definition: sparc.h:142
SPARC_OP_REG
@ SPARC_OP_REG
= CS_OP_REG (Register operand).
Definition: sparc.h:72
SPARC_REG_I2
@ SPARC_REG_I2
Definition: sparc.h:144
SPARC_CC_FCC_UE
@ SPARC_CC_FCC_UE
Unordered or Equal.
Definition: sparc.h:53
SPARC_INS_ADD
@ SPARC_INS_ADD
Definition: sparc.h:217
SPARC_REG_G3
@ SPARC_REG_G3
Definition: sparc.h:137
SPARC_REG_F27
@ SPARC_REG_F27
Definition: sparc.h:108
SPARC_REG_FCC1
@ SPARC_REG_FCC1
Definition: sparc.h:130
SPARC_REG_F62
@ SPARC_REG_F62
Definition: sparc.h:128
SPARC_INS_FMEAN16
@ SPARC_INS_FMEAN16
Definition: sparc.h:301
SPARC_REG_F19
@ SPARC_REG_F19
Definition: sparc.h:100
SPARC_REG_F12
@ SPARC_REG_F12
Definition: sparc.h:93
SPARC_INS_EDGE32LN
@ SPARC_INS_EDGE32LN
Definition: sparc.h:251
SPARC_INS_ADDCC
@ SPARC_INS_ADDCC
Definition: sparc.h:212
SPARC_INS_FMOVRQLZ
@ SPARC_INS_FMOVRQLZ
Definition: sparc.h:314
SPARC_INS_XMULXHI
@ SPARC_INS_XMULXHI
Definition: sparc.h:483
SPARC_INS_FMOVRQGEZ
@ SPARC_INS_FMOVRQGEZ
Definition: sparc.h:305
SPARC_INS_FHSUBS
@ SPARC_INS_FHSUBS
Definition: sparc.h:294
SPARC_CC_ICC_A
@ SPARC_CC_ICC_A
Always.
Definition: sparc.h:25
SPARC_INS_FDIVD
@ SPARC_INS_FDIVD
Definition: sparc.h:282
SPARC_INS_ST
@ SPARC_INS_ST
Definition: sparc.h:457
SPARC_INS_FMOVRSNZ
@ SPARC_INS_FMOVRSNZ
Definition: sparc.h:318
SPARC_INS_FSRA16
@ SPARC_INS_FSRA16
Definition: sparc.h:381
SPARC_INS_FMOVRSLZ
@ SPARC_INS_FMOVRSLZ
Definition: sparc.h:315
SPARC_INS_SUBCC
@ SPARC_INS_SUBCC
Definition: sparc.h:461
SPARC_INS_FCMPEQ16
@ SPARC_INS_FCMPEQ16
Definition: sparc.h:272
SPARC_INS_FNANDS
@ SPARC_INS_FNANDS
Definition: sparc.h:336
SPARC_INS_FDTOS
@ SPARC_INS_FDTOS
Definition: sparc.h:288
cs_sparc
Instruction structure.
Definition: sparc.h:199
SPARC_INS_LDD
@ SPARC_INS_LDD
Definition: sparc.h:406
SPARC_INS_FSMULD
@ SPARC_INS_FSMULD
Definition: sparc.h:377
SPARC_REG_F52
@ SPARC_REG_F52
Definition: sparc.h:123
SPARC_INS_FORNOT2S
@ SPARC_INS_FORNOT2S
Definition: sparc.h:354
SPARC_INS_MOVRNZ
@ SPARC_INS_MOVRNZ
Definition: sparc.h:423
SPARC_INS_FNOT2
@ SPARC_INS_FNOT2
Definition: sparc.h:346
SPARC_INS_FANDNOT1S
@ SPARC_INS_FANDNOT1S
Definition: sparc.h:266
sparc_insn_group
sparc_insn_group
Group of SPARC instructions.
Definition: sparc.h:497
SPARC_INS_ADDXCC
@ SPARC_INS_ADDXCC
Definition: sparc.h:214
SPARC_INS_CASX
@ SPARC_INS_CASX
Definition: sparc.h:239
SPARC_INS_SHUTDOWN
@ SPARC_INS_SHUTDOWN
Definition: sparc.h:444
SPARC_HINT_PN
@ SPARC_HINT_PN
branch NOT taken
Definition: sparc.h:66
SPARC_REG_G5
@ SPARC_REG_G5
Definition: sparc.h:139
SPARC_INS_FITOS
@ SPARC_INS_FITOS
Definition: sparc.h:297
SPARC_INS_FPADD64
@ SPARC_INS_FPADD64
Definition: sparc.h:363
SPARC_INS_FADDD
@ SPARC_INS_FADDD
Definition: sparc.h:260
SPARC_INS_FDMULQ
@ SPARC_INS_FDMULQ
Definition: sparc.h:285
SPARC_REG_O0
@ SPARC_REG_O0
Definition: sparc.h:158
SPARC_REG_F38
@ SPARC_REG_F38
Definition: sparc.h:116
SPARC_INS_FSRC1S
@ SPARC_INS_FSRC1S
Definition: sparc.h:384
SPARC_INS_FNOT1S
@ SPARC_INS_FNOT1S
Definition: sparc.h:345
SPARC_INS_POPC
@ SPARC_INS_POPC
Definition: sparc.h:435
SPARC_REG_XCC
@ SPARC_REG_XCC
Definition: sparc.h:169
SPARC_REG_O6
@ SPARC_REG_O6
Definition: sparc.h:174
SPARC_REG_INVALID
@ SPARC_REG_INVALID
Definition: sparc.h:79
SPARC_INS_RET
@ SPARC_INS_RET
Definition: sparc.h:490
SPARC_INS_FB
@ SPARC_INS_FB
Definition: sparc.h:230
SPARC_CC_FCC_GE
@ SPARC_CC_FCC_GE
Greater or Equal.
Definition: sparc.h:54
SPARC_CC_ICC_VS
@ SPARC_CC_ICC_VS
Overflow Set.
Definition: sparc.h:40
SPARC_CC_FCC_ULE
@ SPARC_CC_FCC_ULE
Unordered or Less or Equal.
Definition: sparc.h:57
SPARC_INS_FITOD
@ SPARC_INS_FITOD
Definition: sparc.h:295
SPARC_REG_F29
@ SPARC_REG_F29
Definition: sparc.h:110
SPARC_REG_F9
@ SPARC_REG_F9
Definition: sparc.h:90
SPARC_INS_FDTOI
@ SPARC_INS_FDTOI
Definition: sparc.h:286
SPARC_INS_FMOVRSGZ
@ SPARC_INS_FMOVRSGZ
Definition: sparc.h:309
SPARC_INS_FMUL8SUX16
@ SPARC_INS_FMUL8SUX16
Definition: sparc.h:323
SPARC_REG_F28
@ SPARC_REG_F28
Definition: sparc.h:109
SPARC_GRP_VIS2
@ SPARC_GRP_VIS2
Definition: sparc.h:508
SPARC_CC_ICC_GE
@ SPARC_CC_ICC_GE
Greater or Equal.
Definition: sparc.h:31
SPARC_INS_ARRAY16
@ SPARC_INS_ARRAY16
Definition: sparc.h:224
SPARC_INS_FABSQ
@ SPARC_INS_FABSQ
Definition: sparc.h:258
SPARC_INS_MULX
@ SPARC_INS_MULX
Definition: sparc.h:427
SPARC_INS_ADDXC
@ SPARC_INS_ADDXC
Definition: sparc.h:215
SPARC_INS_RETL
@ SPARC_INS_RETL
Definition: sparc.h:491
SPARC_INS_FMOVRDZ
@ SPARC_INS_FMOVRDZ
Definition: sparc.h:319
SPARC_INS_FNOR
@ SPARC_INS_FNOR
Definition: sparc.h:342
SPARC_CC_FCC_NE
@ SPARC_CC_FCC_NE
Not Equal.
Definition: sparc.h:51
SPARC_REG_O5
@ SPARC_REG_O5
Definition: sparc.h:163
SPARC_REG_F34
@ SPARC_REG_F34
Definition: sparc.h:114
SPARC_HINT_PT
@ SPARC_HINT_PT
branch taken
Definition: sparc.h:65
SPARC_REG_O1
@ SPARC_REG_O1
Definition: sparc.h:159
SPARC_INS_SMULCC
@ SPARC_INS_SMULCC
Definition: sparc.h:448
SPARC_INS_SUBX
@ SPARC_INS_SUBX
Definition: sparc.h:462
SPARC_REG_F18
@ SPARC_REG_F18
Definition: sparc.h:99
sparc_op_type
sparc_op_type
Operand type for instruction's operands.
Definition: sparc.h:70
SPARC_INS_FMOVRSLEZ
@ SPARC_INS_FMOVRSLEZ
Definition: sparc.h:312
cs_sparc::hint
sparc_hint hint
Definition: sparc.h:201
SPARC_GRP_32BIT
@ SPARC_GRP_32BIT
Definition: sparc.h:510
SPARC_INS_ANDNCC
@ SPARC_INS_ANDNCC
Definition: sparc.h:221
SPARC_INS_EDGE16N
@ SPARC_INS_EDGE16N
Definition: sparc.h:248
cs_sparc
struct cs_sparc cs_sparc
Instruction structure.
SPARC_REG_F0
@ SPARC_REG_F0
Definition: sparc.h:81
SPARC_REG_F46
@ SPARC_REG_F46
Definition: sparc.h:120
SPARC_INS_EDGE32N
@ SPARC_INS_EDGE32N
Definition: sparc.h:252
SPARC_REG_G6
@ SPARC_REG_G6
Definition: sparc.h:140
SPARC_INS_FADDS
@ SPARC_INS_FADDS
Definition: sparc.h:262
SPARC_CC_ICC_CC
@ SPARC_CC_ICC_CC
Carry Clear/Great or Equal Unsigned.
Definition: sparc.h:35
SPARC_INS_FABSS
@ SPARC_INS_FABSS
Definition: sparc.h:259
SPARC_CC_INVALID
@ SPARC_CC_INVALID
invalid CC (default)
Definition: sparc.h:23
SPARC_INS_MEMBAR
@ SPARC_INS_MEMBAR
Definition: sparc.h:416
SPARC_INS_EDGE16
@ SPARC_INS_EDGE16
Definition: sparc.h:245
SPARC_CC_FCC_E
@ SPARC_CC_FCC_E
Equal.
Definition: sparc.h:52
SPARC_INS_FCMPQ
@ SPARC_INS_FCMPQ
Definition: sparc.h:280
SPARC_CC_FCC_UGE
@ SPARC_CC_FCC_UGE
Unordered or Greater or Equal.
Definition: sparc.h:55
SPARC_INS_FSQRTD
@ SPARC_INS_FSQRTD
Definition: sparc.h:378
SPARC_INS_FDIVS
@ SPARC_INS_FDIVS
Definition: sparc.h:284
SPARC_CC_ICC_N
@ SPARC_CC_ICC_N
Never.
Definition: sparc.h:26
SPARC_CC_FCC_U
@ SPARC_CC_FCC_U
Unordered.
Definition: sparc.h:45
SPARC_GRP_HARDQUAD
@ SPARC_GRP_HARDQUAD
Definition: sparc.h:505
sparc_op_mem
Definition: sparc.h:180
SPARC_REG_F42
@ SPARC_REG_F42
Definition: sparc.h:118
SPARC_REG_F40
@ SPARC_REG_F40
Definition: sparc.h:117
SPARC_INS_FHADDS
@ SPARC_INS_FHADDS
Definition: sparc.h:292
SPARC_INS_UDIVX
@ SPARC_INS_UDIVX
Definition: sparc.h:472
cs_sparc_op
struct cs_sparc_op cs_sparc_op
Instruction operand.
SPARC_INS_FMOVRDLZ
@ SPARC_INS_FMOVRDLZ
Definition: sparc.h:313
SPARC_INS_FSTOI
@ SPARC_INS_FSTOI
Definition: sparc.h:390
SPARC_INS_FQTOI
@ SPARC_INS_FQTOI
Definition: sparc.h:370
SPARC_REG_F58
@ SPARC_REG_F58
Definition: sparc.h:126
sparc_hint
sparc_hint
Branch hint.
Definition: sparc.h:62
SPARC_REG_F30
@ SPARC_REG_F30
Definition: sparc.h:111
SPARC_CC_FCC_UL
@ SPARC_CC_FCC_UL
Unordered or Less.
Definition: sparc.h:49
SPARC_INS_FSRC1
@ SPARC_INS_FSRC1
Definition: sparc.h:383
SPARC_INS_LDUB
@ SPARC_INS_LDUB
Definition: sparc.h:412
SPARC_INS_FANDNOT1
@ SPARC_INS_FANDNOT1
Definition: sparc.h:265
SPARC_INS_FMOVRDGZ
@ SPARC_INS_FMOVRDGZ
Definition: sparc.h:307
sparc_cc
sparc_cc
Enums corresponding to Sparc condition codes, both icc's and fcc's.
Definition: sparc.h:22
SPARC_INS_SETHI
@ SPARC_INS_SETHI
Definition: sparc.h:443
SPARC_INS_ALIGNADDRL
@ SPARC_INS_ALIGNADDRL
Definition: sparc.h:219
SPARC_INS_UNIMP
@ SPARC_INS_UNIMP
Definition: sparc.h:477
SPARC_CC_FCC_N
@ SPARC_CC_FCC_N
Never.
Definition: sparc.h:44
SPARC_REG_F17
@ SPARC_REG_F17
Definition: sparc.h:98
SPARC_INS_FNEGD
@ SPARC_INS_FNEGD
Definition: sparc.h:337
SPARC_INS_FANDNOT2S
@ SPARC_INS_FANDNOT2S
Definition: sparc.h:268
SPARC_INS_FQTOX
@ SPARC_INS_FQTOX
Definition: sparc.h:372
SPARC_INS_FPADD32S
@ SPARC_INS_FPADD32S
Definition: sparc.h:362
SPARC_INS_FLUSHW
@ SPARC_INS_FLUSHW
Definition: sparc.h:300
SPARC_INS_RD
@ SPARC_INS_RD
Definition: sparc.h:436
SPARC_REG_F1
@ SPARC_REG_F1
Definition: sparc.h:82
SPARC_INS_FANDNOT2
@ SPARC_INS_FANDNOT2
Definition: sparc.h:267
SPARC_INS_UMUL
@ SPARC_INS_UMUL
Definition: sparc.h:476
SPARC_INS_OR
@ SPARC_INS_OR
Definition: sparc.h:432
SPARC_REG_F6
@ SPARC_REG_F6
Definition: sparc.h:87
SPARC_INS_ARRAY8
@ SPARC_INS_ARRAY8
Definition: sparc.h:226
SPARC_INS_FONE
@ SPARC_INS_FONE
Definition: sparc.h:348
SPARC_INS_RETT
@ SPARC_INS_RETT
Definition: sparc.h:438
SPARC_INS_FPMERGE
@ SPARC_INS_FPMERGE
Definition: sparc.h:364
SPARC_INS_FSLAS32
@ SPARC_INS_FSLAS32
Definition: sparc.h:374
SPARC_REG_G0
@ SPARC_REG_G0
Definition: sparc.h:134
SPARC_INS_LDSH
@ SPARC_INS_LDSH
Definition: sparc.h:410
SPARC_CC_ICC_LEU
@ SPARC_CC_ICC_LEU
Less or Equal Unsigned.
Definition: sparc.h:34
SPARC_INS_XNORCC
@ SPARC_INS_XNORCC
Definition: sparc.h:484
SPARC_INS_CMP
@ SPARC_INS_CMP
Definition: sparc.h:244
SPARC_REG_FCC3
@ SPARC_REG_FCC3
Definition: sparc.h:132
SPARC_INS_MOVRGEZ
@ SPARC_INS_MOVRGEZ
Definition: sparc.h:419
SPARC_CC_FCC_O
@ SPARC_CC_FCC_O
Ordered.
Definition: sparc.h:58
SPARC_INS_ALIGNADDR
@ SPARC_INS_ALIGNADDR
Definition: sparc.h:218
SPARC_REG_F14
@ SPARC_REG_F14
Definition: sparc.h:95
SPARC_INS_B
@ SPARC_INS_B
Definition: sparc.h:227
SPARC_INS_SIAM
@ SPARC_INS_SIAM
Definition: sparc.h:445
SPARC_REG_G4
@ SPARC_REG_G4
Definition: sparc.h:138
SPARC_INS_FXORS
@ SPARC_INS_FXORS
Definition: sparc.h:399
SPARC_REG_F11
@ SPARC_REG_F11
Definition: sparc.h:92
SPARC_INS_FPACKFIX
@ SPARC_INS_FPACKFIX
Definition: sparc.h:358
SPARC_INS_UDIV
@ SPARC_INS_UDIV
Definition: sparc.h:473
SPARC_INS_BRZ
@ SPARC_INS_BRZ
Definition: sparc.h:236
SPARC_INS_FSLL32
@ SPARC_INS_FSLL32
Definition: sparc.h:376
SPARC_INS_TADDCC
@ SPARC_INS_TADDCC
Definition: sparc.h:467
SPARC_INS_SUB
@ SPARC_INS_SUB
Definition: sparc.h:464
SPARC_INS_FORNOT1
@ SPARC_INS_FORNOT1
Definition: sparc.h:351
SPARC_REG_O4
@ SPARC_REG_O4
Definition: sparc.h:162
SPARC_INS_FCMPLE16
@ SPARC_INS_FCMPLE16
Definition: sparc.h:276
SPARC_INS_BMASK
@ SPARC_INS_BMASK
Definition: sparc.h:229
SPARC_INS_FMULQ
@ SPARC_INS_FMULQ
Definition: sparc.h:331
SPARC_INS_BSHUFFLE
@ SPARC_INS_BSHUFFLE
Definition: sparc.h:237
SPARC_INS_LDQ
@ SPARC_INS_LDQ
Definition: sparc.h:408
SPARC_INS_FSRL32
@ SPARC_INS_FSRL32
Definition: sparc.h:388
SPARC_INS_ANDCC
@ SPARC_INS_ANDCC
Definition: sparc.h:220
SPARC_INS_MOVRGZ
@ SPARC_INS_MOVRGZ
Definition: sparc.h:420
SPARC_REG_O7
@ SPARC_REG_O7
Definition: sparc.h:164
SPARC_INS_XNOR
@ SPARC_INS_XNOR
Definition: sparc.h:485
SPARC_REG_F60
@ SPARC_REG_F60
Definition: sparc.h:127
SPARC_INS_FXOR
@ SPARC_INS_FXOR
Definition: sparc.h:398
SPARC_INS_FMOVS
@ SPARC_INS_FMOVS
Definition: sparc.h:322
SPARC_INS_FMOVRDLEZ
@ SPARC_INS_FMOVRDLEZ
Definition: sparc.h:310
SPARC_INS_JMP
@ SPARC_INS_JMP
Definition: sparc.h:228
SPARC_REG_F26
@ SPARC_REG_F26
Definition: sparc.h:107
SPARC_INS_FNOT2S
@ SPARC_INS_FNOT2S
Definition: sparc.h:347
SPARC_INS_JMPL
@ SPARC_INS_JMPL
Definition: sparc.h:405
cs_sparc::operands
cs_sparc_op operands[4]
operands for this instruction.
Definition: sparc.h:205
SPARC_INS_FITOQ
@ SPARC_INS_FITOQ
Definition: sparc.h:296
SPARC_INS_FQTOS
@ SPARC_INS_FQTOS
Definition: sparc.h:371
SPARC_REG_L0
@ SPARC_REG_L0
Definition: sparc.h:150
SPARC_INS_LDSB
@ SPARC_INS_LDSB
Definition: sparc.h:409
SPARC_INS_FNEGQ
@ SPARC_INS_FNEGQ
Definition: sparc.h:338
SPARC_REG_F7
@ SPARC_REG_F7
Definition: sparc.h:88
SPARC_INS_BRLEZ
@ SPARC_INS_BRLEZ
Definition: sparc.h:233
SPARC_INS_TSUBCCTV
@ SPARC_INS_TSUBCCTV
Definition: sparc.h:469
SPARC_GRP_64BIT
@ SPARC_GRP_64BIT
Definition: sparc.h:511
SPARC_CC_ICC_E
@ SPARC_CC_ICC_E
Equal.
Definition: sparc.h:28
SPARC_INS_FABSD
@ SPARC_INS_FABSD
Definition: sparc.h:257
SPARC_REG_F21
@ SPARC_REG_F21
Definition: sparc.h:102
SPARC_INS_FORNOT2
@ SPARC_INS_FORNOT2
Definition: sparc.h:353
SPARC_INS_PDIST
@ SPARC_INS_PDIST
Definition: sparc.h:433
SPARC_INS_FSUBQ
@ SPARC_INS_FSUBQ
Definition: sparc.h:394
SPARC_INS_FMULD8SUX16
@ SPARC_INS_FMULD8SUX16
Definition: sparc.h:329
SPARC_CC_ICC_POS
@ SPARC_CC_ICC_POS
Positive.
Definition: sparc.h:37
SPARC_INS_MOVSTOUW
@ SPARC_INS_MOVSTOUW
Definition: sparc.h:426
SPARC_INS_TADDCCTV
@ SPARC_INS_TADDCCTV
Definition: sparc.h:466
int32_t
signed int int32_t
Definition: stdint-msvc2008.h:77
SPARC_INS_FMOVRDNZ
@ SPARC_INS_FMOVRDNZ
Definition: sparc.h:316
sparc_op_mem::disp
int32_t disp
displacement/offset value
Definition: sparc.h:185
SPARC_CC_FCC_L
@ SPARC_CC_FCC_L
Less.
Definition: sparc.h:48
SPARC_INS_CMASK8
@ SPARC_INS_CMASK8
Definition: sparc.h:243
SPARC_CC_ICC_NE
@ SPARC_CC_ICC_NE
Not Equal.
Definition: sparc.h:27
SPARC_REG_L7
@ SPARC_REG_L7
Definition: sparc.h:157
SPARC_INS_UDIVCC
@ SPARC_INS_UDIVCC
Definition: sparc.h:471
SPARC_OP_MEM
@ SPARC_OP_MEM
= CS_OP_MEM (Memory operand).
Definition: sparc.h:74
SPARC_INS_FPADD16S
@ SPARC_INS_FPADD16S
Definition: sparc.h:360
SPARC_INS_FMULS
@ SPARC_INS_FMULS
Definition: sparc.h:332
SPARC_CC_ICC_L
@ SPARC_CC_ICC_L
Less.
Definition: sparc.h:32
SPARC_INS_STB
@ SPARC_INS_STB
Definition: sparc.h:455
SPARC_CC_ICC_VC
@ SPARC_CC_ICC_VC
Overflow Clear.
Definition: sparc.h:39
SPARC_REG_G1
@ SPARC_REG_G1
Definition: sparc.h:135
SPARC_CC_FCC_LG
@ SPARC_CC_FCC_LG
Less or Greater.
Definition: sparc.h:50
sparc_insn
sparc_insn
SPARC instruction.
Definition: sparc.h:209
SPARC_INS_FSQRTS
@ SPARC_INS_FSQRTS
Definition: sparc.h:380
SPARC_INS_FNAND
@ SPARC_INS_FNAND
Definition: sparc.h:335
cs_sparc_op::reg
sparc_reg reg
register value for REG operand
Definition: sparc.h:192
SPARC_REG_L3
@ SPARC_REG_L3
Definition: sparc.h:153
SPARC_REG_F2
@ SPARC_REG_F2
Definition: sparc.h:83
SPARC_INS_FOR
@ SPARC_INS_FOR
Definition: sparc.h:350
SPARC_INS_FSLAS16
@ SPARC_INS_FSLAS16
Definition: sparc.h:373
SPARC_REG_I5
@ SPARC_REG_I5
Definition: sparc.h:147
SPARC_INS_FSTOD
@ SPARC_INS_FSTOD
Definition: sparc.h:389
SPARC_REG_SP
@ SPARC_REG_SP
Definition: sparc.h:165
SPARC_INS_SDIVCC
@ SPARC_INS_SDIVCC
Definition: sparc.h:440
SPARC_REG_F4
@ SPARC_REG_F4
Definition: sparc.h:85
SPARC_REG_L1
@ SPARC_REG_L1
Definition: sparc.h:151
SPARC_REG_F15
@ SPARC_REG_F15
Definition: sparc.h:96
SPARC_INS_FDIVQ
@ SPARC_INS_FDIVQ
Definition: sparc.h:283
SPARC_INS_FMOVRSGEZ
@ SPARC_INS_FMOVRSGEZ
Definition: sparc.h:306
SPARC_INS_NOP
@ SPARC_INS_NOP
Definition: sparc.h:428
SPARC_INS_FSUBS
@ SPARC_INS_FSUBS
Definition: sparc.h:395
SPARC_INS_FCMPGT16
@ SPARC_INS_FCMPGT16
Definition: sparc.h:274
SPARC_INS_FCMPNE32
@ SPARC_INS_FCMPNE32
Definition: sparc.h:279


grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:01:20