This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Peter,
The scenario you described indeed looks unusual. Although I don't know all the internal details about the optimizer, to explain this behaviour keep in mind that the #pragma MUST_ITERATE informs the compiler about the loop behaviour, but it is the optimizer that makes the final decision about the generated code. Although it makes good assumptions most of the time, the optimizer has lots of other considerations to make and this may be a case where it simply didn't guess it right - but this is an intrinsic part of the process of hand-optimizing the code.
Additional information about hand-optimizing loops can be obtained in this interesting app note (SPRA666) which, despite talking about another DSP family (C6000), explains the use of these two pragmas (page 19 and 20) and shows considerations about their use.
Further analysis would require additional details about the development environment and the source code - check this topic.
Hope this helps,
Rafael