This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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: [PATCH] Disable x87 inline functions for x86_64 and SSE [BZ #17262]


On Tue, Aug 12, 2014 at 11:48:44AM -0700, H.J. Lu wrote:
> > --- a/sysdeps/x86/fpu/bits/mathinline.h
> > +++ b/sysdeps/x86/fpu/bits/mathinline.h
> > @@ -384,7 +384,10 @@ __END_NAMESPACE_C99
> >  # endif
> >  #endif
> >
> > -#ifndef __SSE2_MATH__
> > +/* Disable x87 inlines when -fpmath=sse is passed and also when we're building
> > +   on x86_64.  Older gcc (gcc-3.2 for example) does not set __SSE2_MATH__
> > +   for x86_64.  */
> > +#if !defined __SSE2_MATH__ && !defined __x86_64__
> >  # if ((!defined __NO_MATH_INLINES || defined __LIBC_INTERNAL_MATH_INLINES) \
> >       && defined __OPTIMIZE__)
> >
> > @@ -970,4 +973,4 @@ __inline_mathcode2 (__ieee754_atan2, __y, __x,
> >                     return __value;)
> >  # endif
> >
> > -#endif /* !__SSE2_MATH__ */
> > +#endif /* !__SSE2_MATH__ && !__x86_64__ */
> 
> Will this patch get x86 inline functions with -fpmath=sse -m32 for
> GCC 3.2?

You'll get the i387 ones in that case, as GCC 3.2 and earlier just don't
predefine anything you could use for that.  Before this patch it didn't do
that either.  The bug in the current mathinline.h is that for gcc 3.2 and
earlier on x86_64 you get errors on the mathinline.h, because you have
multiple definitions of the inlines when __SSE2_MATH__ is not defined, but
__x86_64__ is.

	Jakub


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