re PR target/19418 (_mm_cast*, icc8.1 new intrinsics)
authorRichard Henderson <rth@redhat.com>
Thu, 20 Jan 2005 19:06:28 +0000 (11:06 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Thu, 20 Jan 2005 19:06:28 +0000 (11:06 -0800)
        PR target/19418
        * 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.

From-SVN: r93974

gcc/ChangeLog
gcc/config/i386/emmintrin.h

index b030e76e2c6ffeffe80ee383c6d8f9e46668bbda..437f416edd0a1912e8ce479f490dbef506b9db99 100644 (file)
@@ -1,3 +1,10 @@
+2005-01-20  Richard Henderson  <rth@redhat.com>
+
+       PR target/19418
+       * 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.
+
 2005-01-20  Richard Henderson  <rth@redhat.com>
 
        PR target/19530
index d550aa8fc6ac2525122f5439af3e6cac8d40fc48..3bf5fd81ff15100ded6f12b92a309345c0e96927 100644 (file)
@@ -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 */