ZHCU876Z July 2001 – October 2023 SM320F28335-EP
CLA 编译器支持 --opt_level 命令行选项。有关更多信息,请参阅节 3.1。
使用 CLA 编译器时,--gen_func_subsections 编译器选项默认处于开启状态。(对于常规 C28x 编译器,默认情况下它是关闭的。)
CLA 编译器可以生成具有 MMOV32 指令的并行 MMACF32。使用 --opt_level=2 或更高版本并循环展开为具有 MMOV32 指令的并行 MMACF32 创造更多机会。有关启用循环展开的详细信息,请参阅节 6.9.24。例如,将为以下函数中的循环生成并行指令:
// result, buff[], and coef[] are float
interrupt void Cla1Task1 ( void ) {
result = 0.0f;
int16_t i;
#pragma UNROLL(20)
for(i = 20; i > 0; i–) {
buff[i] = buff[i-1];
result += coef[i] * buff[i];
}
result += coef[0] * buff[0];
}