3

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.

Mysticial
  • 464,885
  • 45
  • 335
  • 332
Mike
  • 1,717
  • 2
  • 15
  • 19

1 Answers1

5

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.

Mysticial
  • 464,885
  • 45
  • 335
  • 332
  • Oh, I did not know that this command is not a part of AVX. It seems I want too much from current hardware :) Ok, I will use _mm256_mul_ps + _mm256_add_ps instead. Thank you! – Mike Oct 20 '11 at 20:22
  • You're not the only one who wants more... :) I eagerly waited for AVX for about a year before it came out. And now I'm eagerly awaiting for FMA3, FMA4/XOP, and AVX2. XD – Mysticial Oct 20 '11 at 20:32
  • FMA4 was originally Intel's actually, but they changed to FMA3 during development. – Yuhong Bao Dec 27 '14 at 07:04