其他分享
首页 > 其他分享> > c – VS2010 SP1是否仅支持部分AVX指令集?

c – VS2010 SP1是否仅支持部分AVX指令集?

作者:互联网

微软表示VS2010支持全套AVX指令:

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


在VS2010版本中,所有AVX功能和说明均通过内在和/ arch:AVX完全支持.

但是我找不到任何用于融合乘法运算的内在函数

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

我需要使用_mm256_fmadd_ps函数,但它在“immintrin.h”标题中缺失.我真的很困惑.

解决方法:

Fused-Multiply Add内在函数不是AVX的一部分.英特尔在后来的AVX版本中摆脱了它.所以FMA是单独的指令集.

更糟糕的是,将会有两个FMA3(Intel – Haswell),FMA4(AMD – Bulldozer).

VS2010 SP1支持FMA4 – AMD的版本.

两款处理器产品线尚未发布(除了AMD – Interlagos,它是Bulldozer的服务器部分).

英特尔FMA内在函数适用于FMA3.由于没有处理器实现它,您将无法使用/测试它.

标签:fma,c,sse,avx,visual-studio-2010
来源: https://codeday.me/bug/20190902/1793809.html