The following functions have different prototypes in gcc and intel headers: First intel, second gcc: _mm_cvtps_pd: __m128d _mm_cvtps_pd(__m128) __m128d _mm_cvtps_pd(__m128d) _mm_cvtss_sd: __m128d _mm_cvtss_sd(__m128d, __m128) __m128d _mm_cvtss_sd(__m128d , __m128d) _mm_sqrt_sd: __m128d _mm_sqrt_sd(__m128d, __m128d) __m128d _mm_sqrt_sd(__m128d) _mm_cvtpd_epi32: __m128i _mm_cvtpd_epi32(__m128d) __m128d _mm_cvtpd_epi32(__m128d) _mm_cvtps_epi32: __m128i _mm_cvtps_epi32(__m128) __m128d _mm_cvtps_epi32(__m128d) _mm_cvttpd_epi32: __m128i _mm_cvttpd_epi32(__m128d) __m128d _mm_cvttpd_epi32(__m128d) _mm_cvttps_epi32: __m128i _mm_cvttps_epi32(__m128) __m128d _mm_cvttps_epi32(__m128d) _mm_cvtepi32_ps: __m128 _mm_cvtepi32_ps(__m128i) __m128d _mm_cvtepi32_ps(__m128i) _mm_cvtpd_ps: __m128 _mm_cvtpd_ps(__m128d) __m128d _mm_cvtpd_ps(__m128d) _mm_cvtsd_ss: __m128 _mm_cvtsd_ss(__m128, __m128d) __m128d _mm_cvtsd_ss(__m128d , __m128d) _mm_storeh_pd: void _mm_storeh_pd(double *, __m128d) void _mm_storeh_pd(__m128d *, double) _mm_storel_pd: void _mm_storel_pd(double *, __m128d) void _mm_storel_pd(__m128d *, double) _mm_stream_pd: void _mm_stream_pd(double *, __m128d) void _mm_stream_pd(__m128d *, __m128d) Differing only in const attribute: _mm_load1_pd: __m128d _mm_load1_pd(double const*) __m128d _mm_load1_pd(double *) _mm_loadh_pd: __m128d _mm_loadh_pd(__m128d, double const*) __m128d _mm_loadh_pd(__m128d , double *) _mm_loadl_pd: __m128d _mm_loadl_pd(__m128d, double const*) __m128d _mm_loadl_pd(__m128d , double *) _mm_load_pd: __m128d _mm_load_pd(double const*) __m128d _mm_load_pd(double *) _mm_loadr_pd: __m128d _mm_loadr_pd(double const*) __m128d _mm_loadr_pd(double *) _mm_load_sd: __m128d _mm_load_sd(double const*) __m128d _mm_load_sd(double *) _mm_loadu_pd: __m128d _mm_loadu_pd(double const*) __m128d _mm_loadu_pd(double *) _mm_loadh_pi: __m128 _mm_loadh_pi(__m128, __m64 const*) __m128 _mm_loadh_pi(__m128 , __m64 *) _mm_loadl_pi: __m128 _mm_loadl_pi(__m128, __m64 const*) __m128 _mm_loadl_pi(__m128 , __m64 *) _mm_load_ps1: __m128 _mm_load_ps1(float const*a) __m128 _mm_load_ps1(float *) _mm_load_ps: __m128 _mm_load_ps(float const*a) __m128 _mm_load_ps(float *) _mm_loadr_ps: __m128 _mm_loadr_ps(float const*a) __m128 _mm_loadr_ps(float *) _mm_load_ss: __m128 _mm_load_ss(float const*a) __m128 _mm_load_ss(float *) _mm_loadu_ps: __m128 _mm_loadu_ps(float const*a) __m128 _mm_loadu_ps(float *) _mm_clflush: void _mm_clflush(void const*) void _mm_clflush(void *) Release: unknown
From: hubicka@gcc.gnu.org To: gcc-gnats@gcc.gnu.org Cc: Subject: other/8289 Date: 22 Oct 2002 23:54:48 -0000 CVSROOT: /cvs/gcc Module name: egcs Changes by: hubicka@gcc.gnu.org 2002-10-22 16:54:48 Modified files: gcc : ChangeLog gcc/config/i386: i386.md xmmintrin.h Log message: PR other/8289 * xmmintrin.h: Add const to the argument of loads. * i386.md (pushv2di): New pattern. PR target/6890 * xmmintrin.h (_MM_TRANSPOSE4_PS): New. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/ChangeLog.diff?cvsroot=gcc&r1=1.15758&r2=1.15759 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/config/i386/i386.md.diff?cvsroot=gcc&r1=1.397&r2=1.398 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/config/i386/xmmintrin.h.diff?cvsroot=gcc&r1=1.17&r2=1.18
State-Changed-From-To: open->closed State-Changed-Why: I believe I've fixed all the cases. If you can check easilly, can you verify the current xmmintrin.h?
From: Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> To: hubicka@gcc.gnu.org, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, jh@suse.cz, nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org Cc: Subject: Re: other/8289: Errorneous prototypes of xmmintrin.h functions Date: Sun, 27 Oct 2002 12:00:16 +0100 Hello, > Synopsis: Errorneous prototypes of xmmintrin.h functions > > State-Changed-From-To: open->closed > State-Changed-By: hubicka > State-Changed-When: Sun Oct 27 02:22:16 2002 > State-Changed-Why: > I believe I've fixed all the cases. If you can check easilly, can > you verify the current xmmintrin.h? yes, it seems OK. Zdenek