Does VS2010 SP1 support only part of the AVX instruction set?

1.7k views Asked by At

Microsoft states VS2010 supports the full set of AVX instructions:

http://blogs.msdn.com/b/vcblog/archive/2009/11/02/visual-c-code-generation-in-visual-studio-2010.aspx

... In VS2010 release, all AVX features and instructions are fully supported via intrinsic and /arch:AVX. ...

But I cannot find any Intrinsics for Fused Multiply Add Operations

http://software.intel.com/sites/products/documentation/studio/composer/en-us/2011/compiler_c/intref_cls/common/intref_bk_avx_fma.htm#intref_bk_avx_fma

I need to use _mm256_fmadd_ps function but it is missing in "immintrin.h" header. I'm really stuck with it.

1

There are 1 answers

3
Mysticial On BEST ANSWER

The Fused-Multiply Add intrinsics aren't part of AVX. Intel got rid of it in their later revisions for AVX. So FMA is separate instruction set.

Even worse, there will be two of them FMA3 (Intel - Haswell), FMA4 (AMD - Bulldozer).

VS2010 SP1 supports FMA4 - AMD's version of it.

Neither processor line has been released yet (except for AMD - Interlagos, which is the server part of Bulldozer).

The Intel FMA intrinsics are for FMA3. Since no processor implements it yet, you won't be able to use/test it yet.