Microsoft声明VS2010支持全套AVX指令:
...
在VS2010版本中,所有AVX功能和说明均通过内在和/arch:AVX
完全支持。
...
但我找不到任何用于融合乘法运算的内在函数
我需要使用_mm256_fmadd_ps
函数,但在“immintrin.h”标题中缺少它。我真的很困惑。
答案 0 :(得分:5)
Fused-Multiply Add内在函数不是AVX的一部分。英特尔在后来的AVX版本中摆脱了它。所以FMA是单独的指令集。
更糟糕的是,其中有两个FMA3(Intel - Haswell),FMA4(AMD - Bulldozer)。
VS2010 SP1支持FMA4 - AMD的版本。
目前尚未发布任何处理器产品线(除了AMD - Interlagos,它是Bulldozer的服务器部分)。
英特尔FMA内在函数适用于FMA3。由于没有处理器实现它,您将无法使用/测试它。