【发布时间】:2016-03-10 12:20:19
【问题描述】:
我注意到 gcc 标志 -ftree-vectorize 对于优化代码非常有用。
我试图更好地理解它是如何工作的,但文档相当简洁:
对树执行矢量化。该标志启用 -ftree-loop-vectorize 和 -ftree-slp-vectorize 如果未明确指定。
有人知道这个标志的内部工作原理吗?
【问题讨论】:
-
此链接可能有用:Vectorization in gcc
-
如链接文档中所述,可以通过使用
-ftree-vectorizer-verbose=N选项来进一步了解优化器的内部工作原理。 -
“SLP”是超字级并行。并非所有重复的指令都是由于循环展开;有些是因为底层代码自然是重复的。
-
我建议阅读my paper 了解 SIMD
标签: c++ gcc optimization vector tree