This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [3.4-BIB] updated patch for x86_64 PIC
> On Mon, Nov 11, 2002 at 11:35:59PM +0100, Jan Hubicka wrote:
> > Hi,
> > this is updated patch I sent some time ago with some changes suggested
> > by Jakub. It's purpose is to make the whole code more consistent so it
> > will be easier to understand I hope and it produces better code in some
> > side cases.
>
> Shouldn't this go to 3.3, not 3.4-BIB?
I would by happy to see this in 3.3 too.
Why I marked it as 3.4-BIB was that I didn't suceeded to reproduce
compilation crash in the side corners as reload always managed to fix
the insn chain, but I guess new patch is more safe and it is thoroughly
tested, so I guess I will leave decision to the reviewer (Richard :)
> My understanding is that the patch is more about correctness in corner cases
> (though we haven't been able to come up with a testcase), not optimization
> (again, haven't seen better code generated with this
> patch, but neither worse).
I was testing this on a large file and on combine it managed to save few
instructions, but definitly nothing important.
Honza
>
> > Tue Oct 29 23:41:46 CET 2002 Jan Hubicka <jh@suse.cz>
> >
> > * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
> > * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
> > x86_64_nonmemory_operand, x86_64_movabs_operand,
> > x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
> > ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
> > (local_symbolic_operand): Do not care the 64bit limits.
> > (x86_64_sign_extended_value): Remove allow_rip support.
> > (legitimate_pic_address_disp_p): Handle all cases allowed
> > with RIP addressing.
> > (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
> > (legitimize_pic_address): Reorganize.
> > * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
>
> Jakub