_m_from_int64 and _m_to_int64 on IA-32 (Linux)

_m_from_int64 and _m_to_int64 on IA-32 (Linux)

Two of the MMX Technology General Support Intrinsics don't seem to be supported on IA-32, even though their "alternate" names exist. From mmintrin.h:

...
#if defined(__x86_64) || defined(_M_X64)
__m64 _m_from_int64(__int64 a);
__int64 _m_to_int64(__m64 a);
#endif

/* Alternate intrinsic name definitions */
#define _mm_cvtsi64_m64 _m_from_int64
#define _mm_cvtm64_si64 _m_to_int64
...

GCC supports these on i686, and there are a couple Linux libraries and applications out there that make use of them (e.g., Cairo pixman, which I'm unsuccessfully attempting to compile with ICC).

I notice that LinuxDNA seems to sidestep the same problem when building Firefox with ICC (see http://groups.google.com/group/linuxdna/web/how-to-compile-firefox-with-icc)

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi mckooper,

We are aware of this issue. Compiler engineering is working on a fix for this issue. I'll let you know when I have an update regarding this issue.

Thanks,
Feilong
Intel Developer Support

Hi mckooper,

I verified that icc 11.1 update 5 (package ID: 11.1.069) contains the fix. It is available for download in Registration Center. Thanks for your issue report.

Thanks,

Feilong

Leave a Comment

Please sign in to add a comment. Not a member? Join today