[GCC-XML] mmx, sse, sse2, sse3, etc...
Cyrus Harmon
ch-gccxml at bobobeach.com
Fri Mar 10 11:52:29 EST 2006
Basically it's anything that includes xmmintrin.h, or mmintrin.h,
which is included from xmmintrin.h. These are gcc-4.0.1 (apple's
hacked up version, but i assume there's a similar if not identical
set in stock gcc) -supplied header files
In particular, the reference to the built-in
__builtin_ia32_vec_init_v2si fails here:
/* Convert I to a __m64 object. The integer is zero-extended to 64-
bits. */
static __inline __m64 __attribute__((__always_inline__, __nodebug__))
_mm_cvtsi32_si64 (int __i)
{
return (__m64) __builtin_ia32_vec_init_v2si (__i, 0);
}
I _think_, but I could certainly be wrong, that this is an SSE3
extension and that it is supported in recent GNU gcc. I've worked
around this by hacking up a locally-modified version of Apple's
MachineExceptions.h that doesn't include mmintrin.h. At some point,
it would be nice if gccxml included support for this stuff, but I can
imagine that the compiler arms race to keep up with built-in types to
support new hardware features quickly gets tiring.
Thanks again,
Cyrus
On Mar 10, 2006, at 6:09 AM, Brad King wrote:
> Cyrus Harmon wrote:
>> First of all, I'm a new subscriber to the list but have been
>> using gccxml for generating lisp Foreign-function interfaces to
>> things like FFTW, libtiff, the QuickTime libraries, etc... and
>> gccxml has been great. Thanks for all of your hard work.
>> Now, on to my problem, I'm trying to use gccxml on MacOS X/Intel
>> and things seem to work, except for QuickTime, which includes a
>> bunch of mmx/sse/sse2/etc... intrinsics and their corresponding
>> built-in types. Doing -mmmx and -msse2 seem to help, but I think
>> types like __builtin_ia32_vec_init_v2si or -msse3 only and the
>> current gccxml doesn't support this. Any chance of bumping of the
>> gcc version to support this, or other suggestions on how to deal
>> with this problem? I'm new to this whole x86 world, so forgive me
>> if this is a dumb or otherwise inappropriate question.
>
> What's an example of the block of code causing an error and what is
> the error? Also please make sure you are using the CVS version of
> gccxml and not 0.6.
>
> -Brad
More information about the gccxml
mailing list