自动矢量化 - 数组缩减

时间:2014-06-07 16:11:01

标签: c++ vectorization reduction

我试图对这个简单的缩减循环进行矢量化:

#ifndef POISSONSOLVERJACOBI_HPP
#define POISSONSOLVERJACOBI_HPP
#include <stdlib.h>

class P{
public:
    P();

    void iterate();



protected:
    float* m_func;
    unsigned int m_maxIt;
};

P::P(){
m_func=(float*)calloc(5000,sizeof(float));
m_maxIt=5000;
}

void P::iterate(){
float err(0.);


for(unsigned int i(0);i< m_maxIt;i++){
    err+=m_func[i];
}

}

#endif

使用以下编译命令与 gcc 4.6.3 -march = x86_64:

g++ -c -O3 -msse2 -ftree-vectorizer-verbose=2 -fassociative-math -funsafe-math-optimizations

有人可以帮我指出为什么会失败吗?

0 个答案:

没有答案