Would it be possible to add those, as far as know, new casting intrinsics? As ICC8.1 doesn't support straight C casts (neither does msvc2k3), they are bound to appear sooner or later in code. Excerpt from the only documentation i've found about them: Intrinsics for Casting Support This version of the Intel C++ Compiler supports casting between various SP, DP, and INT vector types. These intrinsics do not convert values; they just change the type. extern __m128 _mm_castpd_ps(__m128d in); extern __m128i _mm_castpd_si128(__m128d in); extern __m128d _mm_castps_pd(__m128 in); extern __m128i _mm_castps_si128(__m128 in); extern __m128 _mm_castsi128_ps(__m128i in); extern __m128d _mm_castsi128_pd(__m128i in);
Confirmed.
What file does Intel put them in?
They are described in the SSE2 documentation chapter and defined in emmintrin.h that way: /* * Support for casting between various SP, DP, INT vector types. * Note that these do no conversion of values, they just change * the type. */ extern __m128 _mm_castpd_ps(__m128d in); extern __m128i _mm_castpd_si128(__m128d in); extern __m128d _mm_castps_pd(__m128 in); extern __m128i _mm_castps_si128(__m128 in); extern __m128 _mm_castsi128_ps(__m128i in); extern __m128d _mm_castsi128_pd(__m128i in);
While we're at it, in pmmintrin.h, the DAZ related macros are conditionnalized on __SSE3__ definition and that's not quite right.
Subject: Bug 19418 CVSROOT: /cvs/gcc Module name: gcc Changes by: rth@gcc.gnu.org 2005-01-20 19:06:28 Modified files: gcc : ChangeLog gcc/config/i386: emmintrin.h Log message: 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. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.7203&r2=2.7204 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/emmintrin.h.diff?cvsroot=gcc&r1=1.12&r2=1.13
Fixed. If someone wants to go over the rest of the headers item by item and compare them to the Intel documentation, that would be great. But by eyes claim they'll go on strike if I try to do that.