This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Patch: Updates on mips testcases
On Sat, Jun 09, 2001 at 10:53:48PM -0700, Geoff Keating wrote:
> The code to do the fixing is in mips_output_conditional_branch, in
> mips.c, but the code that computes the lengths is in shorten_branches
> in final.c. The actual lengths are attributes in the mips.md file.
> Most likely, it is the lengths that are wrong or missing for some
> instruction.
Oh! Now that I look, it's obvious what's going on.
Sat Jun 5 12:11:24 1999 Mark Mitchell <mark@codesourcery.com>
* mips.h (mips_output_conditional_branch): New function.
(mips_adjust_insn_length): Likewise.
(ASSEMBLER_SCRATCH_REGNUM): New macro.
(ADJUST_INSN_LENGTH): Likewise.
* mips.c (print_operand): Add `F' and `W' for floating-point
comparison opcodes.
(machine_dependent_reorg): Adjust MIPS16 code; instruction-lengths
are now in bytes.
(mips_adjust_insn_length): New function.
(mips_output_conditional_branch): New function.
* mips.md (length): Adjust attribute definition to handle
conditional branches. Change lengths to bytes, rather than
instructions throughout. Remove length attribute from
instructions whose length is four bytes, and rely on the default
instead.
(dslot): Fix typo in comment.
Reword conditional branch patterns to use
mips_output_conditional_branch.
That's really relatively recent. I'd been using GCC 2.95.3 for MIPS,
with a few appropriate patches - as far as I can tell, 2.95.3 has no
equivalent code at all. Right?
--
Daniel Jacobowitz Debian GNU/Linux Developer
Monta Vista Software Debian Security Team