summaryrefslogtreecommitdiff
path: root/gcc/config/i386/ammintrin.h
diff options
context:
space:
mode:
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2008-03-13 13:33:47 +0000
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2008-03-13 13:33:47 +0000
commit517b02860af00c3a34bdf6c1a499683a916496b4 (patch)
tree0ca19fa288a9af69b989a25372e7675c5943fbe1 /gcc/config/i386/ammintrin.h
parentf7c302cfb235598759996067ac71da235e62e4b5 (diff)
downloadgcc-517b02860af00c3a34bdf6c1a499683a916496b4.tar.gz
PR target/34000
PR target/35553 * config/i386/xmmintrin.h: Change all static inline functions to extern inline 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: PR target/34000 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133169 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i386/ammintrin.h')
-rw-r--r--gcc/config/i386/ammintrin.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/config/i386/ammintrin.h b/gcc/config/i386/ammintrin.h
index 1351ebd9155..8866e37ad38 100644
--- a/gcc/config/i386/ammintrin.h
+++ b/gcc/config/i386/ammintrin.h
@@ -37,26 +37,26 @@
/* We need definitions from the SSE3, SSE2 and SSE header files*/
#include <pmmintrin.h>
-static __inline void __attribute__((__always_inline__, __artificial__))
+extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_stream_sd (double * __P, __m128d __Y)
{
__builtin_ia32_movntsd (__P, (__v2df) __Y);
}
-static __inline void __attribute__((__always_inline__, __artificial__))
+extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_stream_ss (float * __P, __m128 __Y)
{
__builtin_ia32_movntss (__P, (__v4sf) __Y);
}
-static __inline __m128i __attribute__((__always_inline__, __artificial__))
+extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_extract_si64 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_extrq ((__v2di) __X, (__v16qi) __Y);
}
#ifdef __OPTIMIZE__
-static __inline __m128i __attribute__((__always_inline__, __artificial__))
+extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_extracti_si64 (__m128i __X, unsigned const int __I, unsigned const int __L)
{
return (__m128i) __builtin_ia32_extrqi ((__v2di) __X, __I, __L);
@@ -67,14 +67,14 @@ _mm_extracti_si64 (__m128i __X, unsigned const int __I, unsigned const int __L)
(unsigned int)(I), (unsigned int)(L)))
#endif
-static __inline __m128i __attribute__((__always_inline__, __artificial__))
+extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_insert_si64 (__m128i __X,__m128i __Y)
{
return (__m128i) __builtin_ia32_insertq ((__v2di)__X, (__v2di)__Y);
}
#ifdef __OPTIMIZE__
-static __inline __m128i __attribute__((__always_inline__, __artificial__))
+extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_inserti_si64(__m128i __X, __m128i __Y, unsigned const int __I, unsigned const int __L)
{
return (__m128i) __builtin_ia32_insertqi ((__v2di)__X, (__v2di)__Y, __I, __L);