This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
RE: SSE2 support in GCC-3.2.1 (May not exist?)
- From: "Scott Robert Ladd" <scott at coyotegulch dot com>
- To: "Pramod Kumar Swami" <Pramod_Swami at infosys dot com>, <gcc at gcc dot gnu dot org>
- Date: Thu, 16 Jan 2003 09:10:56 -0500
- Subject: 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.