This is the mail archive of the gcc-bugs@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: optimization/10877: [3.3/3.4 regression] miscompilation with -O3 -fPIC on x86


> 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


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