Intel® Fortran Compiler Classic and Intel® Fortran Compiler Developer Guide and Reference

ID 767251
Date 3/31/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

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