summaryrefslogtreecommitdiff
path: root/gcc/config/i386/smmintrin.h
diff options
context:
space:
mode:
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2008-03-13 09:49:43 +0000
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2008-03-13 09:49:43 +0000
commitd3f00eb2cf4bc577869563a0db1b44f3e6b8765a (patch)
tree00e1a4f280957573f0753c2ca1663b6b508d2af3 /gcc/config/i386/smmintrin.h
parent20c1b226452a83809bbf5c113b3ecb520a850785 (diff)
downloadgcc-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.h22
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)
{