Slide 53 of 97
Notes:
There are three ways that we can program the C6x. We can use C, linear assembly, and assembly.
When we program in C, we're using the C compiler, a separate pass optimizer, and intrinsics, which we'll describe a little later. Using this flow we can get 70 to 80 percent of the code efficiency of hand-optimized assembly with very little effort.
For linear assembly like our original code that we wrote without NOPs, the assembly optimizer tools will fill in delay slots for us, put things in parallel and create a very optimized piece of code, getting to 95 to 100 percent of the efficiency possible with hand optimized assembly, but with moderate effort.
With hand optimized assembly, we obviously get 100 percent efficiency, but the amount of effort required is much higher than using the software tools to optimize the code.