diff options
author | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-03-13 09:49:43 +0000 |
---|---|---|
committer | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-03-13 09:49:43 +0000 |
commit | d3f00eb2cf4bc577869563a0db1b44f3e6b8765a (patch) | |
tree | 00e1a4f280957573f0753c2ca1663b6b508d2af3 /gcc/config/i386/smmintrin.h | |
parent | 20c1b226452a83809bbf5c113b3ecb520a850785 (diff) | |
download | gcc-d3f00eb2cf4bc577869563a0db1b44f3e6b8765a.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133164 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i386/smmintrin.h')
-rw-r--r-- | gcc/config/i386/smmintrin.h | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/gcc/config/i386/smmintrin.h b/gcc/config/i386/smmintrin.h index 08bfd107232..bb70cb49a54 100644 --- a/gcc/config/i386/smmintrin.h +++ b/gcc/config/i386/smmintrin.h @@ -44,7 +44,7 @@ /* Integer blend instructions - select data from 2 sources using constant/variable mask. */ -#ifdef __OPTIMIZE__ +#ifdef __SSE_USE_INLINED_FUNC__ static __inline __m128i __attribute__((__always_inline__, __artificial__)) _mm_blend_epi16 (__m128i __X, __m128i __Y, const int __M) { @@ -69,7 +69,7 @@ _mm_blendv_epi8 (__m128i __X, __m128i __Y, __m128i __M) /* Single precision floating point blend instructions - select data from 2 sources using constant/variable mask. */ -#ifdef __OPTIMIZE__ +#ifdef __SSE_USE_INLINED_FUNC__ static __inline __m128 __attribute__((__always_inline__, __artificial__)) _mm_blend_ps (__m128 __X, __m128 __Y, const int __M) { @@ -94,7 +94,7 @@ _mm_blendv_ps (__m128 __X, __m128 __Y, __m128 __M) /* Double precision floating point blend instructions - select data from 2 sources using constant/variable mask. */ -#ifdef __OPTIMIZE__ +#ifdef __SSE_USE_INLINED_FUNC__ static __inline __m128d __attribute__((__always_inline__, __artificial__)) _mm_blend_pd (__m128d __X, __m128d __Y, const int __M) { @@ -119,7 +119,7 @@ _mm_blendv_pd (__m128d __X, __m128d __Y, __m128d __M) /* Dot product instructions with mask-defined summing and zeroing parts of result. */ -#ifdef __OPTIMIZE__ +#ifdef __SSE_USE_INLINED_FUNC__ static __inline __m128 __attribute__((__always_inline__, __artificial__)) _mm_dp_ps (__m128 __X, __m128 __Y, const int __M) { @@ -224,7 +224,7 @@ _mm_mul_epi32 (__m128i __X, __m128i __Y) index, the bits [5-4] define D index, and bits [3-0] define zeroing mask for D. */ -#ifdef __OPTIMIZE__ +#ifdef __SSE_USE_INLINED_FUNC__ static __inline __m128 __attribute__((__always_inline__, __artificial__)) _mm_insert_ps (__m128 __D, __m128 __S, const int __N) { @@ -244,7 +244,7 @@ _mm_insert_ps (__m128 __D, __m128 __S, const int __N) /* Extract binary representation of single precision float from packed single precision array element of X selected by index N. */ -#ifdef __OPTIMIZE__ +#ifdef __SSE_USE_INLINED_FUNC__ static __inline int __attribute__((__always_inline__, __artificial__)) _mm_extract_ps (__m128 __X, const int __N) { @@ -277,7 +277,7 @@ _mm_extract_ps (__m128 __X, const int __N) /* Insert integer, S, into packed integer array element of D selected by index N. */ -#ifdef __OPTIMIZE__ +#ifdef __SSE_USE_INLINED_FUNC__ static __inline __m128i __attribute__((__always_inline__, __artificial__)) _mm_insert_epi8 (__m128i __D, int __S, const int __N) { @@ -319,7 +319,7 @@ _mm_insert_epi64 (__m128i __D, long long __S, const int __N) /* Extract integer from packed integer array element of X selected by index N. */ -#ifdef __OPTIMIZE__ +#ifdef __SSE_USE_INLINED_FUNC__ static __inline int __attribute__((__always_inline__, __artificial__)) _mm_extract_epi8 (__m128i __X, const int __N) { @@ -447,7 +447,7 @@ _mm_packus_epi32 (__m128i __X, __m128i __Y) byte integers in the first 2 operands. Starting offsets within operands are determined by the 3rd mask operand. */ -#ifdef __OPTIMIZE__ +#ifdef __SSE_USE_INLINED_FUNC__ static __inline __m128i __attribute__((__always_inline__, __artificial__)) _mm_mpsadbw_epu8 (__m128i __X, __m128i __Y, const int __M) { @@ -497,7 +497,7 @@ _mm_stream_load_si128 (__m128i *__X) /* Intrinsics for text/string processing. */ -#ifdef __OPTIMIZE__ +#ifdef __SSE_USE_INLINED_FUNC__ static __inline __m128i __attribute__((__always_inline__, __artificial__)) _mm_cmpistrm (__m128i __X, __m128i __Y, const int __M) { @@ -550,7 +550,7 @@ _mm_cmpestri (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M) /* Intrinsics for text/string processing and reading values of EFlags. */ -#ifdef __OPTIMIZE__ +#ifdef __SSE_USE_INLINED_FUNC__ static __inline int __attribute__((__always_inline__, __artificial__)) _mm_cmpistra (__m128i __X, __m128i __Y, const int __M) { |