summaryrefslogtreecommitdiff
path: root/include/opcode/riscv.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/opcode/riscv.h')
-rw-r--r--include/opcode/riscv.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/include/opcode/riscv.h b/include/opcode/riscv.h
index afcd41ff1dd..a336eb42489 100644
--- a/include/opcode/riscv.h
+++ b/include/opcode/riscv.h
@@ -22,6 +22,7 @@
#define _RISCV_H_
#include "riscv-opc.h"
+#include "riscv-opc-extended.h"
#include <stdlib.h>
#include <stdint.h>
@@ -303,7 +304,6 @@ static const char * const riscv_pred_succ[16] =
enum riscv_insn_class
{
INSN_CLASS_NONE,
-
INSN_CLASS_I,
INSN_CLASS_C,
INSN_CLASS_A,
@@ -320,6 +320,7 @@ enum riscv_insn_class
INSN_CLASS_ZBB,
INSN_CLASS_ZBC,
INSN_CLASS_ZBS,
+ INSN_CLASS_EXTENDED
};
/* This structure holds information for a particular instruction. */
@@ -333,7 +334,7 @@ struct riscv_opcode
/* Class to which this instruction belongs. Used to decide whether or
not this instruction is legal in the current -march context. */
- enum riscv_insn_class insn_class;
+ int insn_class;
/* A string describing the arguments for this instruction. */
const char *args;
@@ -423,7 +424,7 @@ enum
M_ZEXTW,
M_SEXTB,
M_SEXTH,
- M_NUM_MACROS
+ M_EXTENDED
};
/* The mapping symbol states. */
@@ -442,4 +443,8 @@ extern const char * const riscv_fpr_names_abi[NFPR];
extern const struct riscv_opcode riscv_opcodes[];
extern const struct riscv_opcode riscv_insn_types[];
+/* Extended extensions. */
+
+extern const struct riscv_opcode *riscv_extended_opcodes[];
+
#endif /* _RISCV_H_ */