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


On Sat, Jun 09, 2001 at 04:14:39PM -0700, Geoff Keating wrote:
> > Date: Sat, 9 Jun 2001 08:42:16 -0700
> > From: "H . J . Lu" <hjl@lucon.org>
> 
> > On Sun, Jun 10, 2001 at 12:03:33AM +0930, Alan Modra wrote:
> > > On Fri, Jun 08, 2001 at 11:29:46PM -0700, H . J . Lu wrote:
> > > > +++ gas/mips/relax.s	Fri Jun  8 23:12:46 2001
> > > > @@ -0,0 +1,7 @@
> > > > +# Source file used to test relaxation.
> > > > +
> > > > +	.text
> > > > +foo:
> > > > +	move    $2, $3          # just something
> > > > +        .space  0x20000         # to make a 128kb loop body
> > > > +        beq     $2, $3, foo
> > > 
> > > This isn't exactly a failure of relaxation.  It's just that the branch
> > > offset is too big.
> > > 
> > 
> > 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 was told that gcc would generate such code on certain versions of
lmbench. Since the vendor assembler can handle it, I believe it is
ok for gcc to do so. As far as I can tell, it is just like another
mips asm macro, which unfortunately, gas cannot handle. 


H.J.


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