Default Compiler Optimizations

If you invoke the IntelŪ Fortran Compiler without specifying any compiler options, the default state of each option takes effect. The following tables summarize the options whose default status is ON as they are required for Intel Fortran Compiler default operation. The tables group the options by their functionality.

For the default states and values of all options, see the Alphabetical Quick Reference Guide in the IntelŪ Fortran Compiler Options Quick Reference. The table provides links to the sections describing the functionality of the options. If an option has a default value, such value is indicated.

Depending on your application requirements, you can disable one or more options. For general methods of disabling optimizations, see Volume I.

The following tables list all options that compiler uses for its default optimizations.

Data Setting and Fortran Language Conformance

Default Option


-align records

Analyzes and reorders memory layout for variables and arrays.

-align rec8byte

Specifies 8-byte boundary for alignment constraint.


Specifies that the alternate form of parameter constant declarations is recognized.


Enables assumption of the program's ANSI conformance.

-assume cc_omp

Enables OpenMP conditional compilation directives.

-ccdefault default

Specifies default carriage control for units 6 and *.

-double_size 64

Defines DOUBLE PRECISION declarations, constants, functions, and intrinsics as REAL*8.


Enables DEC* parameter statement recognition.

-error_limit 30

Specifies the maximum number of error-level or fatal-level compiler errors permissible.


Specifies floating-point exception handling at run time for the main program.

-integer_size 32

Makes default integer and logical variables 4 bytes long. INTEGER and LOGICAL declarations are treated as (KIND=4).


Enables changing variable and array memory layout.

IA-32 only

-pc{32|64|80} enables floating-point significand precision control as follows: -pc32 to 24-bit significand, -pc64 to 53-bit significand, and -pc80 to 64-bit significand.

-real_size 64

Specifies the size of REAL and COMPLEX declarations, constants, functions, and intrinsics.


Saves all variables in static allocation. Disables
, that is, disables setting all variables AUTOMATIC.


-Zpn specifies alignment constraint for structures on 1-, 2-, 4-, 8-, or 16-byte boundary. To disable, use  
or -Zp1.


Default Option


-assume cc_omp

Enables OpenMP conditional compilation directives.

IA-32 only

Disables the use of the ebp register in optimizations. Directs to use the ebp-based stack frame for all functions.


Specifies floating-point exception handling at run time for the main program. -fpe0 disables the option.

ItaniumŪ compiler

Enables the compiler to apply optimizations that affect floating-point accuracy.

Itanium compiler

Enables the contraction of floating-point multiply and add/subtract operations into a single operation.


Itanium compiler

Sets the compiler to speculate on floating-point operations. -IPF_fp_speculationoff disables this optimization.

-O, -O2

Optimizes for maximum speed.


Indicates loops, regions, and sections parallelized.


Specifies the minimal level of the optimizations report.


Indicates loops successfully auto-parallelized.

Itanium compiler

Optimizes code for the IntelŪ ItaniumŪ 2 processor for Itanium-based applications. Generated code is compatible with the Itanium processor.

IA-32 only

Optimizes code for the IntelŪ PentiumŪ 4 and IntelŪ Xeon(TM) processor for IA-32 applications.


-unroll[n]: omit n to let the compiler decide whether to perform unrolling or not (default).
Specify n to set maximum number of times to unroll a loop.
The Itanium compiler currently uses only

= 0, -unroll0 (disabled option) for compatibility.


Indicates loops successfully vectorized.

Disabling Default Options

To disable an option, you can generally use one of the following:

ifort -O2 -O0 input_file(s)

The -O0 option is part of a mutually-exclusive group of options that includes -O0, -O, -O1, -O2, and -O3. The last of any of these options specified on the command line will override the previous options from this group.

If there are enabling and disabling versions of options on the line, the last one takes precedence.