6.2.4 IVDEP directive

The syntax of the directive is

!GCC$ ivdep

This directive tells the compiler to ignore vector dependencies in the following loop. It must be placed immediately before a DO loop and applies only to the loop that follows.

Sometimes the compiler may not have sufficient information to decide whether a particular loop is vectorizable due to potential dependencies between iterations. The purpose of the directive is to tell the compiler that vectorization is safe.

This directive is intended for annotation of existing code. For new code it is recommended to consider OpenMP SIMD directives as potential alternative.