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:

FORCEINLINE

NOVECTOR1

VECTOR NONTEMPORAL1

INLINE

PARALLEL

VECTOR NOVECTOR

IVDEP

PREFETCH

VECTOR TEMPORAL1

LOOP COUNT

SIMD

VECTOR UNALIGNED

NOINLINE

UNROLL

NOPARALLEL

UNROLL_AND_JAM

NOPREFETCH

VECTOR ALIGNED

NOUNROLL

VECTOR ALWAYS

 

1 i32, i64em

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

Submit feedback on this help topic

Copyright © 1996-2010, Intel Corporation. All rights reserved.