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

Description

-align records

Analyzes and reorders memory layout for variables and arrays.

-align rec8byte

Specifies 8-byte boundary for alignment constraint.

-altparam

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

-ansi_alias

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.

-dps

Enables DEC* parameter statement recognition.

-error_limit 30

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

-fpe3

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).

-pad

Enables changing variable and array memory layout.

-pc80
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.

-save

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

-Zp8

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

Optimizations

Default Option

Description

-assume cc_omp

Enables OpenMP conditional compilation directives.

-fp
IA-32 only

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

-fpe3

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

-IPF_fltacc-
ItaniumŪ compiler

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

-IPF_fma
Itanium compiler

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

-IPF_fp_speculation
fast

Itanium compiler

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

-O, -O2

Optimizes for maximum speed.

-openmp_report1

Indicates loops, regions, and sections parallelized.

-opt_report_levelmin

Specifies the minimal level of the optimizations report.

-par_report1

Indicates loops successfully auto-parallelized.

-tpp2
Itanium compiler

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

-tpp7
IA-32 only

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

-unroll

-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

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

-vec_report1

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)

Note
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.

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