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Ū-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 that 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.  The option directs to use the ebp-based stack frame for all functions. 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.