This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] x86_64 -mcmodel={medium,large} -fpic address delegitimization
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: Richard Henderson <rth at redhat dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Alexandre Oliva <aoliva at redhat dot com>
- Date: Wed, 14 Aug 2013 09:05:24 +0200
- Subject: Re: [PATCH] x86_64 -mcmodel={medium,large} -fpic address delegitimization
- References: <20130813194710 dot GK1814 at tucnak dot redhat dot com>
On Tue, Aug 13, 2013 at 9:47 PM, Jakub Jelinek <jakub@redhat.com> wrote:
> On x86_64 with -mcmodel=large -fpic -g -O2 we get tons of
> notes about non-delegitimized unspecs like UNSPEC_GOTOFF, UNSPEC_PLTOFF
> or UNSPEC_GOT. Seems we already handle most of those properly for -m32
> code, so the issue is just that we wouldn't fall back into the -m32 handling
> code which takes care of dealing with addends, missing pic pointer etc.
> The following patch inverts the last condition for TARGET_64BIT code
> and falls through for CM_MEDIUM_PIC and CM_LARGE_PIC cmodels.
>
> Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
>
> 2013-08-13 Jakub Jelinek <jakub@redhat.com>
> Alexandre Oliva <aoliva@redhat.com>
>
> PR target/58067
> * config/i386/i386.c (ix86_delegitimize_address): For CM_MEDIUM_PIC
> and CM_LARGE_PIC ix86_cmodel fall thru into the -m32 code, handle
> there also UNSPEC_PLTOFF.
OK, also for backport to other release branches.
Thanks,
Uros.