57 #define SPARC_OPCODE_ARCH_MAX (SPARC_OPCODE_ARCH_BAD - 1)
61 #define SPARC_OPCODE_ARCH_MASK(arch) (1 << (arch))
64 #define SPARC_OPCODE_ARCH_V9_P(arch) ((arch) >= SPARC_OPCODE_ARCH_V9)
83 #define SPARC_OPCODE_SUPPORTED(ARCH) (sparc_opcode_archs[ARCH].supported)
87 #define SPARC_OPCODE_CONFLICT_P(ARCH1, ARCH2) \
88 (((SPARC_OPCODE_SUPPORTED(ARCH1) & SPARC_OPCODE_SUPPORTED(ARCH2)) != SPARC_OPCODE_SUPPORTED(ARCH1)) && ((SPARC_OPCODE_SUPPORTED(ARCH1) & SPARC_OPCODE_SUPPORTED(ARCH2)) != SPARC_OPCODE_SUPPORTED(ARCH2)))
191 #define OP2(x) (((x)&0x7) << 22)
192 #define OP3(x) (((x)&0x3f) << 19)
193 #define OP(x) ((unsigned)((x)&0x3) << 30)
194 #define OPF(x) (((x)&0x1ff) << 5)
195 #define OPF_LOW5(x) OPF((x)&0x1f)
196 #define F3F(x, y, z) (OP(x) | OP3(y) | OPF(z))
197 #define F3I(x) (((x)&0x1) << 13)
198 #define F2(x, y) (OP(x) | OP2(y))
199 #define F3(x, y, z) (OP(x) | OP3(y) | F3I(z))
200 #define F1(x) (OP(x))
201 #define DISP30(x) ((x)&0x3fffffff)
202 #define ASI(x) (((x)&0xff) << 5)
203 #define RS2(x) ((x)&0x1f)
204 #define SIMM13(x) ((x)&0x1fff)
205 #define RD(x) (((x)&0x1f) << 25)
206 #define RS1(x) (((x)&0x1f) << 14)
207 #define ASI_RS2(x) (SIMM13(x))
208 #define MEMBAR(x) ((x)&0x7f)
209 #define SLCPOP(x) (((x)&0x7f) << 6)
211 #define ANNUL (1 << 29)
212 #define BPRED (1 << 19)
215 #define RS1_G0 RS1(~0)
216 #define RS2_G0 RS2(~0)
@ SPARC_OPCODE_ARCH_SPARCLITE
@ SPARC_OPCODE_ARCH_SPARCLET
const struct sparc_opcode_arch sparc_opcode_archs[]
const int sparc_num_opcodes
const char * sparc_decode_asi(int)
int sparc_encode_sparclet_cpreg(const char *)
struct sparc_opcode_arch sparc_opcode_arch
int sparc_encode_membar(const char *)
enum sparc_opcode_arch_val sparc_opcode_lookup_arch(const char *)
const struct sparc_opcode sparc_opcodes[]
struct sparc_opcode sparc_opcode
const char * sparc_decode_membar(int)
const char * sparc_decode_prefetch(int)
const char * sparc_decode_sparclet_cpreg(int)
int sparc_encode_prefetch(const char *)
int sparc_encode_asi(const char *)