【发布时间】:2014-02-03 19:05:41
【问题描述】:
我目前正在使用 icc(版本 13.1.0.146)编译在英特尔至强融核协处理器上以本机模式运行的 C 程序。
考虑以下两个代码片段:
// fragment 1
array[pos] += 1;
array[pos + 1] += 1;
array[pos + 2] += 1;
array[pos + 3] += 1;
// fragment 2
for (int i = 0; i < 4; ++i)
array[i] += 1;
不幸的是,只有循环是自动矢量化的。但是,如果我为 x86 平台编译,icc 也会对“展开”版本进行矢量化。
在为 Xeon Phi 编译时,有没有办法告诉 icc 向量化基本块?
感谢任何帮助。提前致谢!
【问题讨论】:
标签: vectorization icc