These user-defined function(s) are not vectorized or inlined by the compiler: %function_names% To fix: Do one of the following:
- Enforce vectorization of the source loop by means of SIMD instructions and/or create a SIMD version of the function(s) using a directive:
Target Directive Source loop !$OMP SIMD Inner function definition or declaration !$OMP DECLARE SIMD - If using the Ob or inline-level compiler option to control inline expansion with the 1 argument, use an inline keyword to enable inlining or replace the 1 argument with 2 to enable inlining of any function at compiler discretion.
real function f (x)
!DIR$ OMP DECLARE SIMD
real, intent(in), value :: x
f= x + 1
end function f
...real function f (x)
!DIR$ OMP DECLARE SIMD
real, intent(in), value :: x
f= x + 1
end function f
!DIR$ OMP SIMD
do k = 1, N
a(k) = f(k)
enddo