This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [x86-64] Large code models (static and PIC)
On Wed, Jan 24, 2007 at 12:37:57PM +0100, Jan Hubicka wrote:
> Right except for ...
> >
> > > --- reg-stack.c (revision 121034)
> > > +++ reg-stack.c (working copy)
> > > @@ -3120,7 +3120,8 @@ reg_to_stack (void)
> > > the PIC register hasn't been set up. In that case, fall back
> > > on zero, which we can get from `ldz'. */
> > >
> > > - if (flag_pic)
> > > + if ((flag_pic && !TARGET_64BIT)
> > > + || ix86_cmodel == CM_LARGE || ix86_cmodel == CM_LARGE_PIC)
> > > not_a_num = CONST0_RTX (SFmode);
> > > else
> > > {
> >
> > But e.g. the above changes behavior for CM_SMALL_PIC or CM_MEDIUM_PIC.
>
> Here I actually included SMALL_PIC/MEDIUM_PIC models because there we
> can load NaN without having temporary register too.
Then can't you commit the "flag_pic" -> "flag_pic && !TARGET_64BIT" change separately?
Might make things easier to understand for anybody who will try to make
sense/backport/whatever the patch in the future.
Jakub