Rizin
unix-like reverse engineering framework and cli tools
sparc.h File Reference
#include "platform.h"

Go to the source code of this file.

Classes

struct  sparc_op_mem
 
struct  cs_sparc_op
 Instruction operand. More...
 
struct  cs_sparc
 Instruction structure. More...
 

Typedefs

typedef enum sparc_cc sparc_cc
 Enums corresponding to Sparc condition codes, both icc's and fcc's. More...
 
typedef enum sparc_hint sparc_hint
 Branch hint. More...
 
typedef enum sparc_op_type sparc_op_type
 Operand type for instruction's operands. More...
 
typedef enum sparc_reg sparc_reg
 SPARC registers. More...
 
typedef struct sparc_op_mem sparc_op_mem
 
typedef struct cs_sparc_op cs_sparc_op
 Instruction operand. More...
 
typedef struct cs_sparc cs_sparc
 Instruction structure. More...
 
typedef enum sparc_insn sparc_insn
 SPARC instruction. More...
 
typedef enum sparc_insn_group sparc_insn_group
 Group of SPARC instructions. More...
 

Enumerations

enum  sparc_cc {
  SPARC_CC_INVALID = 0 , SPARC_CC_ICC_A = 8+256 , SPARC_CC_ICC_N = 0+256 , SPARC_CC_ICC_NE = 9+256 ,
  SPARC_CC_ICC_E = 1+256 , SPARC_CC_ICC_G = 10+256 , SPARC_CC_ICC_LE = 2+256 , SPARC_CC_ICC_GE = 11+256 ,
  SPARC_CC_ICC_L = 3+256 , SPARC_CC_ICC_GU = 12+256 , SPARC_CC_ICC_LEU = 4+256 , SPARC_CC_ICC_CC = 13+256 ,
  SPARC_CC_ICC_CS = 5+256 , SPARC_CC_ICC_POS = 14+256 , SPARC_CC_ICC_NEG = 6+256 , SPARC_CC_ICC_VC = 15+256 ,
  SPARC_CC_ICC_VS = 7+256 , SPARC_CC_FCC_A = 8+16+256 , SPARC_CC_FCC_N = 0+16+256 , SPARC_CC_FCC_U = 7+16+256 ,
  SPARC_CC_FCC_G = 6+16+256 , SPARC_CC_FCC_UG = 5+16+256 , SPARC_CC_FCC_L = 4+16+256 , SPARC_CC_FCC_UL = 3+16+256 ,
  SPARC_CC_FCC_LG = 2+16+256 , SPARC_CC_FCC_NE = 1+16+256 , SPARC_CC_FCC_E = 9+16+256 , SPARC_CC_FCC_UE = 10+16+256 ,
  SPARC_CC_FCC_GE = 11+16+256 , SPARC_CC_FCC_UGE = 12+16+256 , SPARC_CC_FCC_LE = 13+16+256 , SPARC_CC_FCC_ULE = 14+16+256 ,
  SPARC_CC_FCC_O = 15+16+256
}
 Enums corresponding to Sparc condition codes, both icc's and fcc's. More...
 
enum  sparc_hint { SPARC_HINT_INVALID = 0 , SPARC_HINT_A = 1 << 0 , SPARC_HINT_PT = 1 << 1 , SPARC_HINT_PN = 1 << 2 }
 Branch hint. More...
 
enum  sparc_op_type { SPARC_OP_INVALID = 0 , SPARC_OP_REG , SPARC_OP_IMM , SPARC_OP_MEM }
 Operand type for instruction's operands. More...
 
enum  sparc_reg {
  SPARC_REG_INVALID = 0 , SPARC_REG_F0 , SPARC_REG_F1 , SPARC_REG_F2 ,
  SPARC_REG_F3 , SPARC_REG_F4 , SPARC_REG_F5 , SPARC_REG_F6 ,
  SPARC_REG_F7 , SPARC_REG_F8 , SPARC_REG_F9 , SPARC_REG_F10 ,
  SPARC_REG_F11 , SPARC_REG_F12 , SPARC_REG_F13 , SPARC_REG_F14 ,
  SPARC_REG_F15 , SPARC_REG_F16 , SPARC_REG_F17 , SPARC_REG_F18 ,
  SPARC_REG_F19 , SPARC_REG_F20 , SPARC_REG_F21 , SPARC_REG_F22 ,
  SPARC_REG_F23 , SPARC_REG_F24 , SPARC_REG_F25 , SPARC_REG_F26 ,
  SPARC_REG_F27 , SPARC_REG_F28 , SPARC_REG_F29 , SPARC_REG_F30 ,
  SPARC_REG_F31 , SPARC_REG_F32 , SPARC_REG_F34 , SPARC_REG_F36 ,
  SPARC_REG_F38 , SPARC_REG_F40 , SPARC_REG_F42 , SPARC_REG_F44 ,
  SPARC_REG_F46 , SPARC_REG_F48 , SPARC_REG_F50 , SPARC_REG_F52 ,
  SPARC_REG_F54 , SPARC_REG_F56 , SPARC_REG_F58 , SPARC_REG_F60 ,
  SPARC_REG_F62 , SPARC_REG_FCC0 , SPARC_REG_FCC1 , SPARC_REG_FCC2 ,
  SPARC_REG_FCC3 , SPARC_REG_FP , SPARC_REG_G0 , SPARC_REG_G1 ,
  SPARC_REG_G2 , SPARC_REG_G3 , SPARC_REG_G4 , SPARC_REG_G5 ,
  SPARC_REG_G6 , SPARC_REG_G7 , SPARC_REG_I0 , SPARC_REG_I1 ,
  SPARC_REG_I2 , SPARC_REG_I3 , SPARC_REG_I4 , SPARC_REG_I5 ,
  SPARC_REG_I7 , SPARC_REG_ICC , SPARC_REG_L0 , SPARC_REG_L1 ,
  SPARC_REG_L2 , SPARC_REG_L3 , SPARC_REG_L4 , SPARC_REG_L5 ,
  SPARC_REG_L6 , SPARC_REG_L7 , SPARC_REG_O0 , SPARC_REG_O1 ,
  SPARC_REG_O2 , SPARC_REG_O3 , SPARC_REG_O4 , SPARC_REG_O5 ,
  SPARC_REG_O7 , SPARC_REG_SP , SPARC_REG_Y , SPARC_REG_XCC ,
  SPARC_REG_ENDING , SPARC_REG_O6 = SPARC_REG_SP , SPARC_REG_I6 = SPARC_REG_FP
}
 SPARC registers. More...
 
enum  sparc_insn {
  SPARC_INS_INVALID = 0 , SPARC_INS_ADDCC , SPARC_INS_ADDX , SPARC_INS_ADDXCC ,
  SPARC_INS_ADDXC , SPARC_INS_ADDXCCC , SPARC_INS_ADD , SPARC_INS_ALIGNADDR ,
  SPARC_INS_ALIGNADDRL , SPARC_INS_ANDCC , SPARC_INS_ANDNCC , SPARC_INS_ANDN ,
  SPARC_INS_AND , SPARC_INS_ARRAY16 , SPARC_INS_ARRAY32 , SPARC_INS_ARRAY8 ,
  SPARC_INS_B , SPARC_INS_JMP , SPARC_INS_BMASK , SPARC_INS_FB ,
  SPARC_INS_BRGEZ , SPARC_INS_BRGZ , SPARC_INS_BRLEZ , SPARC_INS_BRLZ ,
  SPARC_INS_BRNZ , SPARC_INS_BRZ , SPARC_INS_BSHUFFLE , SPARC_INS_CALL ,
  SPARC_INS_CASX , SPARC_INS_CAS , SPARC_INS_CMASK16 , SPARC_INS_CMASK32 ,
  SPARC_INS_CMASK8 , SPARC_INS_CMP , SPARC_INS_EDGE16 , SPARC_INS_EDGE16L ,
  SPARC_INS_EDGE16LN , SPARC_INS_EDGE16N , SPARC_INS_EDGE32 , SPARC_INS_EDGE32L ,
  SPARC_INS_EDGE32LN , SPARC_INS_EDGE32N , SPARC_INS_EDGE8 , SPARC_INS_EDGE8L ,
  SPARC_INS_EDGE8LN , SPARC_INS_EDGE8N , SPARC_INS_FABSD , SPARC_INS_FABSQ ,
  SPARC_INS_FABSS , SPARC_INS_FADDD , SPARC_INS_FADDQ , SPARC_INS_FADDS ,
  SPARC_INS_FALIGNDATA , SPARC_INS_FAND , SPARC_INS_FANDNOT1 , SPARC_INS_FANDNOT1S ,
  SPARC_INS_FANDNOT2 , SPARC_INS_FANDNOT2S , SPARC_INS_FANDS , SPARC_INS_FCHKSM16 ,
  SPARC_INS_FCMPD , SPARC_INS_FCMPEQ16 , SPARC_INS_FCMPEQ32 , SPARC_INS_FCMPGT16 ,
  SPARC_INS_FCMPGT32 , SPARC_INS_FCMPLE16 , SPARC_INS_FCMPLE32 , SPARC_INS_FCMPNE16 ,
  SPARC_INS_FCMPNE32 , SPARC_INS_FCMPQ , SPARC_INS_FCMPS , SPARC_INS_FDIVD ,
  SPARC_INS_FDIVQ , SPARC_INS_FDIVS , SPARC_INS_FDMULQ , SPARC_INS_FDTOI ,
  SPARC_INS_FDTOQ , SPARC_INS_FDTOS , SPARC_INS_FDTOX , SPARC_INS_FEXPAND ,
  SPARC_INS_FHADDD , SPARC_INS_FHADDS , SPARC_INS_FHSUBD , SPARC_INS_FHSUBS ,
  SPARC_INS_FITOD , SPARC_INS_FITOQ , SPARC_INS_FITOS , SPARC_INS_FLCMPD ,
  SPARC_INS_FLCMPS , SPARC_INS_FLUSHW , SPARC_INS_FMEAN16 , SPARC_INS_FMOVD ,
  SPARC_INS_FMOVQ , SPARC_INS_FMOVRDGEZ , SPARC_INS_FMOVRQGEZ , SPARC_INS_FMOVRSGEZ ,
  SPARC_INS_FMOVRDGZ , SPARC_INS_FMOVRQGZ , SPARC_INS_FMOVRSGZ , SPARC_INS_FMOVRDLEZ ,
  SPARC_INS_FMOVRQLEZ , SPARC_INS_FMOVRSLEZ , SPARC_INS_FMOVRDLZ , SPARC_INS_FMOVRQLZ ,
  SPARC_INS_FMOVRSLZ , SPARC_INS_FMOVRDNZ , SPARC_INS_FMOVRQNZ , SPARC_INS_FMOVRSNZ ,
  SPARC_INS_FMOVRDZ , SPARC_INS_FMOVRQZ , SPARC_INS_FMOVRSZ , SPARC_INS_FMOVS ,
  SPARC_INS_FMUL8SUX16 , SPARC_INS_FMUL8ULX16 , SPARC_INS_FMUL8X16 , SPARC_INS_FMUL8X16AL ,
  SPARC_INS_FMUL8X16AU , SPARC_INS_FMULD , SPARC_INS_FMULD8SUX16 , SPARC_INS_FMULD8ULX16 ,
  SPARC_INS_FMULQ , SPARC_INS_FMULS , SPARC_INS_FNADDD , SPARC_INS_FNADDS ,
  SPARC_INS_FNAND , SPARC_INS_FNANDS , SPARC_INS_FNEGD , SPARC_INS_FNEGQ ,
  SPARC_INS_FNEGS , SPARC_INS_FNHADDD , SPARC_INS_FNHADDS , SPARC_INS_FNOR ,
  SPARC_INS_FNORS , SPARC_INS_FNOT1 , SPARC_INS_FNOT1S , SPARC_INS_FNOT2 ,
  SPARC_INS_FNOT2S , SPARC_INS_FONE , SPARC_INS_FONES , SPARC_INS_FOR ,
  SPARC_INS_FORNOT1 , SPARC_INS_FORNOT1S , SPARC_INS_FORNOT2 , SPARC_INS_FORNOT2S ,
  SPARC_INS_FORS , SPARC_INS_FPACK16 , SPARC_INS_FPACK32 , SPARC_INS_FPACKFIX ,
  SPARC_INS_FPADD16 , SPARC_INS_FPADD16S , SPARC_INS_FPADD32 , SPARC_INS_FPADD32S ,
  SPARC_INS_FPADD64 , SPARC_INS_FPMERGE , SPARC_INS_FPSUB16 , SPARC_INS_FPSUB16S ,
  SPARC_INS_FPSUB32 , SPARC_INS_FPSUB32S , SPARC_INS_FQTOD , SPARC_INS_FQTOI ,
  SPARC_INS_FQTOS , SPARC_INS_FQTOX , SPARC_INS_FSLAS16 , SPARC_INS_FSLAS32 ,
  SPARC_INS_FSLL16 , SPARC_INS_FSLL32 , SPARC_INS_FSMULD , SPARC_INS_FSQRTD ,
  SPARC_INS_FSQRTQ , SPARC_INS_FSQRTS , SPARC_INS_FSRA16 , SPARC_INS_FSRA32 ,
  SPARC_INS_FSRC1 , SPARC_INS_FSRC1S , SPARC_INS_FSRC2 , SPARC_INS_FSRC2S ,
  SPARC_INS_FSRL16 , SPARC_INS_FSRL32 , SPARC_INS_FSTOD , SPARC_INS_FSTOI ,
  SPARC_INS_FSTOQ , SPARC_INS_FSTOX , SPARC_INS_FSUBD , SPARC_INS_FSUBQ ,
  SPARC_INS_FSUBS , SPARC_INS_FXNOR , SPARC_INS_FXNORS , SPARC_INS_FXOR ,
  SPARC_INS_FXORS , SPARC_INS_FXTOD , SPARC_INS_FXTOQ , SPARC_INS_FXTOS ,
  SPARC_INS_FZERO , SPARC_INS_FZEROS , SPARC_INS_JMPL , SPARC_INS_LDD ,
  SPARC_INS_LD , SPARC_INS_LDQ , SPARC_INS_LDSB , SPARC_INS_LDSH ,
  SPARC_INS_LDSW , SPARC_INS_LDUB , SPARC_INS_LDUH , SPARC_INS_LDX ,
  SPARC_INS_LZCNT , SPARC_INS_MEMBAR , SPARC_INS_MOVDTOX , SPARC_INS_MOV ,
  SPARC_INS_MOVRGEZ , SPARC_INS_MOVRGZ , SPARC_INS_MOVRLEZ , SPARC_INS_MOVRLZ ,
  SPARC_INS_MOVRNZ , SPARC_INS_MOVRZ , SPARC_INS_MOVSTOSW , SPARC_INS_MOVSTOUW ,
  SPARC_INS_MULX , SPARC_INS_NOP , SPARC_INS_ORCC , SPARC_INS_ORNCC ,
  SPARC_INS_ORN , SPARC_INS_OR , SPARC_INS_PDIST , SPARC_INS_PDISTN ,
  SPARC_INS_POPC , SPARC_INS_RD , SPARC_INS_RESTORE , SPARC_INS_RETT ,
  SPARC_INS_SAVE , SPARC_INS_SDIVCC , SPARC_INS_SDIVX , SPARC_INS_SDIV ,
  SPARC_INS_SETHI , SPARC_INS_SHUTDOWN , SPARC_INS_SIAM , SPARC_INS_SLLX ,
  SPARC_INS_SLL , SPARC_INS_SMULCC , SPARC_INS_SMUL , SPARC_INS_SRAX ,
  SPARC_INS_SRA , SPARC_INS_SRLX , SPARC_INS_SRL , SPARC_INS_STBAR ,
  SPARC_INS_STB , SPARC_INS_STD , SPARC_INS_ST , SPARC_INS_STH ,
  SPARC_INS_STQ , SPARC_INS_STX , SPARC_INS_SUBCC , SPARC_INS_SUBX ,
  SPARC_INS_SUBXCC , SPARC_INS_SUB , SPARC_INS_SWAP , SPARC_INS_TADDCCTV ,
  SPARC_INS_TADDCC , SPARC_INS_T , SPARC_INS_TSUBCCTV , SPARC_INS_TSUBCC ,
  SPARC_INS_UDIVCC , SPARC_INS_UDIVX , SPARC_INS_UDIV , SPARC_INS_UMULCC ,
  SPARC_INS_UMULXHI , SPARC_INS_UMUL , SPARC_INS_UNIMP , SPARC_INS_FCMPED ,
  SPARC_INS_FCMPEQ , SPARC_INS_FCMPES , SPARC_INS_WR , SPARC_INS_XMULX ,
  SPARC_INS_XMULXHI , SPARC_INS_XNORCC , SPARC_INS_XNOR , SPARC_INS_XORCC ,
  SPARC_INS_XOR , SPARC_INS_RET , SPARC_INS_RETL , SPARC_INS_ENDING
}
 SPARC instruction. More...
 
enum  sparc_insn_group {
  SPARC_GRP_INVALID = 0 , SPARC_GRP_JUMP , SPARC_GRP_HARDQUAD = 128 , SPARC_GRP_V9 ,
  SPARC_GRP_VIS , SPARC_GRP_VIS2 , SPARC_GRP_VIS3 , SPARC_GRP_32BIT ,
  SPARC_GRP_64BIT , SPARC_GRP_ENDING
}
 Group of SPARC instructions. More...
 

Typedef Documentation

◆ cs_sparc

typedef struct cs_sparc cs_sparc

Instruction structure.

◆ cs_sparc_op

typedef struct cs_sparc_op cs_sparc_op

Instruction operand.

◆ sparc_cc

typedef enum sparc_cc sparc_cc

Enums corresponding to Sparc condition codes, both icc's and fcc's.

◆ sparc_hint

typedef enum sparc_hint sparc_hint

Branch hint.

◆ sparc_insn

typedef enum sparc_insn sparc_insn

SPARC instruction.

◆ sparc_insn_group

Group of SPARC instructions.

◆ sparc_op_mem

typedef struct sparc_op_mem sparc_op_mem

Instruction's operand referring to memory This is associated with SPARC_OP_MEM operand type above

◆ sparc_op_type

Operand type for instruction's operands.

◆ sparc_reg

typedef enum sparc_reg sparc_reg

SPARC registers.

Enumeration Type Documentation

◆ sparc_cc

enum sparc_cc

Enums corresponding to Sparc condition codes, both icc's and fcc's.

Enumerator
SPARC_CC_INVALID 

invalid CC (default)

SPARC_CC_ICC_A 

Always.

SPARC_CC_ICC_N 

Never.

SPARC_CC_ICC_NE 

Not Equal.

SPARC_CC_ICC_E 

Equal.

SPARC_CC_ICC_G 

Greater.

SPARC_CC_ICC_LE 

Less or Equal.

SPARC_CC_ICC_GE 

Greater or Equal.

SPARC_CC_ICC_L 

Less.

SPARC_CC_ICC_GU 

Greater Unsigned.

SPARC_CC_ICC_LEU 

Less or Equal Unsigned.

SPARC_CC_ICC_CC 

Carry Clear/Great or Equal Unsigned.

SPARC_CC_ICC_CS 

Carry Set/Less Unsigned.

SPARC_CC_ICC_POS 

Positive.

SPARC_CC_ICC_NEG 

Negative.

SPARC_CC_ICC_VC 

Overflow Clear.

SPARC_CC_ICC_VS 

Overflow Set.

SPARC_CC_FCC_A 

Always.

SPARC_CC_FCC_N 

Never.

SPARC_CC_FCC_U 

Unordered.

SPARC_CC_FCC_G 

Greater.

SPARC_CC_FCC_UG 

Unordered or Greater.

SPARC_CC_FCC_L 

Less.

SPARC_CC_FCC_UL 

Unordered or Less.

SPARC_CC_FCC_LG 

Less or Greater.

SPARC_CC_FCC_NE 

Not Equal.

SPARC_CC_FCC_E 

Equal.

SPARC_CC_FCC_UE 

Unordered or Equal.

SPARC_CC_FCC_GE 

Greater or Equal.

SPARC_CC_FCC_UGE 

Unordered or Greater or Equal.

SPARC_CC_FCC_LE 

Less or Equal.

SPARC_CC_FCC_ULE 

Unordered or Less or Equal.

SPARC_CC_FCC_O 

Ordered.

Definition at line 22 of file sparc.h.

22  {
23  SPARC_CC_INVALID = 0,
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;
sparc_cc
Enums corresponding to Sparc condition codes, both icc's and fcc's.
Definition: sparc.h:22
@ SPARC_CC_ICC_NE
Not Equal.
Definition: sparc.h:27
@ SPARC_CC_ICC_LE
Less or Equal.
Definition: sparc.h:30
@ SPARC_CC_FCC_NE
Not Equal.
Definition: sparc.h:51
@ SPARC_CC_ICC_GE
Greater or Equal.
Definition: sparc.h:31
@ SPARC_CC_ICC_N
Never.
Definition: sparc.h:26
@ SPARC_CC_ICC_G
Greater.
Definition: sparc.h:29
@ SPARC_CC_ICC_E
Equal.
Definition: sparc.h:28
@ SPARC_CC_ICC_A
Always.
Definition: sparc.h:25
@ SPARC_CC_INVALID
invalid CC (default)
Definition: sparc.h:23
@ SPARC_CC_FCC_L
Less.
Definition: sparc.h:48
@ SPARC_CC_FCC_UE
Unordered or Equal.
Definition: sparc.h:53
@ SPARC_CC_FCC_E
Equal.
Definition: sparc.h:52
@ SPARC_CC_ICC_CC
Carry Clear/Great or Equal Unsigned.
Definition: sparc.h:35
@ SPARC_CC_ICC_POS
Positive.
Definition: sparc.h:37
@ SPARC_CC_FCC_A
Always.
Definition: sparc.h:43
@ SPARC_CC_FCC_GE
Greater or Equal.
Definition: sparc.h:54
@ SPARC_CC_FCC_U
Unordered.
Definition: sparc.h:45
@ SPARC_CC_FCC_UG
Unordered or Greater.
Definition: sparc.h:47
@ SPARC_CC_FCC_LG
Less or Greater.
Definition: sparc.h:50
@ SPARC_CC_FCC_O
Ordered.
Definition: sparc.h:58
@ SPARC_CC_FCC_ULE
Unordered or Less or Equal.
Definition: sparc.h:57
@ SPARC_CC_FCC_UGE
Unordered or Greater or Equal.
Definition: sparc.h:55
@ SPARC_CC_ICC_CS
Carry Set/Less Unsigned.
Definition: sparc.h:36
@ SPARC_CC_FCC_G
Greater.
Definition: sparc.h:46
@ SPARC_CC_ICC_NEG
Negative.
Definition: sparc.h:38
@ SPARC_CC_FCC_LE
Less or Equal.
Definition: sparc.h:56
@ SPARC_CC_FCC_UL
Unordered or Less.
Definition: sparc.h:49
@ SPARC_CC_FCC_N
Never.
Definition: sparc.h:44
@ SPARC_CC_ICC_VS
Overflow Set.
Definition: sparc.h:40
@ SPARC_CC_ICC_L
Less.
Definition: sparc.h:32
@ SPARC_CC_ICC_VC
Overflow Clear.
Definition: sparc.h:39
@ SPARC_CC_ICC_LEU
Less or Equal Unsigned.
Definition: sparc.h:34
@ SPARC_CC_ICC_GU
Greater Unsigned.
Definition: sparc.h:33

◆ sparc_hint

enum sparc_hint

Branch hint.

Enumerator
SPARC_HINT_INVALID 

no hint

SPARC_HINT_A 

annul delay slot instruction

SPARC_HINT_PT 

branch taken

SPARC_HINT_PN 

branch NOT taken

Definition at line 62 of file sparc.h.

62  {
63  SPARC_HINT_INVALID = 0,
64  SPARC_HINT_A = 1 << 0,
65  SPARC_HINT_PT = 1 << 1,
66  SPARC_HINT_PN = 1 << 2,
67 } sparc_hint;
sparc_hint
Branch hint.
Definition: sparc.h:62
@ SPARC_HINT_A
annul delay slot instruction
Definition: sparc.h:64
@ SPARC_HINT_PN
branch NOT taken
Definition: sparc.h:66
@ SPARC_HINT_INVALID
no hint
Definition: sparc.h:63
@ SPARC_HINT_PT
branch taken
Definition: sparc.h:65

◆ sparc_insn

enum sparc_insn

SPARC instruction.

Enumerator
SPARC_INS_INVALID 
SPARC_INS_ADDCC 
SPARC_INS_ADDX 
SPARC_INS_ADDXCC 
SPARC_INS_ADDXC 
SPARC_INS_ADDXCCC 
SPARC_INS_ADD 
SPARC_INS_ALIGNADDR 
SPARC_INS_ALIGNADDRL 
SPARC_INS_ANDCC 
SPARC_INS_ANDNCC 
SPARC_INS_ANDN 
SPARC_INS_AND 
SPARC_INS_ARRAY16 
SPARC_INS_ARRAY32 
SPARC_INS_ARRAY8 
SPARC_INS_B 
SPARC_INS_JMP 
SPARC_INS_BMASK 
SPARC_INS_FB 
SPARC_INS_BRGEZ 
SPARC_INS_BRGZ 
SPARC_INS_BRLEZ 
SPARC_INS_BRLZ 
SPARC_INS_BRNZ 
SPARC_INS_BRZ 
SPARC_INS_BSHUFFLE 
SPARC_INS_CALL 
SPARC_INS_CASX 
SPARC_INS_CAS 
SPARC_INS_CMASK16 
SPARC_INS_CMASK32 
SPARC_INS_CMASK8 
SPARC_INS_CMP 
SPARC_INS_EDGE16 
SPARC_INS_EDGE16L 
SPARC_INS_EDGE16LN 
SPARC_INS_EDGE16N 
SPARC_INS_EDGE32 
SPARC_INS_EDGE32L 
SPARC_INS_EDGE32LN 
SPARC_INS_EDGE32N 
SPARC_INS_EDGE8 
SPARC_INS_EDGE8L 
SPARC_INS_EDGE8LN 
SPARC_INS_EDGE8N 
SPARC_INS_FABSD 
SPARC_INS_FABSQ 
SPARC_INS_FABSS 
SPARC_INS_FADDD 
SPARC_INS_FADDQ 
SPARC_INS_FADDS 
SPARC_INS_FALIGNDATA 
SPARC_INS_FAND 
SPARC_INS_FANDNOT1 
SPARC_INS_FANDNOT1S 
SPARC_INS_FANDNOT2 
SPARC_INS_FANDNOT2S 
SPARC_INS_FANDS 
SPARC_INS_FCHKSM16 
SPARC_INS_FCMPD 
SPARC_INS_FCMPEQ16 
SPARC_INS_FCMPEQ32 
SPARC_INS_FCMPGT16 
SPARC_INS_FCMPGT32 
SPARC_INS_FCMPLE16 
SPARC_INS_FCMPLE32 
SPARC_INS_FCMPNE16 
SPARC_INS_FCMPNE32 
SPARC_INS_FCMPQ 
SPARC_INS_FCMPS 
SPARC_INS_FDIVD 
SPARC_INS_FDIVQ 
SPARC_INS_FDIVS 
SPARC_INS_FDMULQ 
SPARC_INS_FDTOI 
SPARC_INS_FDTOQ 
SPARC_INS_FDTOS 
SPARC_INS_FDTOX 
SPARC_INS_FEXPAND 
SPARC_INS_FHADDD 
SPARC_INS_FHADDS 
SPARC_INS_FHSUBD 
SPARC_INS_FHSUBS 
SPARC_INS_FITOD 
SPARC_INS_FITOQ 
SPARC_INS_FITOS 
SPARC_INS_FLCMPD 
SPARC_INS_FLCMPS 
SPARC_INS_FLUSHW 
SPARC_INS_FMEAN16 
SPARC_INS_FMOVD 
SPARC_INS_FMOVQ 
SPARC_INS_FMOVRDGEZ 
SPARC_INS_FMOVRQGEZ 
SPARC_INS_FMOVRSGEZ 
SPARC_INS_FMOVRDGZ 
SPARC_INS_FMOVRQGZ 
SPARC_INS_FMOVRSGZ 
SPARC_INS_FMOVRDLEZ 
SPARC_INS_FMOVRQLEZ 
SPARC_INS_FMOVRSLEZ 
SPARC_INS_FMOVRDLZ 
SPARC_INS_FMOVRQLZ 
SPARC_INS_FMOVRSLZ 
SPARC_INS_FMOVRDNZ 
SPARC_INS_FMOVRQNZ 
SPARC_INS_FMOVRSNZ 
SPARC_INS_FMOVRDZ 
SPARC_INS_FMOVRQZ 
SPARC_INS_FMOVRSZ 
SPARC_INS_FMOVS 
SPARC_INS_FMUL8SUX16 
SPARC_INS_FMUL8ULX16 
SPARC_INS_FMUL8X16 
SPARC_INS_FMUL8X16AL 
SPARC_INS_FMUL8X16AU 
SPARC_INS_FMULD 
SPARC_INS_FMULD8SUX16 
SPARC_INS_FMULD8ULX16 
SPARC_INS_FMULQ 
SPARC_INS_FMULS 
SPARC_INS_FNADDD 
SPARC_INS_FNADDS 
SPARC_INS_FNAND 
SPARC_INS_FNANDS 
SPARC_INS_FNEGD 
SPARC_INS_FNEGQ 
SPARC_INS_FNEGS 
SPARC_INS_FNHADDD 
SPARC_INS_FNHADDS 
SPARC_INS_FNOR 
SPARC_INS_FNORS 
SPARC_INS_FNOT1 
SPARC_INS_FNOT1S 
SPARC_INS_FNOT2 
SPARC_INS_FNOT2S 
SPARC_INS_FONE 
SPARC_INS_FONES 
SPARC_INS_FOR 
SPARC_INS_FORNOT1 
SPARC_INS_FORNOT1S 
SPARC_INS_FORNOT2 
SPARC_INS_FORNOT2S 
SPARC_INS_FORS 
SPARC_INS_FPACK16 
SPARC_INS_FPACK32 
SPARC_INS_FPACKFIX 
SPARC_INS_FPADD16 
SPARC_INS_FPADD16S 
SPARC_INS_FPADD32 
SPARC_INS_FPADD32S 
SPARC_INS_FPADD64 
SPARC_INS_FPMERGE 
SPARC_INS_FPSUB16 
SPARC_INS_FPSUB16S 
SPARC_INS_FPSUB32 
SPARC_INS_FPSUB32S 
SPARC_INS_FQTOD 
SPARC_INS_FQTOI 
SPARC_INS_FQTOS 
SPARC_INS_FQTOX 
SPARC_INS_FSLAS16 
SPARC_INS_FSLAS32 
SPARC_INS_FSLL16 
SPARC_INS_FSLL32 
SPARC_INS_FSMULD 
SPARC_INS_FSQRTD 
SPARC_INS_FSQRTQ 
SPARC_INS_FSQRTS 
SPARC_INS_FSRA16 
SPARC_INS_FSRA32 
SPARC_INS_FSRC1 
SPARC_INS_FSRC1S 
SPARC_INS_FSRC2 
SPARC_INS_FSRC2S 
SPARC_INS_FSRL16 
SPARC_INS_FSRL32 
SPARC_INS_FSTOD 
SPARC_INS_FSTOI 
SPARC_INS_FSTOQ 
SPARC_INS_FSTOX 
SPARC_INS_FSUBD 
SPARC_INS_FSUBQ 
SPARC_INS_FSUBS 
SPARC_INS_FXNOR 
SPARC_INS_FXNORS 
SPARC_INS_FXOR 
SPARC_INS_FXORS 
SPARC_INS_FXTOD 
SPARC_INS_FXTOQ 
SPARC_INS_FXTOS 
SPARC_INS_FZERO 
SPARC_INS_FZEROS 
SPARC_INS_JMPL 
SPARC_INS_LDD 
SPARC_INS_LD 
SPARC_INS_LDQ 
SPARC_INS_LDSB 
SPARC_INS_LDSH 
SPARC_INS_LDSW 
SPARC_INS_LDUB 
SPARC_INS_LDUH 
SPARC_INS_LDX 
SPARC_INS_LZCNT 
SPARC_INS_MEMBAR 
SPARC_INS_MOVDTOX 
SPARC_INS_MOV 
SPARC_INS_MOVRGEZ 
SPARC_INS_MOVRGZ 
SPARC_INS_MOVRLEZ 
SPARC_INS_MOVRLZ 
SPARC_INS_MOVRNZ 
SPARC_INS_MOVRZ 
SPARC_INS_MOVSTOSW 
SPARC_INS_MOVSTOUW 
SPARC_INS_MULX 
SPARC_INS_NOP 
SPARC_INS_ORCC 
SPARC_INS_ORNCC 
SPARC_INS_ORN 
SPARC_INS_OR 
SPARC_INS_PDIST 
SPARC_INS_PDISTN 
SPARC_INS_POPC 
SPARC_INS_RD 
SPARC_INS_RESTORE 
SPARC_INS_RETT 
SPARC_INS_SAVE 
SPARC_INS_SDIVCC 
SPARC_INS_SDIVX 
SPARC_INS_SDIV 
SPARC_INS_SETHI 
SPARC_INS_SHUTDOWN 
SPARC_INS_SIAM 
SPARC_INS_SLLX 
SPARC_INS_SLL 
SPARC_INS_SMULCC 
SPARC_INS_SMUL 
SPARC_INS_SRAX 
SPARC_INS_SRA 
SPARC_INS_SRLX 
SPARC_INS_SRL 
SPARC_INS_STBAR 
SPARC_INS_STB 
SPARC_INS_STD 
SPARC_INS_ST 
SPARC_INS_STH 
SPARC_INS_STQ 
SPARC_INS_STX 
SPARC_INS_SUBCC 
SPARC_INS_SUBX 
SPARC_INS_SUBXCC 
SPARC_INS_SUB 
SPARC_INS_SWAP 
SPARC_INS_TADDCCTV 
SPARC_INS_TADDCC 
SPARC_INS_T 
SPARC_INS_TSUBCCTV 
SPARC_INS_TSUBCC 
SPARC_INS_UDIVCC 
SPARC_INS_UDIVX 
SPARC_INS_UDIV 
SPARC_INS_UMULCC 
SPARC_INS_UMULXHI 
SPARC_INS_UMUL 
SPARC_INS_UNIMP 
SPARC_INS_FCMPED 
SPARC_INS_FCMPEQ 
SPARC_INS_FCMPES 
SPARC_INS_WR 
SPARC_INS_XMULX 
SPARC_INS_XMULXHI 
SPARC_INS_XNORCC 
SPARC_INS_XNOR 
SPARC_INS_XORCC 
SPARC_INS_XOR 
SPARC_INS_RET 
SPARC_INS_RETL 
SPARC_INS_ENDING 

Definition at line 209 of file sparc.h.

209  {
210  SPARC_INS_INVALID = 0,
211 
227  SPARC_INS_B,
230  SPARC_INS_FB,
407  SPARC_INS_LD,
432  SPARC_INS_OR,
436  SPARC_INS_RD,
457  SPARC_INS_ST,
468  SPARC_INS_T,
481  SPARC_INS_WR,
488 
489  // alias instructions
492 
493  SPARC_INS_ENDING, // <-- mark the end of the list of instructions
494 } sparc_insn;
sparc_insn
SPARC instruction.
Definition: sparc.h:209
@ SPARC_INS_BMASK
Definition: sparc.h:229
@ SPARC_INS_UNIMP
Definition: sparc.h:477
@ SPARC_INS_FSUBQ
Definition: sparc.h:394
@ SPARC_INS_NOP
Definition: sparc.h:428
@ SPARC_INS_FPADD32S
Definition: sparc.h:362
@ SPARC_INS_CAS
Definition: sparc.h:240
@ SPARC_INS_FSMULD
Definition: sparc.h:377
@ SPARC_INS_SIAM
Definition: sparc.h:445
@ SPARC_INS_SRAX
Definition: sparc.h:450
@ SPARC_INS_FPSUB16S
Definition: sparc.h:366
@ SPARC_INS_FSRL16
Definition: sparc.h:387
@ SPARC_INS_FADDD
Definition: sparc.h:260
@ SPARC_INS_UDIV
Definition: sparc.h:473
@ SPARC_INS_ARRAY8
Definition: sparc.h:226
@ SPARC_INS_BRLZ
Definition: sparc.h:234
@ SPARC_INS_STQ
Definition: sparc.h:459
@ SPARC_INS_FMUL8ULX16
Definition: sparc.h:324
@ SPARC_INS_FANDNOT2S
Definition: sparc.h:268
@ SPARC_INS_FSRC1S
Definition: sparc.h:384
@ SPARC_INS_RETL
Definition: sparc.h:491
@ SPARC_INS_FMOVRSZ
Definition: sparc.h:321
@ SPARC_INS_FONES
Definition: sparc.h:349
@ SPARC_INS_FXTOD
Definition: sparc.h:400
@ SPARC_INS_ALIGNADDR
Definition: sparc.h:218
@ SPARC_INS_CMASK32
Definition: sparc.h:242
@ SPARC_INS_SWAP
Definition: sparc.h:465
@ SPARC_INS_SUBCC
Definition: sparc.h:461
@ SPARC_INS_FMULQ
Definition: sparc.h:331
@ SPARC_INS_FSQRTD
Definition: sparc.h:378
@ SPARC_INS_FMULD8SUX16
Definition: sparc.h:329
@ SPARC_INS_FORNOT1
Definition: sparc.h:351
@ SPARC_INS_FMOVRSGZ
Definition: sparc.h:309
@ SPARC_INS_FNOT1S
Definition: sparc.h:345
@ SPARC_INS_FLCMPD
Definition: sparc.h:298
@ SPARC_INS_SMUL
Definition: sparc.h:449
@ SPARC_INS_FCMPEQ16
Definition: sparc.h:272
@ SPARC_INS_FSRC1
Definition: sparc.h:383
@ SPARC_INS_ADDXC
Definition: sparc.h:215
@ SPARC_INS_XMULX
Definition: sparc.h:482
@ SPARC_INS_XORCC
Definition: sparc.h:486
@ SPARC_INS_EDGE8
Definition: sparc.h:253
@ SPARC_INS_FNOT2S
Definition: sparc.h:347
@ SPARC_INS_EDGE16L
Definition: sparc.h:246
@ SPARC_INS_SAVE
Definition: sparc.h:439
@ SPARC_INS_FMOVRSLZ
Definition: sparc.h:315
@ SPARC_INS_BRGEZ
Definition: sparc.h:231
@ SPARC_INS_XOR
Definition: sparc.h:487
@ SPARC_INS_FONE
Definition: sparc.h:348
@ SPARC_INS_FMOVRDGEZ
Definition: sparc.h:304
@ SPARC_INS_B
Definition: sparc.h:227
@ SPARC_INS_TADDCCTV
Definition: sparc.h:466
@ SPARC_INS_FSUBD
Definition: sparc.h:393
@ SPARC_INS_FMOVRDNZ
Definition: sparc.h:316
@ SPARC_INS_LDSW
Definition: sparc.h:411
@ SPARC_INS_FMULS
Definition: sparc.h:332
@ SPARC_INS_FNEGQ
Definition: sparc.h:338
@ SPARC_INS_SDIV
Definition: sparc.h:442
@ SPARC_INS_STD
Definition: sparc.h:456
@ SPARC_INS_JMP
Definition: sparc.h:228
@ SPARC_INS_FDIVQ
Definition: sparc.h:283
@ SPARC_INS_FSLAS16
Definition: sparc.h:373
@ SPARC_INS_FNANDS
Definition: sparc.h:336
@ SPARC_INS_FCMPD
Definition: sparc.h:271
@ SPARC_INS_FSQRTQ
Definition: sparc.h:379
@ SPARC_INS_FCMPEQ
Definition: sparc.h:479
@ SPARC_INS_SLL
Definition: sparc.h:447
@ SPARC_INS_FLCMPS
Definition: sparc.h:299
@ SPARC_INS_AND
Definition: sparc.h:223
@ SPARC_INS_UMULCC
Definition: sparc.h:474
@ SPARC_INS_CALL
Definition: sparc.h:238
@ SPARC_INS_CMASK8
Definition: sparc.h:243
@ SPARC_INS_ORNCC
Definition: sparc.h:430
@ SPARC_INS_BRZ
Definition: sparc.h:236
@ SPARC_INS_MOVRLZ
Definition: sparc.h:422
@ SPARC_INS_ADDCC
Definition: sparc.h:212
@ SPARC_INS_LDSB
Definition: sparc.h:409
@ SPARC_INS_XMULXHI
Definition: sparc.h:483
@ SPARC_INS_FSQRTS
Definition: sparc.h:380
@ SPARC_INS_FPSUB32
Definition: sparc.h:367
@ SPARC_INS_FMOVQ
Definition: sparc.h:303
@ SPARC_INS_FPACK32
Definition: sparc.h:357
@ SPARC_INS_FCMPES
Definition: sparc.h:480
@ SPARC_INS_FSRC2
Definition: sparc.h:385
@ SPARC_INS_FORNOT2
Definition: sparc.h:353
@ SPARC_INS_LZCNT
Definition: sparc.h:415
@ SPARC_INS_UMULXHI
Definition: sparc.h:475
@ SPARC_INS_FHSUBD
Definition: sparc.h:293
@ SPARC_INS_ENDING
Definition: sparc.h:493
@ SPARC_INS_FSTOD
Definition: sparc.h:389
@ SPARC_INS_ORN
Definition: sparc.h:431
@ SPARC_INS_FCHKSM16
Definition: sparc.h:270
@ SPARC_INS_FMUL8X16
Definition: sparc.h:325
@ SPARC_INS_STB
Definition: sparc.h:455
@ SPARC_INS_SRA
Definition: sparc.h:451
@ SPARC_INS_SLLX
Definition: sparc.h:446
@ SPARC_INS_FMOVRQLEZ
Definition: sparc.h:311
@ SPARC_INS_FALIGNDATA
Definition: sparc.h:263
@ SPARC_INS_ANDN
Definition: sparc.h:222
@ SPARC_INS_FDTOX
Definition: sparc.h:289
@ SPARC_INS_FQTOI
Definition: sparc.h:370
@ SPARC_INS_FABSS
Definition: sparc.h:259
@ SPARC_INS_MOV
Definition: sparc.h:418
@ SPARC_INS_ALIGNADDRL
Definition: sparc.h:219
@ SPARC_INS_RD
Definition: sparc.h:436
@ SPARC_INS_SRLX
Definition: sparc.h:452
@ SPARC_INS_CASX
Definition: sparc.h:239
@ SPARC_INS_BRNZ
Definition: sparc.h:235
@ SPARC_INS_MOVRGEZ
Definition: sparc.h:419
@ SPARC_INS_FSRA32
Definition: sparc.h:382
@ SPARC_INS_FCMPNE16
Definition: sparc.h:278
@ SPARC_INS_FXTOS
Definition: sparc.h:402
@ SPARC_INS_UDIVCC
Definition: sparc.h:471
@ SPARC_INS_EDGE32N
Definition: sparc.h:252
@ SPARC_INS_FITOD
Definition: sparc.h:295
@ SPARC_INS_EDGE16LN
Definition: sparc.h:247
@ SPARC_INS_MOVSTOUW
Definition: sparc.h:426
@ SPARC_INS_FNHADDD
Definition: sparc.h:340
@ SPARC_INS_FMOVD
Definition: sparc.h:302
@ SPARC_INS_FXTOQ
Definition: sparc.h:401
@ SPARC_INS_FNORS
Definition: sparc.h:343
@ SPARC_INS_FCMPNE32
Definition: sparc.h:279
@ SPARC_INS_FQTOD
Definition: sparc.h:369
@ SPARC_INS_FSLL16
Definition: sparc.h:375
@ SPARC_INS_FORS
Definition: sparc.h:355
@ SPARC_INS_ST
Definition: sparc.h:457
@ SPARC_INS_WR
Definition: sparc.h:481
@ SPARC_INS_FSRC2S
Definition: sparc.h:386
@ SPARC_INS_FXORS
Definition: sparc.h:399
@ SPARC_INS_MULX
Definition: sparc.h:427
@ SPARC_INS_SETHI
Definition: sparc.h:443
@ SPARC_INS_EDGE8LN
Definition: sparc.h:255
@ SPARC_INS_ADDXCC
Definition: sparc.h:214
@ SPARC_INS_FCMPEQ32
Definition: sparc.h:273
@ SPARC_INS_FSTOI
Definition: sparc.h:390
@ SPARC_INS_PDIST
Definition: sparc.h:433
@ SPARC_INS_BRLEZ
Definition: sparc.h:233
@ SPARC_INS_FDIVD
Definition: sparc.h:282
@ SPARC_INS_SRL
Definition: sparc.h:453
@ SPARC_INS_SUBXCC
Definition: sparc.h:463
@ SPARC_INS_FANDS
Definition: sparc.h:269
@ SPARC_INS_FHSUBS
Definition: sparc.h:294
@ SPARC_INS_ARRAY16
Definition: sparc.h:224
@ SPARC_INS_EDGE8N
Definition: sparc.h:256
@ SPARC_INS_OR
Definition: sparc.h:432
@ SPARC_INS_FITOS
Definition: sparc.h:297
@ SPARC_INS_STBAR
Definition: sparc.h:454
@ SPARC_INS_FCMPQ
Definition: sparc.h:280
@ SPARC_INS_T
Definition: sparc.h:468
@ SPARC_INS_INVALID
Definition: sparc.h:210
@ SPARC_INS_FANDNOT1S
Definition: sparc.h:266
@ SPARC_INS_SMULCC
Definition: sparc.h:448
@ SPARC_INS_FXNORS
Definition: sparc.h:397
@ SPARC_INS_FADDS
Definition: sparc.h:262
@ SPARC_INS_FSRA16
Definition: sparc.h:381
@ SPARC_INS_ORCC
Definition: sparc.h:429
@ SPARC_INS_JMPL
Definition: sparc.h:405
@ SPARC_INS_FHADDS
Definition: sparc.h:292
@ SPARC_INS_FZERO
Definition: sparc.h:403
@ SPARC_INS_FMOVRSGEZ
Definition: sparc.h:306
@ SPARC_INS_FXOR
Definition: sparc.h:398
@ SPARC_INS_FDTOI
Definition: sparc.h:286
@ SPARC_INS_XNORCC
Definition: sparc.h:484
@ SPARC_INS_MOVRGZ
Definition: sparc.h:420
@ SPARC_INS_SDIVCC
Definition: sparc.h:440
@ SPARC_INS_FSTOQ
Definition: sparc.h:391
@ SPARC_INS_FNADDD
Definition: sparc.h:333
@ SPARC_INS_FMOVRSLEZ
Definition: sparc.h:312
@ SPARC_INS_FPACK16
Definition: sparc.h:356
@ SPARC_INS_FNOR
Definition: sparc.h:342
@ SPARC_INS_FAND
Definition: sparc.h:264
@ SPARC_INS_FMEAN16
Definition: sparc.h:301
@ SPARC_INS_FMUL8X16AL
Definition: sparc.h:326
@ SPARC_INS_FADDQ
Definition: sparc.h:261
@ SPARC_INS_RESTORE
Definition: sparc.h:437
@ SPARC_INS_RETT
Definition: sparc.h:438
@ SPARC_INS_FQTOS
Definition: sparc.h:371
@ SPARC_INS_MEMBAR
Definition: sparc.h:416
@ SPARC_INS_ADDXCCC
Definition: sparc.h:216
@ SPARC_INS_BSHUFFLE
Definition: sparc.h:237
@ SPARC_INS_FMOVRQNZ
Definition: sparc.h:317
@ SPARC_INS_FSUBS
Definition: sparc.h:395
@ SPARC_INS_FXNOR
Definition: sparc.h:396
@ SPARC_INS_LDQ
Definition: sparc.h:408
@ SPARC_INS_FNOT2
Definition: sparc.h:346
@ SPARC_INS_FCMPED
Definition: sparc.h:478
@ SPARC_INS_SDIVX
Definition: sparc.h:441
@ SPARC_INS_FDIVS
Definition: sparc.h:284
@ SPARC_INS_MOVRNZ
Definition: sparc.h:423
@ SPARC_INS_SHUTDOWN
Definition: sparc.h:444
@ SPARC_INS_FSTOX
Definition: sparc.h:392
@ SPARC_INS_FMOVRQGZ
Definition: sparc.h:308
@ SPARC_INS_FPSUB16
Definition: sparc.h:365
@ SPARC_INS_RET
Definition: sparc.h:490
@ SPARC_INS_CMASK16
Definition: sparc.h:241
@ SPARC_INS_EDGE16N
Definition: sparc.h:248
@ SPARC_INS_UMUL
Definition: sparc.h:476
@ SPARC_INS_FPSUB32S
Definition: sparc.h:368
@ SPARC_INS_FORNOT2S
Definition: sparc.h:354
@ SPARC_INS_FANDNOT2
Definition: sparc.h:267
@ SPARC_INS_LDUB
Definition: sparc.h:412
@ SPARC_INS_STX
Definition: sparc.h:460
@ SPARC_INS_FDMULQ
Definition: sparc.h:285
@ SPARC_INS_FCMPLE32
Definition: sparc.h:277
@ SPARC_INS_FLUSHW
Definition: sparc.h:300
@ SPARC_INS_TSUBCCTV
Definition: sparc.h:469
@ SPARC_INS_FCMPS
Definition: sparc.h:281
@ SPARC_INS_EDGE32
Definition: sparc.h:249
@ SPARC_INS_FMOVRDLEZ
Definition: sparc.h:310
@ SPARC_INS_FMULD
Definition: sparc.h:328
@ SPARC_INS_FDTOS
Definition: sparc.h:288
@ SPARC_INS_FMUL8X16AU
Definition: sparc.h:327
@ SPARC_INS_FMOVRQGEZ
Definition: sparc.h:305
@ SPARC_INS_FMOVRDGZ
Definition: sparc.h:307
@ SPARC_INS_POPC
Definition: sparc.h:435
@ SPARC_INS_MOVRLEZ
Definition: sparc.h:421
@ SPARC_INS_FMOVRQZ
Definition: sparc.h:320
@ SPARC_INS_CMP
Definition: sparc.h:244
@ SPARC_INS_LDUH
Definition: sparc.h:413
@ SPARC_INS_FMUL8SUX16
Definition: sparc.h:323
@ SPARC_INS_FQTOX
Definition: sparc.h:372
@ SPARC_INS_SUBX
Definition: sparc.h:462
@ SPARC_INS_FPADD32
Definition: sparc.h:361
@ SPARC_INS_FEXPAND
Definition: sparc.h:290
@ SPARC_INS_STH
Definition: sparc.h:458
@ SPARC_INS_FB
Definition: sparc.h:230
@ SPARC_INS_FHADDD
Definition: sparc.h:291
@ SPARC_INS_FPMERGE
Definition: sparc.h:364
@ SPARC_INS_LDX
Definition: sparc.h:414
@ SPARC_INS_FPACKFIX
Definition: sparc.h:358
@ SPARC_INS_MOVRZ
Definition: sparc.h:424
@ SPARC_INS_FMOVRDZ
Definition: sparc.h:319
@ SPARC_INS_LDD
Definition: sparc.h:406
@ SPARC_INS_XNOR
Definition: sparc.h:485
@ SPARC_INS_FNEGD
Definition: sparc.h:337
@ SPARC_INS_FNADDS
Definition: sparc.h:334
@ SPARC_INS_FABSQ
Definition: sparc.h:258
@ SPARC_INS_FITOQ
Definition: sparc.h:296
@ SPARC_INS_BRGZ
Definition: sparc.h:232
@ SPARC_INS_TSUBCC
Definition: sparc.h:470
@ SPARC_INS_FCMPGT32
Definition: sparc.h:275
@ SPARC_INS_FNAND
Definition: sparc.h:335
@ SPARC_INS_EDGE8L
Definition: sparc.h:254
@ SPARC_INS_FDTOQ
Definition: sparc.h:287
@ SPARC_INS_EDGE32LN
Definition: sparc.h:251
@ SPARC_INS_FZEROS
Definition: sparc.h:404
@ SPARC_INS_FSRL32
Definition: sparc.h:388
@ SPARC_INS_FMOVRQLZ
Definition: sparc.h:314
@ SPARC_INS_MOVDTOX
Definition: sparc.h:417
@ SPARC_INS_MOVSTOSW
Definition: sparc.h:425
@ SPARC_INS_FPADD64
Definition: sparc.h:363
@ SPARC_INS_ANDCC
Definition: sparc.h:220
@ SPARC_INS_LD
Definition: sparc.h:407
@ SPARC_INS_PDISTN
Definition: sparc.h:434
@ SPARC_INS_ADDX
Definition: sparc.h:213
@ SPARC_INS_FCMPLE16
Definition: sparc.h:276
@ SPARC_INS_FORNOT1S
Definition: sparc.h:352
@ SPARC_INS_ARRAY32
Definition: sparc.h:225
@ SPARC_INS_UDIVX
Definition: sparc.h:472
@ SPARC_INS_ADD
Definition: sparc.h:217
@ SPARC_INS_TADDCC
Definition: sparc.h:467
@ SPARC_INS_FANDNOT1
Definition: sparc.h:265
@ SPARC_INS_FSLL32
Definition: sparc.h:376
@ SPARC_INS_FABSD
Definition: sparc.h:257
@ SPARC_INS_FPADD16S
Definition: sparc.h:360
@ SPARC_INS_FMULD8ULX16
Definition: sparc.h:330
@ SPARC_INS_FSLAS32
Definition: sparc.h:374
@ SPARC_INS_FNHADDS
Definition: sparc.h:341
@ SPARC_INS_LDSH
Definition: sparc.h:410
@ SPARC_INS_FMOVRDLZ
Definition: sparc.h:313
@ SPARC_INS_FCMPGT16
Definition: sparc.h:274
@ SPARC_INS_EDGE16
Definition: sparc.h:245
@ SPARC_INS_FOR
Definition: sparc.h:350
@ SPARC_INS_FNOT1
Definition: sparc.h:344
@ SPARC_INS_FMOVS
Definition: sparc.h:322
@ SPARC_INS_FPADD16
Definition: sparc.h:359
@ SPARC_INS_FNEGS
Definition: sparc.h:339
@ SPARC_INS_EDGE32L
Definition: sparc.h:250
@ SPARC_INS_ANDNCC
Definition: sparc.h:221
@ SPARC_INS_SUB
Definition: sparc.h:464
@ SPARC_INS_FMOVRSNZ
Definition: sparc.h:318

◆ sparc_insn_group

Group of SPARC instructions.

Enumerator
SPARC_GRP_INVALID 

= CS_GRP_INVALID

SPARC_GRP_JUMP 

= CS_GRP_JUMP

SPARC_GRP_HARDQUAD 
SPARC_GRP_V9 
SPARC_GRP_VIS 
SPARC_GRP_VIS2 
SPARC_GRP_VIS3 
SPARC_GRP_32BIT 
SPARC_GRP_64BIT 
SPARC_GRP_ENDING 

Definition at line 497 of file sparc.h.

497  {
498  SPARC_GRP_INVALID = 0,
499 
500  // Generic groups
501  // all jump instructions (conditional+direct+indirect jumps)
503 
504  // Architecture-specific groups
505  SPARC_GRP_HARDQUAD = 128,
506  SPARC_GRP_V9,
512 
513  SPARC_GRP_ENDING, // <-- mark the end of the list of groups
sparc_insn_group
Group of SPARC instructions.
Definition: sparc.h:497
@ SPARC_GRP_ENDING
Definition: sparc.h:513
@ SPARC_GRP_HARDQUAD
Definition: sparc.h:505
@ SPARC_GRP_V9
Definition: sparc.h:506
@ SPARC_GRP_VIS3
Definition: sparc.h:509
@ SPARC_GRP_INVALID
= CS_GRP_INVALID
Definition: sparc.h:498
@ SPARC_GRP_32BIT
Definition: sparc.h:510
@ SPARC_GRP_64BIT
Definition: sparc.h:511
@ SPARC_GRP_JUMP
= CS_GRP_JUMP
Definition: sparc.h:502
@ SPARC_GRP_VIS
Definition: sparc.h:507
@ SPARC_GRP_VIS2
Definition: sparc.h:508

◆ sparc_op_type

Operand type for instruction's operands.

Enumerator
SPARC_OP_INVALID 

= CS_OP_INVALID (Uninitialized).

SPARC_OP_REG 

= CS_OP_REG (Register operand).

SPARC_OP_IMM 

= CS_OP_IMM (Immediate operand).

SPARC_OP_MEM 

= CS_OP_MEM (Memory operand).

Definition at line 70 of file sparc.h.

70  {
71  SPARC_OP_INVALID = 0,
72  SPARC_OP_REG,
73  SPARC_OP_IMM,
74  SPARC_OP_MEM,
sparc_op_type
Operand type for instruction's operands.
Definition: sparc.h:70
@ SPARC_OP_MEM
= CS_OP_MEM (Memory operand).
Definition: sparc.h:74
@ SPARC_OP_IMM
= CS_OP_IMM (Immediate operand).
Definition: sparc.h:73
@ SPARC_OP_INVALID
= CS_OP_INVALID (Uninitialized).
Definition: sparc.h:71
@ SPARC_OP_REG
= CS_OP_REG (Register operand).
Definition: sparc.h:72

◆ sparc_reg

enum sparc_reg

SPARC registers.

Enumerator
SPARC_REG_INVALID 
SPARC_REG_F0 
SPARC_REG_F1 
SPARC_REG_F2 
SPARC_REG_F3 
SPARC_REG_F4 
SPARC_REG_F5 
SPARC_REG_F6 
SPARC_REG_F7 
SPARC_REG_F8 
SPARC_REG_F9 
SPARC_REG_F10 
SPARC_REG_F11 
SPARC_REG_F12 
SPARC_REG_F13 
SPARC_REG_F14 
SPARC_REG_F15 
SPARC_REG_F16 
SPARC_REG_F17 
SPARC_REG_F18 
SPARC_REG_F19 
SPARC_REG_F20 
SPARC_REG_F21 
SPARC_REG_F22 
SPARC_REG_F23 
SPARC_REG_F24 
SPARC_REG_F25 
SPARC_REG_F26 
SPARC_REG_F27 
SPARC_REG_F28 
SPARC_REG_F29 
SPARC_REG_F30 
SPARC_REG_F31 
SPARC_REG_F32 
SPARC_REG_F34 
SPARC_REG_F36 
SPARC_REG_F38 
SPARC_REG_F40 
SPARC_REG_F42 
SPARC_REG_F44 
SPARC_REG_F46 
SPARC_REG_F48 
SPARC_REG_F50 
SPARC_REG_F52 
SPARC_REG_F54 
SPARC_REG_F56 
SPARC_REG_F58 
SPARC_REG_F60 
SPARC_REG_F62 
SPARC_REG_FCC0 
SPARC_REG_FCC1 
SPARC_REG_FCC2 
SPARC_REG_FCC3 
SPARC_REG_FP 
SPARC_REG_G0 
SPARC_REG_G1 
SPARC_REG_G2 
SPARC_REG_G3 
SPARC_REG_G4 
SPARC_REG_G5 
SPARC_REG_G6 
SPARC_REG_G7 
SPARC_REG_I0 
SPARC_REG_I1 
SPARC_REG_I2 
SPARC_REG_I3 
SPARC_REG_I4 
SPARC_REG_I5 
SPARC_REG_I7 
SPARC_REG_ICC 
SPARC_REG_L0 
SPARC_REG_L1 
SPARC_REG_L2 
SPARC_REG_L3 
SPARC_REG_L4 
SPARC_REG_L5 
SPARC_REG_L6 
SPARC_REG_L7 
SPARC_REG_O0 
SPARC_REG_O1 
SPARC_REG_O2 
SPARC_REG_O3 
SPARC_REG_O4 
SPARC_REG_O5 
SPARC_REG_O7 
SPARC_REG_SP 
SPARC_REG_Y 
SPARC_REG_XCC 
SPARC_REG_ENDING 
SPARC_REG_O6 
SPARC_REG_I6 

Definition at line 78 of file sparc.h.

78  {
80 
129  SPARC_REG_FCC0, // Floating condition codes
133  SPARC_REG_FP,
134  SPARC_REG_G0,
135  SPARC_REG_G1,
136  SPARC_REG_G2,
137  SPARC_REG_G3,
138  SPARC_REG_G4,
139  SPARC_REG_G5,
140  SPARC_REG_G6,
141  SPARC_REG_G7,
142  SPARC_REG_I0,
143  SPARC_REG_I1,
144  SPARC_REG_I2,
145  SPARC_REG_I3,
146  SPARC_REG_I4,
147  SPARC_REG_I5,
148  SPARC_REG_I7,
149  SPARC_REG_ICC, // Integer condition codes
150  SPARC_REG_L0,
151  SPARC_REG_L1,
152  SPARC_REG_L2,
153  SPARC_REG_L3,
154  SPARC_REG_L4,
155  SPARC_REG_L5,
156  SPARC_REG_L6,
157  SPARC_REG_L7,
158  SPARC_REG_O0,
159  SPARC_REG_O1,
160  SPARC_REG_O2,
161  SPARC_REG_O3,
162  SPARC_REG_O4,
163  SPARC_REG_O5,
164  SPARC_REG_O7,
165  SPARC_REG_SP,
166  SPARC_REG_Y,
167 
168  // special register
170 
171  SPARC_REG_ENDING, // <-- mark the end of the list of registers
172 
173  // extras
176 } sparc_reg;
sparc_reg
SPARC registers.
Definition: sparc.h:78
@ SPARC_REG_F50
Definition: sparc.h:122
@ SPARC_REG_F23
Definition: sparc.h:104
@ SPARC_REG_F38
Definition: sparc.h:116
@ SPARC_REG_O7
Definition: sparc.h:164
@ SPARC_REG_F12
Definition: sparc.h:93
@ SPARC_REG_F8
Definition: sparc.h:89
@ SPARC_REG_F21
Definition: sparc.h:102
@ SPARC_REG_F56
Definition: sparc.h:125
@ SPARC_REG_O3
Definition: sparc.h:161
@ SPARC_REG_FCC0
Definition: sparc.h:129
@ SPARC_REG_I7
Definition: sparc.h:148
@ SPARC_REG_F13
Definition: sparc.h:94
@ SPARC_REG_F10
Definition: sparc.h:91
@ SPARC_REG_F2
Definition: sparc.h:83
@ SPARC_REG_FCC1
Definition: sparc.h:130
@ SPARC_REG_SP
Definition: sparc.h:165
@ SPARC_REG_F31
Definition: sparc.h:112
@ SPARC_REG_F34
Definition: sparc.h:114
@ SPARC_REG_F46
Definition: sparc.h:120
@ SPARC_REG_I0
Definition: sparc.h:142
@ SPARC_REG_F62
Definition: sparc.h:128
@ SPARC_REG_G4
Definition: sparc.h:138
@ SPARC_REG_F28
Definition: sparc.h:109
@ SPARC_REG_F27
Definition: sparc.h:108
@ SPARC_REG_F20
Definition: sparc.h:101
@ SPARC_REG_L3
Definition: sparc.h:153
@ SPARC_REG_F16
Definition: sparc.h:97
@ SPARC_REG_G2
Definition: sparc.h:136
@ SPARC_REG_F7
Definition: sparc.h:88
@ SPARC_REG_L5
Definition: sparc.h:155
@ SPARC_REG_I2
Definition: sparc.h:144
@ SPARC_REG_G7
Definition: sparc.h:141
@ SPARC_REG_L1
Definition: sparc.h:151
@ SPARC_REG_ICC
Definition: sparc.h:149
@ SPARC_REG_F60
Definition: sparc.h:127
@ SPARC_REG_F6
Definition: sparc.h:87
@ SPARC_REG_O6
Definition: sparc.h:174
@ SPARC_REG_G6
Definition: sparc.h:140
@ SPARC_REG_F30
Definition: sparc.h:111
@ SPARC_REG_O4
Definition: sparc.h:162
@ SPARC_REG_INVALID
Definition: sparc.h:79
@ SPARC_REG_O5
Definition: sparc.h:163
@ SPARC_REG_G1
Definition: sparc.h:135
@ SPARC_REG_F15
Definition: sparc.h:96
@ SPARC_REG_ENDING
Definition: sparc.h:171
@ SPARC_REG_F29
Definition: sparc.h:110
@ SPARC_REG_F36
Definition: sparc.h:115
@ SPARC_REG_F0
Definition: sparc.h:81
@ SPARC_REG_G0
Definition: sparc.h:134
@ SPARC_REG_L6
Definition: sparc.h:156
@ SPARC_REG_F5
Definition: sparc.h:86
@ SPARC_REG_F9
Definition: sparc.h:90
@ SPARC_REG_L0
Definition: sparc.h:150
@ SPARC_REG_G3
Definition: sparc.h:137
@ SPARC_REG_G5
Definition: sparc.h:139
@ SPARC_REG_I3
Definition: sparc.h:145
@ SPARC_REG_I4
Definition: sparc.h:146
@ SPARC_REG_F42
Definition: sparc.h:118
@ SPARC_REG_F4
Definition: sparc.h:85
@ SPARC_REG_F32
Definition: sparc.h:113
@ SPARC_REG_F22
Definition: sparc.h:103
@ SPARC_REG_F11
Definition: sparc.h:92
@ SPARC_REG_F44
Definition: sparc.h:119
@ SPARC_REG_F48
Definition: sparc.h:121
@ SPARC_REG_F54
Definition: sparc.h:124
@ SPARC_REG_I1
Definition: sparc.h:143
@ SPARC_REG_F18
Definition: sparc.h:99
@ SPARC_REG_F3
Definition: sparc.h:84
@ SPARC_REG_F19
Definition: sparc.h:100
@ SPARC_REG_F24
Definition: sparc.h:105
@ SPARC_REG_F52
Definition: sparc.h:123
@ SPARC_REG_FCC3
Definition: sparc.h:132
@ SPARC_REG_F25
Definition: sparc.h:106
@ SPARC_REG_L7
Definition: sparc.h:157
@ SPARC_REG_F14
Definition: sparc.h:95
@ SPARC_REG_I6
Definition: sparc.h:175
@ SPARC_REG_I5
Definition: sparc.h:147
@ SPARC_REG_Y
Definition: sparc.h:166
@ SPARC_REG_O0
Definition: sparc.h:158
@ SPARC_REG_F40
Definition: sparc.h:117
@ SPARC_REG_O1
Definition: sparc.h:159
@ SPARC_REG_F58
Definition: sparc.h:126
@ SPARC_REG_F17
Definition: sparc.h:98
@ SPARC_REG_FP
Definition: sparc.h:133
@ SPARC_REG_F1
Definition: sparc.h:82
@ SPARC_REG_L4
Definition: sparc.h:154
@ SPARC_REG_O2
Definition: sparc.h:160
@ SPARC_REG_XCC
Definition: sparc.h:169
@ SPARC_REG_FCC2
Definition: sparc.h:131
@ SPARC_REG_L2
Definition: sparc.h:152
@ SPARC_REG_F26
Definition: sparc.h:107