+2005-03-10 Bob Wilson <bob.wilson@acm.org>
+
+ * config/tc-xtensa.c (finish_vinsn): Include the last instruction slot
+ when checking if xg_resolve_literals needs to be called.
+ * config/tc-xtensa.h: Fix spelling typo in a comment.
+
+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.
+ * aclocal.m4, Makefile.in, doc/Makefile.in: Regenerated.
+
+2005-03-08 Jan Beulich <jbeulich@novell.com>
+
+ * doc/as.texinfo: Add sentence to indicate redefining a macro is an
+ error, and point to .purgem documentation if someone really needs
+ re-definitions.
+ * NEWS: Mention macro redefinition is now an error.
+
+2005-03-08 Jan Beulich <jbeulich@novell.com>
+
+ * config/tc-ia64.c (emit_one_bundle): Track last slot user insn was
+ emitted to. Add more precise diagnostics for non-fitting insns based
+ on that. Eliminate now superfluous special casing of MLX. Clear out
+ slot information when dropping an insn.
+
+2005-03-08 Jan Beulich <jbeulich@novell.com>
+
+ * config/tc-ia64.c (parse_section_name): Rename to...
+ (cross_section): In addition to separating the name from the rest of
+ the arguments, also carry out the operation.
+ (dot_xdata): Use cross_section.
+ (dot_float_cons): Likewise.
+ (dot_xstringer): Likewise.
+ (dot_xdata_ua): Likewise.
+ (dot_float_cons_ua): Likewise. Pass float_cons, not stmt_float_cons.
+
+2005-03-05 Alan Modra <amodra@bigpond.net.au>
+
+ * po/gas.pot: Regenerate.
+
+2005-03-04 David Daney <ddaney@avtrex.com>
+
+ * config/tc-mips.c (macro_build_lui): Use '__gnu_local_gp'
+ instead of '_gp' for -mno-shared optimization.
+ (s_cpload): Ditto.
+ (s_abicalls): Document it in the comment.
+ (md_show_usage): Document the -mno-shared option.
+
+2005-03-04 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/tc-mips.c (mips_set_options): Add sym32 field.
+ (mips_opts): Initialize it.
+ (HAVE_32BIT_ADDRESSES): Set to true if pointers are 32 bits wide.
+ (HAVE_64BIT_ADDRESSES): Redefine as !HAVE_32BIT_ADDRESSES.
+ (HAVE_32BIT_SYMBOLS, HAVE_64BIT_SYMBOLS): New macros.
+ (load_address): Use HAVE_64BIT_SYMBOLS instead of HAVE_64BIT_ADDRESSES
+ when deciding whether to use a symbolic %highest/%higher expansion.
+ (macro): Likewise. Remove o64/n32 linux hack. Always use
+ ADDRESS_ADD*_INSN for address addition in the expansion of "dla"
+ and "la". Handle constants separately from symbolic expressions in
+ the "ld_st:" case, using 64-bit arithmetic if HAVE_64BIT_ADDRESSES
+ and using load_register to load the high part of the address.
+ (OPTION_MSYM32, OPTION_NO_MSYM32): New macros.
+ (OPTION_ELF_BASE): Bump by 2.
+ (md_longopts): Add entries for -msym32 and -mno-sym32.
+ (md_parse_option): Handle them.
+ (usage): Document them.
+ (s_mipsset): Handle ".set sym32" and ".set nosym32".
+ (s_cpload, s_cpsetup): Use HAVE_64BIT_SYMBOLS instead of
+ HAVE_64BIT_ADDRESSES to detect 64-bit values of "_gp".
+ * doc/c-mips.texi: Document ".set sym32", ".set nosym32",
+ -msym32 and -mno-sym32.
+
2005-03-03 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
* config/tc-mips.c (load_address): Implement GP optimization