I'm doing all my CLA code in C, I'm very bad with assembly ... and I'm wondering if the CLA C compiler takes care of putting the proper amount of MNOPs in-between statements that could be problematic with the 8-stage pipeline.
But, I'm wondering if the 8-stage pipeline needs to be padded for regular things in C .. or does the CLA C compiler does this already for us?
If in one of my CLA tasks has for example,
{
x=x*(5+12); //x initialized to 1
y=x;
}
What is y on the first run of this loop? Is y=1 or y=17?
Do I need to do 7 __mnop() to flush the pipeline?
{
x=x*(5+12); //x initialized to 1
__mnop();__mnop();__mnop();__mnop();__mnop();__mnop();__mnop();
y=x;
}