This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Unrevied patches^3


Richard Sandiford <rsandifo@talisman.cambridge.redhat.com> writes:
> Richard Henderson <rth@redhat.com> writes:
> > On Mon, Oct 20, 2003 at 06:28:29PM +0100, Richard Sandiford wrote:
> > >     (set (reg x) (high (const (plus (symbol_ref "foo") (const_int 4)))))
> > >     (set (reg y)
> > > 	 (lo_sum (reg x) (const (plus (symbol_ref "foo") (const_int 4)))))
> > 
> > Eh?  Why would this be wrong?  Can the relocs not handle this?
> 
> It isn't wrong!  I'm obviously not explaining this very well at all.

BTW, it occurs to me that the confusion might be caused the subject line
for the patch (namely "Re: Patch to fix mips GOT overflow").  The patch
_isn't_ about fixing GOT overflow, sorry.  It was just posted in response
to some follow-up discussion about the overflow patch.

I guess the important part of my typically-verbose message was:

--------------------------------------------------------------------------

Anyway, in the mips port, we're now using lo_sum for three things:

   - normal %hi/%lo split (general absolute addresses)
   - %gp_rel (small data addresses)
   - %got_page/%got_ofst and %got/%lo splits (local pic addresses)

This patch seems to optimise the last two cases in the same way
as the first.

--------------------------------------------------------------------------

And that's all the patch is supposed to be doing.

Richard


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