The UNROLL option controls loop unrolling under optimization. Loop unrolling is an optimization that replicates a loop body multiple times and adjusts the loop control code accordingly.
.-AUTO-. >>-UNROLL--(--+-NO---+--)--------------------------------------><
Specifying the UNROLL option can increase the size of the object code that is generated.
The UNROLL option is ignored when the NOOPTIMIZE option is in effect.
Loop unrolling improves the performance of a program by exposing instruction level parallelism for instruction scheduling and software pipelining. It also creases code in the new loop body, which might increase pressure on register allocation, cause register spilling, and thus cause a loss in performance.
UNROLL(AUTO) is the default.