This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: optimization/10877: [3.3/3.4 regression] miscompilation with -O3 -fPIC on x86
- From: Eric Botcazou <ebotcazou at libertysurf dot fr>
- To: janis187 at us dot ibm dot com
- Cc: gcc-bugs at gcc dot gnu dot org,gcc-gnats at gcc dot gnu dot org,lloyd at acm dot jhu dot edu
- Date: Wed, 21 May 2003 10:42:30 +0200
- Subject: Re: optimization/10877: [3.3/3.4 regression] miscompilation with -O3 -fPIC on x86
- References: <3ECAAD00.6EC522B6@us.ibm.com>
> The pc_thunk started going into %eax with this patch:
> > 2003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
> >
> > PR optimization/9888
> > * config/i386/i386.md (jcc_1): Fix range.
> > (jcc_2): Likewise.
> > (jump): LIkewise.
> > (doloop_end_internal): Likewise.
> >
> > 2003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
> >
> > PR optimization/9888
> > * config/i386/i386.md (movsi_1): Remove special alternatives
> > for %eax register.
> > (movsi_1_nointernunit): Likewise.
> > (movhi_1): Likewise.
> > * config/i386/i386.c (memory_address_length): Do not use
> > short displacement when there is no base.
> > (ix86_attr_length_address_default): Handle LEA instructions.
>
> This was tested using Wolfgang's smaller testcase and
> searching for '_GLOBAL_OFFSET_TABLE_, %eax' in the .s file.
Is it illegal for the pc_thunk to go into %eax instead of %ecx in that case?
--
Eric Botcazou