Index: include/opcode/sparc.h |
diff --git a/include/opcode/sparc.h b/include/opcode/sparc.h |
index b1c5e42ad104eb3b59268e9b8940bc8b8f7636c5..f05909feddc5e849f09f529b92e7932023d30116 100644 |
--- a/include/opcode/sparc.h |
+++ b/include/opcode/sparc.h |
@@ -42,6 +42,7 @@ enum sparc_opcode_arch_val |
SPARC_OPCODE_ARCH_V6 = 0, |
SPARC_OPCODE_ARCH_V7, |
SPARC_OPCODE_ARCH_V8, |
+ SPARC_OPCODE_ARCH_LEON, |
SPARC_OPCODE_ARCH_SPARCLET, |
SPARC_OPCODE_ARCH_SPARCLITE, |
/* V9 variants must appear last. */ |
@@ -111,6 +112,9 @@ typedef struct sparc_opcode |
#define F_JSR 0x00000010 /* Subroutine call. */ |
#define F_FLOAT 0x00000020 /* Floating point instruction (not a branch). */ |
#define F_FBR 0x00000040 /* Floating point branch. */ |
+#define F_PREFERRED 0x00000080 /* A preferred alias. */ |
+ |
+#define F_PREF_ALIAS (F_ALIAS|F_PREFERRED) |
/* These must match the HWCAP_* values precisely. */ |
#define HWCAP_MUL32 0x00000001 /* umul/umulcc/smul/smulcc insns */ |
@@ -234,6 +238,7 @@ typedef struct sparc_opcode |
#define OPF_LOW5(x) OPF ((x) & 0x1f) /* V9. */ |
#define OPF_LOW4(x) OPF ((x) & 0xf) /* V9. */ |
#define F3F(x, y, z) (OP (x) | OP3 (y) | OPF (z)) /* Format3 float insns. */ |
+#define F3F4(x, y, z) (OP (x) | OP3 (y) | OPF_LOW4 (z)) |
#define F3I(x) (((x) & 0x1) << 13) /* Immediate field of format 3 insns. */ |
#define F2(x, y) (OP (x) | OP2(y)) /* Format 2 insns. */ |
#define F3(x, y, z) (OP (x) | OP3(y) | F3I(z)) /* Format3 insns. */ |