Monitoring Data Settings

The options described below provide monitoring the outcome of Intel compiler-generated code without interfering with the way your program runs.

Specifying Structure Tag Alignments

Use the -Zp{n} option to determine the alignment constraint for structure declarations, on n-byte boundary (n = 1, 2, 4, 8, 16). Generally, smaller constraints result in smaller data sections while larger constraints support faster execution.

For example, to specify 2 bytes as the alignment constraint for all structures and unions in the file prog1.f, use the following command:

IA-32 systems: prompt>ifc -Zp2 prog1.f
The default for IA-32 systems is -Zp4.

Itanium(TM)-based systems: prompt>efc -Zp2 prog1.f
The default for Itanium-based systems is -Zp8.

The -Zp16 option enables you to align Fortran structures such as common blocks. For Fortran structures, see STRUCTURE statement in Chapter 10 of IntelŪ Fortran Programmer's Language Reference Manual.

The -align option applies mainly to structures and analyzes and reorders memory layout for variables and arrays and basically functions as -Zp{n}. You can disable either option with
-noalign
.

The -pad option is effectively not different from -align when applied to structures and derived types. However, the scope of -pad is greater because it applies also to common blocks, derived types, sequence types, and Vax structures.

Allocation of Zero-initialized Variables, -nobss_init

By default, variables explicitly initialized with zeros are placed in the BSS section. But using the
-nobss_init
option, you can place any variables that are explicitly initialized with zeros in the DATA section if required.

Monitoring Data for IA-32 Systems

Correcting Computations for IA-32 Processors, -0f_check

Specify the -0f_check option to avoid the incorrect decoding of the instructions, which have 2-byte opcodes with the first byte containing 0f. In rare cases, the PentiumŪ processor can decode these instructions incorrectly.

The ebp Register Usage

The -fp option disables the use of the ebp register in optimizations.  For details on the correlation between the ebp register use for optimizations and debugging, see -fp Option and Debugging.
The -fp option is disabled by default or when -O1 or -O2 (see optimization-level options) are specified.

Monitoring Data for Itanium(TM)-based Systems

Flushing to Zero Denormal Values, -ftz

Option -ftz flushes denormal results to zero when the application is in the gradual underflow mode. Use this option if the denormal values are not critical to application behavior.

Flushing the denormal values to zero with -ftz may improve performance of your application.

The default status of  -ftz is OFF. By default, the compiler lets results to gradually underflow.