3

我阅读了有关循环展开的文档。它解释说,如果您将展开因子设置为 1,那么程序将像使用 #pragma nounrolling 一样工作。

但是,该文档不包括 #pragma unroll(0) 案例。由于 n 的范围是 0 到 255,我只是好奇地想知道 #pragma unroll(0) 和 #pragma unroll( 1)案例。

我正在使用 C 和 icc 编译器。

4

1 回答 1

1

从英特尔文档:

编译器通过比较 n 和循环计数来生成正确的代码。

基于此,我会假设两者之间没有区别,#pragma unroll(0) and #pragma unroll(1)因为生成的代码是等效的。

于 2018-05-18T17:35:15.437 回答