我正在尝试将我的代码设置为自动向量化,但它无法正常工作.
int _tmain(int argc, _TCHAR* argv[])
{
const int N = 4096;
float x[N];
float y[N];
float sum = 0;
//create random values for x and y
for (int i = 0; i < N; i++)
{
x[i] = rand() >> 1;
y[i] = rand() >> 1;
}
for (int i = 0; i < N; i++){
sum += x[i] * y[i];
}
}
Run Code Online (Sandbox Code Playgroud)
这里没有循环矢量化,但我真的只对第二个循环感兴趣.
我正在使用visual studio express 2013并且正在编译/O2和/Qvec-report:2(报告循环是否被矢量化)选项.编译时,我收到以下消息:
--- Analyzing function: main
c:\users\...\documents\visual studio 2013\projects\intrin3\intrin3\intrin3.cpp(28) …Run Code Online (Sandbox Code Playgroud)