+2005-03-10 Jan Beulich <jbeulich@novell.com>
+
+ * config/tc-tic54x.h (tic54x_macro_info): Change parameter type.
+ * config/tc-tic54x.c (tic54x_macro_info): Likewise. Replace hand-
+ crafted structure declarations with the types from macro.h.
+
+2005-03-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/tc-mips.c (s_cpsetup): Use '__gnu_local_gp' instead of '_gp'
+ for -mno-shared optimization.
+
+2005-03-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/tc-mips.c (MAX_VR4130_NOPS, MAX_DELAY_NOPS): New macros.
+ (MAX_NOPS): Bump to 4.
+ (mips_fix_vr4130): New variable.
+ (nops_for_vr4130): New function.
+ (nops_for_insn): Use MAX_DELAY_NOPS rather than MAX_NOPS. Use
+ nops_for_vr4130 if working around VR4130 errata.
+ (OPTION_FIX_VR4130, OPTION_NO_FIX_VR4130): New macros.
+ (md_longopts): Add -mfix-vr4130 and -mno-fix-vr4130.
+ (md_parse_option): Handle them.
+ (md_show_usage): Print them.
+ * doc/c-mips.texi: Document -mfix-vr4130 and -mno-fix-vr4130.
+
+2005-03-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/tc-mips.c (append_insn): Remove cop_interlocks test from
+ branch delay code.
+
+2005-03-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/tc-mips.h (mips_flush_pending_output): Delete.
+ (mips_emit_delays): Declare.
+ (md_flush_pending_output): Use mips_emit_delays.
+ * config/tc-mips.c (mips_no_prev_insn): Remove parameter; always forget
+ the previous instructions.
+ (md_begin, append_insn, md_parse_option): Update callers.
+ (mips_emit_delay): Remove parameter. Move INSNS != 0 code to
+ start_noreorder.
+ (mips_align, s_change_sec, s_cons, s_float_cons, s_gpword)
+ (s_gpdword): Update callers.
+ (start_noreorder, end_noreorder): New functions.
+ (macro, macro2, mips16_macro, s_mipsset): Use them instead of
+ manipulating mips_opts or prev_nop_frag directly.
+ (mips_flush_pending_output): Delete.
+
+2005-03-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/tc-mips.c (mips_move_labels): New function, taken from...
+ (append_insn, mips_emit_delays): ...here.
+
+2005-03-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/tc-mips.c (MAX_NOPS): New macro.
+ (history): Resize to 1 + MAX_NOPS.
+ (fix_vr4120_class): New enumeration.
+ (vr4120_conflicts): New variable.
+ (init_vr4120_conflicts): New function.
+ (md_begin): Call it.
+ (insn_uses_reg): Constify first argument.
+ (classify_vr4120_insn, insns_between, nops_for_insn, nops_for_sequence)
+ (nops_for_insn_or_target): New functions.
+ (append_insn): Use the new nops_for_* functions instead of inline
+ delay checks. Generalize prev_nop_frag handling to handle an
+ arbitrary history length. Insert nops into the history buffer
+ once the number of nops in prev_nop_frag is fixed.
+ (emit_delays): Use nops_for_insn instead of inline delay checks.
+
+2005-03-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/tc-mips.c (append_insn): Remove now-redundant nops != 0
+ check from branch delay code. Remove unnecessary check for branches.
+
+2005-03-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/tc-mips.c (dummy_opcode): Delete.
+ (nop_insn, mips16_nop_insn): New variables.
+ (NOP_INSN): New macro.
+ (insn_length, create_insn, install_insn, move_insn, add_fixed_insn)
+ (add_relaxed_insn, insert_into_history, emit_nop): New functions.
+ (md_begin): Initialize nop_insn and mips16_nop_insn.
+ (append_insn): Use the new emit_nop function to add nops, recording
+ them in the history buffer. Use add_fixed_insn or add_relaxed_insn
+ to reserve room for the instruction and install_insn to install the
+ final form. Use insert_into_history to record the instruction in
+ the history buffer. Use move_insn to do delay slot filling.
+ (mips_emit_delays): Use add_fixed_insn instead of the emit_nop macro.
+ (macro_build, mips16_macro_build, macro_build_lui, mips_ip)
+ (mips16_ip): Use create_insn to initialize mips_cl_insns.
+
+2005-03-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/tc-mips.c (INSERT_BITS, EXTRACT_BITS, INSERT_OPERAND)
+ (EXTRACT_OPERAND, MIPS16_INSERT_OPERAND, MIPS16_EXTRACT_OPERAND): New.
+ (insn_uses_reg, reg_needs_delay, append_insn, macro_build)
+ (mips16_macro_build, macro_build_lui, mips16_macro, mips_ip)
+ (mips16_ip): Use the new macros instead of explicit masks and shifts.
+
+2005-03-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/tc-mips.c (mips_cl_insn): Replace the valid_p, delay_slot_p
+ and extended_p fields with a single fixed_p field.
+ (append_insn, mips_no_prev_insn): Adjust accordingly.
+
+2005-03-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/tc-mips.c (mips_cl_insn): Replace reloc_type array with
+ a single mips16_absolute_jump_p bit.
+ (append_insn): Adjust accordingly.
+
+2005-03-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/tc-mips.h (mips_cl_insn): Move definition to...
+ * config/tc-mips.c (mips_cl_insn): ...here. Add new fields:
+ frag, where, fixp, reloc_type, valid_p, noreorder_p, delay_slot_p
+ and extended_p.
+ (history): New variable.
+ (prev_insn, prev_prev_insn, prev_insn_valid, prev_insn_frag)
+ (prev_insn_where, prev_insn_reloc_type, prev_insn_fixp)
+ (prev_insn_is_delay_slot, prev_insn_unreordered, prev_insn_extended)
+ (prev_prev_insn_unreordered): Delete.
+ (reg_needs_delay, append_insn, mips_no_prev_insn, mips_emit_delays)
+ (macro_start): Replace uses of prev_insn* with the equivalent history[]
+ field.
+
2005-03-08 Daniel Jacobowitz <dan@codesourcery.com>
* doc/Makefile.am: Update as.info dependencies.