8

是否/arch:AVX在 Visual Studio 2012 Update 4 上启用 AVX2(带有 256 位整数 SIMD 指令和一些新的 FP shuffle)?

思路:

  • 是的,它启用了 AVX,因为 VS 没有提到 AVX2。但我认为VS可以做AVX2,因为我的内在工作。

  • 不,这不是因为 AVX 和 AVX2 是独立的 CPU 功能
    (Sandybridge 与 Haswell,或 Excavator/Zen 与 Bulldozer),
    就像 SSE 和 SSE2 是独立的

AVX2

4

3 回答 3

3

它指的是 AVX 而不是 AVX2。根据微软的说法,这(主要)适用于浮点运算。无论此标志如何,VS2012 都支持 AVX2 内在函数。AVX 可用于 SandyBridge 和 IvyBridge 的 i3、i5 和 i7 变体。AVX2 始于 Haswell。

于 2013-11-23T23:44:19.063 回答
1

使用“/arch:AVX”编译器选项可以更有效地使用 AVX2 整数指令。如果禁用此选项,则使用 AVX2 指令的代码可能比使用 SSE2 的代码慢(因为 SSE2 和 AVX2 之间有很多切换)。

于 2013-11-29T12:04:41.373 回答
0

我已经确认 Visual Studio 2013 Update 5 在启用 /arch:AVX 时,仍然会将部分代码编译成 AVX2,目前没有选择只说 AVX,我希望微软会修复。

于 2016-09-03T01:41:37.260 回答