/ arch:AVX启用AVX2吗?

时间:2013-11-23 23:11:40

标签: c++ visual-studio-2012 vectorization avx2

我无法找到这个简单问题的答案,/arch:AVX是否在Visual Studio 2012 Update 4上启用AVX2及其精美的256位寄存器?

思路:

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

不,它不是因为SSE和SSE2是分开的

AVX2

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

我已经确认Visual Studio 2013 Update 5,当/ arch:AVX时 启用后,目前仍将代码的某些部分编译成AVX2 没有选择只说AVX,我希望微软能解决这个问题。