Product Version: Intel® Fortran Compiler 15.0 and above
Cause:
The vectorization report generated when using Intel® Fortran Compiler's optimization options (/O2 /Qopt-report:2) states that loop was not vectorized since loop body became empty after optimizations.
Example:
An example below will generate the following remark in optimization report:
integer function foo(a, b, n)
implicit none
integer, intent(in) :: n
real, intent(inout) :: a
real, intent (in) :: b
integer :: i
do i=1,n
a = b + 1
end do
foo = a
end function
Resolution:
In the example above, there is only one expression inside the loop. When moved outside the loop as a result of the compiler's optimization process there is nothing else left inside the loop to vectorize.
See also:
Requirements for Vectorizable Loops
Vectorization and Optimization Reports