This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Patch: Updates on mips testcases


> Date: Sat, 9 Jun 2001 20:43:55 -0700
> From: Daniel Jacobowitz <dmj+@andrew.cmu.edu>
> Cc: hjl@lucon.org, binutils@sourceware.cygnus.com
> Content-Disposition: inline
> User-Agent: Mutt/1.3.16i
> 
> On Sat, Jun 09, 2001 at 04:14:39PM -0700, Geoff Keating wrote:
> > > 1. You may see it when compiling certain version of gcc with -O0.
> > 
> > That's not supposed to happen.  GCC is supposed to deal with this
> > by performing the substitution below.  This often breaks, typically
> > because GCC is misinformed about the length of some instruction,
> > but it is also easily fixed.
> 
> I've noticed that this problem also occurs if you try to compile the
> massive tan tables in glibc with -msoft-float.  I spent a while
> checking into it, and the length of the soft-float instructions all
> seemed to be correct - could you elaborate where in GCC ought to be
> fixing this up?

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.

-- 
- Geoffrey Keating <geoffk@geoffk.org>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]