This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: x86-64 bootstrap fails on mainline
> On Wed, May 29, 2002 at 12:10:20PM +0200, Jan Hubicka wrote:
> > Hmm, what do you mean by this? The PC_REL addresses are used for many
> > things, for instance to address static variables, you mean that every
> > such memory reference should contain UNSPEC? I think that would confuse
> > optimizers quite a bit.
>
> Why? If you wrap it in CONST, they think it's just another constant.
Hmm, I think there is problem even in non-PIC addressing. For instance>
(synbol_ref)
is done as PC relative addressing just because it is one byte shorter
than non-relative way, but
(plus (symbol_ref) (reg))
is done in absolute way. When compiler manages to simplify the plus
into CONST, it would be required to add the unspec as well. That seems
nasty.
I think we can go with predicate function where the knowledge of what is
RIP relative is concentrated, like we have zext/sext_constant.
Honza
>
> Anyway, I'm assuming the patch is good enough for now and should be
> checked in?
>
>
> r~