Which compilers besides gcc can vectorize code?

GCC can vectorize cycles automatically when certain parameters are specified and the correct conditions are specified. Are there other compilers that can do the same?

+4
source share
9 answers
+8
source

llvm can also do this with both vector pascal and one that is not free VectorC . These are just some of them that I remember.

+6
source
+2
source

The Mono project, an open source alternative to the Microsoft Silverlight project, has added objects that use SIMD instructions. Although not a compiler, Mono CLR is the first code-driven system to generate vector operations natively.

+2
source

IBM xlc can also auto-vectorize C and C ++.

+2
source

In fact, in many cases GCC was much worse than ICC for automatic vectorization of code, I donโ€™t know if it has improved recently, but I doubt it.

+1
source

VectorC can do this. You can also specify the entire target processor so that it uses different sets of instructions (e.g. MMX, SIMD, SIMD2, ...)

+1
source

Visual C ++ (I am using VS2005) may be forced to use SSE instructions. This doesn't seem to be as good as the Intel compiler, but if someone is already using VC ++, there is no reason not to enable this option.

Go to project properties, Configuration Properties, C / C ++, Code Generation: Enable an extended set of instructions. Install Streaming SIMD Instructios or Streaming SIMD Instructios 2. You will need to set the floating point speed. Some other parameters should also be changed, but the compiler will tell you about it.

+1
source

Although this is an old thread, I would add to this list - Visual Studio 11 will also have automatic vector rendering.

+1
source

All Articles