This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: SSE2 support in GCC-3.2.1 (May not exist?)


> Pramod Kumar Swami wrote:
>
> Does gcc-3.2.1 support MMX 128-bit(SSE2) instructions ? If yes
> where can i locate the header file having all these intrinsics
> definition in gcc-3.2.1 package ?

You can find the ia32 instrinsic functions, and their usage, are listed at:

http://gcc.gnu.org/onlinedocs/gcc-3.2.1/gcc/X86-Built-in-Functions.html
http://gcc.gnu.org/onlinedocs/gcc-3.2.1/gcc/Vector-Extensions.html#Vector%20
Extensions

I note that the pages list MMX, SSE, and 3DNow intrinsics, but do *not* list
any SSE2 types or intrinsics. I just tried to compile the following:

typedef int v4sf __attribute__ ((mode(V4SF))); // works
typedef int v2df __attribute__ ((mode(V2DF))); // fails

int main()
{
    v4sf fv; // four packed 32-bit floats
    v2df dv; // two packed 64-bit doubles

    return 0;
}

The compiled failed using both of these command lines:

g++ -march=pentium4 sse2test.cpp
g++ -march=pentium4 -msse2 sse2test.cpp

The compiler reports that V2DF is an unknown mode, even though the cited
docs suggest that my syntax is correct. I suspect (can someone confirm?)
that SSE2 intrinsics are *not* implemented in 3.2.1.

..Scott

--
Scott Robert Ladd
Coyote Gulch Productions (http://www.coyotegulch.com)
Professional programming for science and engineering;
Interesting and unusual bits of very free code.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]