aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2005-01-20 11:06:28 -0800
committerRichard Henderson <rth@gcc.gnu.org>2005-01-20 11:06:28 -0800
commitedd5b7dab56b5a991a4dca4392cb07fbfd429dba (patch)
treeab4361f711f33f178610eb60a140e3318a53a2ea /gcc/config
parent58b03a2dd205cf0cdda5b7bed4ec941fb695ed46 (diff)
downloadgcc-edd5b7dab56b5a991a4dca4392cb07fbfd429dba.zip
gcc-edd5b7dab56b5a991a4dca4392cb07fbfd429dba.tar.gz
gcc-edd5b7dab56b5a991a4dca4392cb07fbfd429dba.tar.bz2
re PR target/19418 (_mm_cast*, icc8.1 new intrinsics)
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
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/i386/emmintrin.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/gcc/config/i386/emmintrin.h b/gcc/config/i386/emmintrin.h
index d550aa8..3bf5fd8 100644
--- a/gcc/config/i386/emmintrin.h
+++ b/gcc/config/i386/emmintrin.h
@@ -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 */