树矢量化:GCC 优化标志

tree vectorization: gcc optimization flag

本文关键字:优化 标志 GCC 矢量化      更新时间:2023-10-16

我注意到 gcc 标志-ftree-vectorize对于优化代码非常有用。

我试图更好地了解它是如何工作的,但文档相当简洁:

对树执行矢量化。此标志启用 -ftree-loop-vectorize 和 -ftree-slp-vectorize 如果未明确指定。

有谁知道这面旗帜的内部运作?

是 GCC 使用的内部代码表示形式,树矢量化发生在此阶段。在这种表示中,很容易发现重复的指令。如果代码生成器可以发出 SIMD 指令,那么将这些重复指令捆绑在树阶段会有所帮助。

有关详细信息,请参阅 tree-vectorizer.c。