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.
This commit is contained in:
		| @@ -1,3 +1,9 @@ | |||||||
|  | 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> | 2013-07-14  Richard Sandiford  <rdsandiford@googlemail.com> | ||||||
|  |  | ||||||
| 	* mips.h (mips_operand_type, mips_reg_operand_type): New enums. | 	* mips.h (mips_operand_type, mips_reg_operand_type): New enums. | ||||||
|   | |||||||
| @@ -375,6 +375,13 @@ enum mips_operand_type { | |||||||
|      size determines whether the 16-bit or 32-bit encoding is required.  */ |      size determines whether the 16-bit or 32-bit encoding is required.  */ | ||||||
|   OP_LWM_SWM_LIST, |   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: |   /* A 10-bit field VVVVVNNNNN used for octobyte and quadhalf instructions: | ||||||
|  |  | ||||||
|      V      Meaning |      V      Meaning | ||||||
| @@ -1680,6 +1687,7 @@ extern int bfd_mips_num_opcodes; | |||||||
|    FP_D (never used) |    FP_D (never used) | ||||||
|    */ |    */ | ||||||
|  |  | ||||||
|  | extern const struct mips_operand *decode_mips16_operand (char, bfd_boolean); | ||||||
| extern const struct mips_opcode mips16_opcodes[]; | extern const struct mips_opcode mips16_opcodes[]; | ||||||
| extern const int bfd_mips16_num_opcodes; | extern const int bfd_mips16_num_opcodes; | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user