This is the mail archive of the gcc-patches@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: [PATCH, i386]: Fix PR target/35553, -fkeep-inline-functions and -O errors our in SSE headers


On Thu, Mar 13, 2008 at 12:57:46PM +0100, Uros Bizjak wrote:
> On Thu, Mar 13, 2008 at 12:03 PM, Jakub Jelinek <jakub@redhat.com> wrote:
> 
> >  > I have reverted my commit for now to experiment a bit.
> >  >
> >  > Jakub, IIUC, _all_ functions should be changed to extern __inline,
> >  > with __gnu_inline__ attribute?
> >
> >  All inlines in gcc/config/i386/*mm[i_3]*.h IMHO, yes.
> >  Before GCC 4.3 we couldn't do that, as C++ didn't support the GNU
> >  extern inline semantics.  But it does now, using the same attribute.
> 
> Attached patch now implements Jakub's suggestion. Jakub, is this what
> you have had in mind?

Yes.  I'd add PR target/34000 to the changelog too, and perhaps backport to
4.3 would be in order too eventually if this proves itself on the trunk.

> 2008-03-13  Uros Bizjak  <ubizjak@gmail.com>
> 
> 	PR target/35553
> 	* config/i386/xmmintrin.h: Change all static functions to extern and
> 	add __gnu_inline__ attribute..
> 	* config/i386/bmintrin.h: Ditto.
> 	* config/i386/smmintrin.h: Ditto.
> 	* config/i386/tmmintrin.h: Ditto.
> 	* config/i386/mmintrin-common.h: Ditto.
> 	* config/i386/ammintrin.h: Ditto.
> 	* config/i386/emmintrin.h: Ditto.
> 	* config/i386/pmmintrin.h: Ditto.
> 	* config/i386/mmintrin.h: Ditto.
> 	* config/i386/mm3dnow.h: Ditto.
> 
> testsuite/ChangeLog:
> 
> 2008-03-13  Uros Bizjak  <ubizjak@gmail.com>
> 
> 	PR target/35553
> 	* g++.dg/other/i386-3.C: New test.
> 	* gcc.target/i386/sse-13.c: Redefine extern instead of static.
> 	* gcc.target/i386/sse-14.c: Ditto.
> 	* gcc.target/i386/mmx-1.c: Ditto.
> 	* gcc.target/i386/mmx-2.c: Ditto.
> 	* gcc.target/i386/3dnow-1.c: Ditto.
> 	* gcc.target/i386/3dnow-2.c: Ditto.
> 	* gcc.target/i386/3dnowA-1.c: Ditto.
> 	* gcc.target/i386/3dnowA-2.c: Ditto.

	Jakub


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