summaryrefslogtreecommitdiff
path: root/gcc/config/i386/emmintrin.h
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2005-06-01 10:07:54 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2005-06-01 10:07:54 +0000
commit882b157fc018d6f285e54062ae38b387a4e13aa1 (patch)
tree3464c9034ae7799ebe23ac77273d47f4e5d5c121 /gcc/config/i386/emmintrin.h
parent202604369ad3eb7d128382284913fd548254f679 (diff)
downloadgcc-882b157fc018d6f285e54062ae38b387a4e13aa1.tar.gz
* config/i386/xmmintrin.h (_mm_setzero_ps, _mm_set_ss, _mm_set1_ps,
_mm_set_ps, _mm_setr_ps): Add __extension__. * config/i386/emmintrin.h (_mm_set_sd, _mm_set1_pd, _mm_set_pd, _mm_setr_pd, _mm_setzero_pd, _mm_set_epi64x, _mm_set_epi64x, _mm_set_epi32, _mm_set_epi16, _mm_set_epi8, _mm_setzero_si128): Likewise. (_mm_clflush): Don't use return in void function. * gcc.dg/i386-sse-12.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100439 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i386/emmintrin.h')
-rw-r--r--gcc/config/i386/emmintrin.h23
1 files changed, 12 insertions, 11 deletions
diff --git a/gcc/config/i386/emmintrin.h b/gcc/config/i386/emmintrin.h
index 6680b3bfabd..81a9b151134 100644
--- a/gcc/config/i386/emmintrin.h
+++ b/gcc/config/i386/emmintrin.h
@@ -51,14 +51,14 @@ typedef __v2df __m128d;
static __inline __m128d
_mm_set_sd (double __F)
{
- return (__m128d){ __F, 0 };
+ return __extension__ (__m128d){ __F, 0 };
}
/* Create a vector with both elements equal to F. */
static __inline __m128d
_mm_set1_pd (double __F)
{
- return (__m128d){ __F, __F };
+ return __extension__ (__m128d){ __F, __F };
}
static __inline __m128d
@@ -71,21 +71,21 @@ _mm_set_pd1 (double __F)
static __inline __m128d
_mm_set_pd (double __W, double __X)
{
- return (__m128d){ __X, __W };
+ return __extension__ (__m128d){ __X, __W };
}
/* Create a vector with the lower value W and upper value X. */
static __inline __m128d
_mm_setr_pd (double __W, double __X)
{
- return (__m128d){ __W, __X };
+ return __extension__ (__m128d){ __W, __X };
}
/* Create a vector of zeros. */
static __inline __m128d
_mm_setzero_pd (void)
{
- return (__m128d){ 0.0, 0.0 };
+ return __extension__ (__m128d){ 0.0, 0.0 };
}
/* Sets the low DPFP value of A from the low value of B. */
@@ -553,7 +553,7 @@ _mm_ucomineq_sd (__m128d __A, __m128d __B)
static __inline __m128i
_mm_set_epi64x (long long __q1, long long __q0)
{
- return (__m128i)(__v2di){ __q0, __q1 };
+ return __extension__ (__m128i)(__v2di){ __q0, __q1 };
}
static __inline __m128i
@@ -565,14 +565,15 @@ _mm_set_epi64 (__m64 __q1, __m64 __q0)
static __inline __m128i
_mm_set_epi32 (int __q3, int __q2, int __q1, int __q0)
{
- return (__m128i)(__v4si){ __q0, __q1, __q2, __q3 };
+ return __extension__ (__m128i)(__v4si){ __q0, __q1, __q2, __q3 };
}
static __inline __m128i
_mm_set_epi16 (short __q7, short __q6, short __q5, short __q4,
short __q3, short __q2, short __q1, short __q0)
{
- return (__m128i)(__v8hi){ __q0, __q1, __q2, __q3, __q4, __q5, __q6, __q7 };
+ return __extension__ (__m128i)(__v8hi){
+ __q0, __q1, __q2, __q3, __q4, __q5, __q6, __q7 };
}
static __inline __m128i
@@ -581,7 +582,7 @@ _mm_set_epi8 (char __q15, char __q14, char __q13, char __q12,
char __q07, char __q06, char __q05, char __q04,
char __q03, char __q02, char __q01, char __q00)
{
- return (__m128i)(__v16qi){
+ return __extension__ (__m128i)(__v16qi){
__q00, __q01, __q02, __q03, __q04, __q05, __q06, __q07,
__q08, __q09, __q10, __q11, __q12, __q13, __q14, __q15
};
@@ -712,7 +713,7 @@ _mm_move_epi64 (__m128i __A)
static __inline __m128i
_mm_setzero_si128 (void)
{
- return (__m128i)(__v4si){ 0, 0, 0, 0 };
+ return __extension__ (__m128i)(__v4si){ 0, 0, 0, 0 };
}
static __inline __m128d
@@ -1356,7 +1357,7 @@ _mm_stream_pd (double *__A, __m128d __B)
static __inline void
_mm_clflush (void const *__A)
{
- return __builtin_ia32_clflush (__A);
+ __builtin_ia32_clflush (__A);
}
static __inline void