Intel® Fortran Compiler XE 13.1 User and Reference Guides

NOFUSION

General Compiler Directive: Prevents a loop from fusing with adjacent loops.

cDEC$ NOFUSION

c

Is one of the following: C (or c), !, or *. (See Syntax Rules for Compiler Directives.)

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.

Example

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
CDIR$ 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
CDIR$ NOFUSION
     a = a + 1
     end

See Also


Submit feedback on this help topic