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
This commit is contained in:
Richard Henderson 2005-01-20 11:06:28 -08:00 committed by Richard Henderson
parent 58b03a2dd2
commit edd5b7dab5
2 changed files with 45 additions and 0 deletions

View 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

View 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 */