aboutsummaryrefslogtreecommitdiff
path: root/include/opcode
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2013-07-14 13:36:51 +0000
committerRichard Sandiford <rdsandiford@googlemail.com>2013-07-14 13:36:51 +0000
commitc3c0747817f456c7d4a5d8884b304c2095bdf5ab (patch)
tree24deb899ff002df6b658f19744194eb896a197b8 /include/opcode
parentab90248154ba05dc800c480712c3cb03eb33b135 (diff)
downloadgdb-c3c0747817f456c7d4a5d8884b304c2095bdf5ab.zip
gdb-c3c0747817f456c7d4a5d8884b304c2095bdf5ab.tar.gz
gdb-c3c0747817f456c7d4a5d8884b304c2095bdf5ab.tar.bz2
include/opcode/
* mips.h (mips_operand_type): Add OP_ENTRY_EXIT_LIST and OP_SAVE_RESTORE_LIST. (decode_mips16_operand): Declare. opcodes/ * mips16-opc.c: Include mips-formats.h. (reg_0_map, reg_29_map, reg_31_map, reg_m16_map, reg32r_map): New static arrays. (decode_mips16_operand): New function. * mips-dis.c (mips16_to_32_reg_map, mips16_reg_names): Delete. (print_insn_arg): Handle OP_ENTRY_EXIT list. Abort for OP_SAVE_RESTORE_LIST. (print_mips16_insn_arg): Change interface. Use mips_operand structures. Delete GET_OP_S. Move GET_OP definition to... (print_insn_mips16): ...here. Call init_print_arg_state. Update the call to print_mips16_insn_arg.
Diffstat (limited to 'include/opcode')
-rw-r--r--include/opcode/ChangeLog6
-rw-r--r--include/opcode/mips.h8
2 files changed, 14 insertions, 0 deletions
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index fc991a0..25f88be 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,5 +1,11 @@
2013-07-14 Richard Sandiford <rdsandiford@googlemail.com>
+ * mips.h (mips_operand_type): Add OP_ENTRY_EXIT_LIST and
+ OP_SAVE_RESTORE_LIST.
+ (decode_mips16_operand): Declare.
+
+2013-07-14 Richard Sandiford <rdsandiford@googlemail.com>
+
* mips.h (mips_operand_type, mips_reg_operand_type): New enums.
(mips_operand, mips_int_operand, mips_mapped_int_operand)
(mips_msb_operand, mips_reg_operand, mips_reg_pair_operand)
diff --git a/include/opcode/mips.h b/include/opcode/mips.h
index 2d77b95..e2f72e0 100644
--- a/include/opcode/mips.h
+++ b/include/opcode/mips.h
@@ -375,6 +375,13 @@ enum mips_operand_type {
size determines whether the 16-bit or 32-bit encoding is required. */
OP_LWM_SWM_LIST,
+ /* The register list for an emulated MIPS16 ENTRY or EXIT instruction. */
+ OP_ENTRY_EXIT_LIST,
+
+ /* The register list and frame size for a MIPS16 SAVE or RESTORE
+ instruction. */
+ OP_SAVE_RESTORE_LIST,
+
/* A 10-bit field VVVVVNNNNN used for octobyte and quadhalf instructions:
V Meaning
@@ -1680,6 +1687,7 @@ extern int bfd_mips_num_opcodes;
FP_D (never used)
*/
+extern const struct mips_operand *decode_mips16_operand (char, bfd_boolean);
extern const struct mips_opcode mips16_opcodes[];
extern const int bfd_mips16_num_opcodes;