+2013-08-03 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/tc-mips.c (match_int_operand): Use mips_int_operand_min
+ and mips_int_operand_max.
+ (mips16_immed_operand, mips16_immed_operands, MIPS16_NUM_IMMED):
+ Delete.
+ (mips16_immed_operand, mips16_immed_in_range_p): New functions.
+ (mips16_immed, mips16_extended_frag): Use them. Use mips_int_operand
+ instead of mips16_immed_operand.
+
+2013-08-03 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/tc-mips.c (mips16_macro): Don't use move_register.
+ (mips16_ip): Allow macros to use 'p'.
+
+2013-08-01 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/tc-mips.c (MAX_OPERANDS): New macro.
+ (mips_operand_array): New structure.
+ (mips_operands, mips16_operands, micromips_operands): New arrays.
+ (micromips_to_32_reg_b_map, micromips_to_32_reg_c_map)
+ (micromips_to_32_reg_e_map, micromips_to_32_reg_f_map)
+ (micromips_to_32_reg_g_map, micromips_to_32_reg_l_map)
+ (micromips_to_32_reg_q_map): Delete.
+ (insn_operands, insn_opno, insn_extract_operand): New functions.
+ (validate_mips_insn): Take a mips_operand_array as argument and
+ use it to build up a list of operands. Extend to handle INSN_MACRO
+ and MIPS16.
+ (validate_mips16_insn): New function.
+ (validate_micromips_insn): Take a mips_operand_array as argument.
+ Handle INSN_MACRO.
+ (md_begin): Initialize mips_operands, mips16_operands and
+ micromips_operands. Call validate_mips_insn and
+ validate_micromips_insn for macro instructions too.
+ Call validate_mips16_insn for MIPS16 instructions.
+ (insn_read_mask, insn_write_mask, operand_reg_mask, insn_reg_mask):
+ New functions.
+ (gpr_read_mask, gpr_write_mask, fpr_read_mask, fpr_write_mask): Use
+ them. Handle INSN_UDI.
+ (get_append_method): Use gpr_read_mask.
+
+2013-08-01 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/tc-mips.c (compact_branch_p, uncond_branch_p): Use the same
+ flags for MIPS16 and non-MIPS16 instructions.
+ (gpr_mod_mask): Move the INSN2_MOD_SP case outside the micromips block.
+ (gpr_read_mask): Use INSN2_READ_GPR_31 for MIPS16 instructions too.
+ (gpr_write_mask): Remove MIPS16_INSN_WRITE_SP handling.
+ (can_swap_branch_p, get_append_method): Use the same flags for MIPS16
+ and non-MIPS16 instructions. Fix formatting.
+
2013-08-01 Richard Sandiford <rdsandiford@googlemail.com>
* config/tc-mips.c (reg_needs_delay): Move later in file.