# NOFUSION

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.

## 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
    !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

Parent topic: M to N

## See Also

General Compiler Directives
Syntax Rules for Compiler Directives
Rules for General Directives that Affect DO Loops
Rules for Loop Directives that Affect Array Assignment Statements