我试图了解GCC的矢量化工具是如何工作的,但我仍然不断支持相关的stmt ..."消息。
stmt代表什么?
"声明"
更新:这是一个使用跨步访问的代码示例。从GCC documentation开始,似乎这应该有效(参见示例11):
char *restrict from = (char *)fbuf;
char *restrict to = (char *)sbuf;
for (int i = 0; i < NPTS; i++) {
to[i] = from[2*i];
}
我在CentOS 6上使用gcc 4.4.7。我的构建命令是:
gcc -o test main.c -m32 -std=c99 -Wall -O3 -ftree-vectorizer-verbose=6