diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2008-03-13 10:49:43 +0100 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2008-03-13 10:49:43 +0100 |
commit | 8a6c843029229e6d289b1a0f31eedbceb3f73d62 (patch) | |
tree | 00e1a4f280957573f0753c2ca1663b6b508d2af3 /gcc/config/i386/emmintrin.h | |
parent | 22aee8c5a9dabc4d5a716eaa0a6a65e71c4e0f03 (diff) | |
download | gcc-8a6c843029229e6d289b1a0f31eedbceb3f73d62.zip gcc-8a6c843029229e6d289b1a0f31eedbceb3f73d62.tar.gz gcc-8a6c843029229e6d289b1a0f31eedbceb3f73d62.tar.bz2 |
re PR c++/35553 (-fkeep-inline-functions and -O errors out in SSE headers)
PR target/35553
* config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
__SSE_USE_INLINED_FUNC__ when using -flag-keep-inline-functions
together with optimization.
* config/i386/xmmintrin.h: Use __SSE_USE_INLINED_FUNC__ instead of
__OPTIMIZE__ to choose between inlined intrinsic SSE function having
immediate arguments and its equivalent macro definition.
* 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.
testsuite/ChangeLog:
PR target/35553
* g++.dg/other/i386-3.C: New test.
From-SVN: r133164
Diffstat (limited to 'gcc/config/i386/emmintrin.h')
-rw-r--r-- | gcc/config/i386/emmintrin.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/config/i386/emmintrin.h b/gcc/config/i386/emmintrin.h index c5bbe8b..1244958 100644 --- a/gcc/config/i386/emmintrin.h +++ b/gcc/config/i386/emmintrin.h @@ -880,7 +880,7 @@ _mm_cvtss_sd (__m128d __A, __m128 __B) return (__m128d)__builtin_ia32_cvtss2sd ((__v2df) __A, (__v4sf)__B); } -#ifdef __OPTIMIZE__ +#ifdef __SSE_USE_INLINED_FUNC__ static __inline __m128d __attribute__((__always_inline__, __artificial__)) _mm_shuffle_pd(__m128d __A, __m128d __B, const int __mask) { @@ -1144,7 +1144,7 @@ _mm_srai_epi32 (__m128i __A, int __B) return (__m128i)__builtin_ia32_psradi128 ((__v4si)__A, __B); } -#ifdef __OPTIMIZE__ +#ifdef __SSE_USE_INLINED_FUNC__ static __inline __m128i __attribute__((__always_inline__, __artificial__)) _mm_srli_si128 (__m128i __A, const int __N) { @@ -1307,7 +1307,7 @@ _mm_cmpgt_epi32 (__m128i __A, __m128i __B) return (__m128i)__builtin_ia32_pcmpgtd128 ((__v4si)__A, (__v4si)__B); } -#ifdef __OPTIMIZE__ +#ifdef __SSE_USE_INLINED_FUNC__ static __inline int __attribute__((__always_inline__, __artificial__)) _mm_extract_epi16 (__m128i const __A, int const __N) { @@ -1363,7 +1363,7 @@ _mm_mulhi_epu16 (__m128i __A, __m128i __B) return (__m128i)__builtin_ia32_pmulhuw128 ((__v8hi)__A, (__v8hi)__B); } -#ifdef __OPTIMIZE__ +#ifdef __SSE_USE_INLINED_FUNC__ static __inline __m128i __attribute__((__always_inline__, __artificial__)) _mm_shufflehi_epi16 (__m128i __A, const int __mask) { |