Visual c++ 为什么/Qvec报告:2不返回任何内容?(MSVC 2012)

Visual c++ 为什么/Qvec报告:2不返回任何内容?(MSVC 2012),visual-c++,Visual C++,我尝试了/Qvec report:2选项,看看MSVC自动矢量器是否有用。不幸的是,我没有得到任何积极或消极的结果: > Microsoft (R) C/C++ Optimizing Compiler Version 17.00.60610.1 for x86 1> Copyright (C) Microsoft Corporation. All rights reserved. 1> 1> cl /c /Zi /nologo- /W3 /WX- /O2 /O

我尝试了/Qvec report:2选项,看看MSVC自动矢量器是否有用。不幸的是,我没有得到任何积极或消极的结果:

>  Microsoft (R) C/C++ Optimizing Compiler Version 17.00.60610.1 for x86
1>  Copyright (C) Microsoft Corporation.  All rights reserved.
1>  
1>  cl /c /Zi /nologo- /W3 /WX- /O2 /Ob2 /Oi /Oy /GL /D WIN32 /D _SCL_SECURE_NO_WARNINGS /D _CRT_SECURE_NO_WARNINGS /D NDEBUG /D _LIB /D _UNICODE /D UNICODE /Gm- /EHsc /MD /GS /Gy /arch:SSE2 /fp:fast /Zc:wchar_t /Zc:forScope /Yu"stdafx.h" /Fp"Release\(redacted).pch" /Fo"Release\\" /Fd"Release\vc110.pdb" /Gd /TP /analyze- /errorReport:prompt  /Qvec-report:2 (redacted).cpp
1>cl : Command line warning D9035: option 'nologo-' has been deprecated and will be removed in a future release
1>  
1>  (redacted).cpp
1>
1>Build succeeded.
我希望收到类似的消息

--- Analyzing function: main 
c:\source.cpp(4) : loop vectorized 
c:\source.cpp(5) : loop not vectorized due to reason '1200'

原因是
/GL
选项。使用链接时代码生成,编译步骤仅成为解析步骤,不包括任何矢量化。由于该步骤完全缺失,因此在编译时不会生成任何报告(肯定或否定)


链接器现在可以发出矢量化步骤。即使LTCG对象文件被放置在库中,也会发生这种情况。

根据,无论是
/O2
还是
/O2/GL
都将启用自动矢量化。

不知道-它对/QVec和/QPar都适用。我看到这是一个发布版本,这是正确的。你是构建还是重建的?构建,重建,切换到x64-像渡渡鸟一样死亡。默认情况下,它应该矢量化,但如果相关的话,你可以尝试添加/QPar(我的项目两者都有)。实际上,我似乎记得/arch:SSE2会影响它(在任务单上找不到ref)-你能删除该选项吗?/arch:SSE2是上面的第一步/arch:IA32,and/arch:IA32不允许矢量化。所以我需要这个选项,至少在x86上是这样。