diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2013-07-14 13:36:50 +0000 |
---|---|---|
committer | Richard Sandiford <rdsandiford@googlemail.com> | 2013-07-14 13:36:50 +0000 |
commit | a18c8c36880ebde06b5e40eec3c8cb89d1ec2bbb (patch) | |
tree | 68ca102a76bd56d21a08a053bf4739ee85a053b6 /include | |
parent | ac96b15958231768d948fa832d5cf36f9b30a552 (diff) | |
download | newlib-a18c8c36880ebde06b5e40eec3c8cb89d1ec2bbb.zip newlib-a18c8c36880ebde06b5e40eec3c8cb89d1ec2bbb.tar.gz newlib-a18c8c36880ebde06b5e40eec3c8cb89d1ec2bbb.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')
-rw-r--r-- | include/opcode/ChangeLog | 6 | ||||
-rw-r--r-- | include/opcode/mips.h | 8 |
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; |