4.7.循环展开¶
循环展开是一种提高性能的技术。小循环被展开,使得循环的迭代在循环体中被复制一定的次数。重复迭代的次数被称为展开因子。
4.7.1.优势¶
支持 FPU 的 C28x CPU 还有其他优势:
- 为小循环生成 RPTB - 循环展开增加了循环体中的指令数量,并使编译器能够满足
RPTB
指令的最小块大小要求。 - 改进了浮点性能 - 循环展开可以为编译器提供更多指令来调度展开的迭代,从而提高性能。这减少了生成的 NOP 的数量,还为编译器提供了更大的机会来生成并行指令。
注释
循环展开将使代码大小增加,因为编译器会复制循环体。#pragmaUNROLL(1)
可用于防止编译器展开循环。