Intel® Fortran Compiler 17.0 Developer Guide and Reference
General Compiler Directive: Prevents a loop from fusing with adjacent loops.
!DIR$ NOFUSION
The NOFUSION directive lets you fine tune your program on a loop-by-loop basis.
This directive should be placed immediately before the DO statement of the loop that should not be fused.
Consider the following example that demonstrates use of the NOFUSION directive:
subroutine sub (b,a,n)
real a(n), b(n)
do i=1,n
a(i) = a(i) + b(i)
enddo
!DIR$ NOFUSION
do i=1,n
a(i) = a(i) + 1
enddo
end
The following shows the same example, but it uses Standard Fortran array assignments, which allow implicit arrays:
subroutine sub (b,a,n)
real a(n), b(n)
a = a + b
!DIR$ NOFUSION
a = a + 1
end