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: Vector Extensions to C (SSE2 on X86)


Anyone fixing the documentation, then?

Den 1. aug. 2006 kl. 15.51 skrev Ian Lance Taylor:

Amund Fjellheim <abc@lavacat.com> writes:

GCC has some support for vector instructions through typedef'ed types
like this:
typedef int v4si __attribute__ ((vector_size (16)));

Some normal C operators can be done on these and there are some
platform specific built in functions. The X86 functions are listed at
http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/X86-Built_002din-
Functions.html#X86-Built_002din-Functions , but there are lots of
SSE2 instructions missing. Why? I don't see how it could be so hard
to implement

v4si __builtin_ia32_pslld(v4si, int)

and so on, when so many other SSE and SSE2 instructions are there.
Also, why aren't they available for C++ programs compiled with g++?

Will these things be fixed in future releases of gcc? Anyone know
something about the status on this?

It is a documentation failure. gcc's current goal is to implement the Intel intrinsic functions, providing mmintrin.h and friends: http://www.intel.com/cd/ids/developer/asmo-na/eng/59644.htm

So, to get pslld, you would use _m_pslld or _m_pslldi, etc.

Ian


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