When certain loop directives precede an array assignment statement, they affect the implicit loops that are generated by the compiler.
The following loop directives can affect array assignment statements:
Usually only one of the general directives can precede the array assignment statement (one-dimensional-array = expression) to affect it. The BLOCK_LOOP and NOBLOCK_LOOP directives may precede array assignment statements with any rank variable on the left-hand-side of the assignment.
Other rules may apply to the general directives. For more information, see the description of each directive.
Consider the following:
REAL A(10), B(10) ... !DIR$ IVDEP A = B + 3
This has the same effect as writing the following explicit loop:
!DIR$ IVDEP DO I = 1, 10 A (I) = B (I) + 3 END DO