The max_iterations pragma specifies the approximate maximum number of loop iterations for the chosen loop.
The compiler uses the information in iteration_count for loop optimization. You can specify #pragma ibm max_iterations(iteration_count) only once. If you specify #pragma ibm max_iterations(iteration_count) more than once, the first specified pragma is accepted, and the subsequent pragmas are ignored with a message.
iteration_count specified in #pragma ibm max_iterations cannot be smaller than iteration_count specified in #pragma ibm iterations or #pragma ibm min_iterations. Otherwise, the inconsistent value is ignored with a message.
#pragma ibm iterations(100) // Accepted
#pragma ibm min_iterations(150) // Ignored (150 > 100)
#pragma ibm min_iterations( 30) // Accepted( 30 < 100)
#pragma ibm max_iterations( 60) // Ignored ( 60 < 100)
#pragma ibm iterations( 20) // Ignored ( 20 < 30)
#pragma ibm max_iterations(500) // Accepted(500 > 100 > 30)
#pragma ibm max_iterations(620) // Ignored (Multiple occurrences)
#pragma ibm iterations(200) // Accepted( 30 < 200 < 500)
#pragma ibm min_iterations( 15) // Ignored (Multiple occurrences)
for (int i=0; i < n; ++i)
{
#pragma ibm max_iterations(130) // Accepted
#pragma ibm min_iterations( 90) // Accepted( 90 < 130)
#pragma ibm iterations( 60) // Ignored ( 60 < 90)
#pragma ibm iterations(100) // Accepted( 90 < 100 < 130)
for (int j=0; j < m; ++j) b[j] += a[i];
}