This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

fix target/19418


Just some routines that Intel has added to icc 8.1.


r~


        * config/i386/emmintrin.h (_mm_castpd_ps, _mm_castpd_si128): New.
        (_mm_castps_pd, _mm_castps_si128): New.
        (_mm_castsi128_ps, _mm_castsi128_pd): New.

Index: config/i386/emmintrin.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/emmintrin.h,v
retrieving revision 1.12
diff -u -p -r1.12 emmintrin.h
--- config/i386/emmintrin.h	18 Jan 2005 12:01:27 -0000	1.12
+++ config/i386/emmintrin.h	20 Jan 2005 19:04:11 -0000
@@ -1385,6 +1385,44 @@ _mm_cvtsi64x_si128 (long long __A)
 }
 #endif
 
+/* Casts between various SP, DP, INT vector types.  Note that these do no
+   conversion of values, they just change the type.  */
+static inline __m128
+_mm_castpd_ps(__m128d __A)
+{
+  return (__m128) __A;
+}
+
+static inline __m128i
+_mm_castpd_si128(__m128d __A)
+{
+  return (__m128i) __A;
+}
+
+static inline __m128d
+_mm_castps_pd(__m128 __A)
+{
+  return (__m128d) __A;
+}
+
+static inline __m128i
+_mm_castps_si128(__m128 __A)
+{
+  return (__m128i) __A;
+}
+
+static inline __m128
+_mm_castsi128_ps(__m128i __A)
+{
+  return (__m128) __A;
+}
+
+static inline __m128d
+_mm_castsi128_pd(__m128i __A)
+{
+  return (__m128d) __A;
+}
+
 #endif /* __SSE2__  */
 
 #endif /* _EMMINTRIN_H_INCLUDED */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]