Rules for Loop Directives that Affect Array Assignment Statements

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:

DISTRIBUTE POINT

NOUNROLL

NOPREFETCH1

FORCEINLINE

NOUNROLL_AND_JAM

PREFETCH1

INLINE

NOVECTOR

 

IVDEP

PARALLEL

 

LOOP COUNT

SIMD

 

NOFUSION

UNROLL

 

NOINLINE

UNROLL_AND_JAM

 

NOPARALLEL

VECTOR

 

Only one of the above directives can precede the array assignment statement (one-dimensional-array = expression) to affect it.

Other rules may apply to these directives. For more information, see the description of each directive.

Examples

Consider the following:

             REAL A(10), B(10)
             ...
        !DEC$ IVDEP
             A = B + 3

This has the same effect as writing the following explicit loop:

       !DEC$ IVDEP
             DO I = 1, 10
                A (I) = B (I) + 3
             END DO

このヘルプについてのフィードバックを送信