SPRU514Z July 2001 – October 2023 SM320F28335-EP
The --opt_level command line option is supported with the CLA compiler. See Section 3.1 for more information.
The --gen_func_subsections compiler option is on by default when using the CLA compiler. (It is off by default with the regular C28x compiler.)
The CLA compiler can generate parallel MMACF32 with MMOV32 instructions. Use --opt_level=2 or higher and loop unrolling to create more opportunities for parallel MMACF32 with MMOV32 instructions. See Section 6.9.24 for details about enabling loop unrolling. For example, parallel instructions would be generated for the loop in the following function:
// 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];
}