All other options are available for both IA-32
and Itanium architectures.
Option |
Description |
Default |
-0f_check
IA-32 compiler |
Enables a software patch for Pentium®
processor 0f erratum.
|
OFF |
-1 |
Executes any DO loop at least once. Same as
-onetrip.
|
OFF |
-72, -80, -132 |
Specifies 72, 80 or 132 column lines for fixed form source only. The
compiler might issue a warning for non-numeric text beyond 72 for the
-72 option.
|
-72 |
-align |
Analyzes and reorders memory layout for variables and arrays.
To disable, use the -noalign option (default is
OFF) |
ON |
-ansi_alias[-] |
Enables (default) or disables assumption of the programs ANSI conformance.
|
ON |
-auto |
Makes
all local variables AUTOMATIC.
|
OFF |
-autodouble |
Sets the default size of real numbers to 8 bytes; same as -r8.
|
OFF |
-auto_scalar |
Makes scalar local variables AUTOMATIC.
|
ON |
-ax{i|M|K|W}
IA-32 compiler |
Generates processor-specific code corresponding to one of codes: i, M, K,
and W while also generating generic IA-32 code.
Compiler generates multiple versions of some routines, and chooses the
best version for the host processor at runtime indicated by processor-specific
codes i (Pentium® Pro), M
(Pentium with MMX(TM) technology), K (Pentium
III), and W (Pentium 4 and Intel Xeon(TM)).
|
OFF |
-Bdynamic |
Used with -lname
(see in this table), enables dynamic linking of libraries at run time.
Compared to static linking, results in smaller executables. |
OFF |
-Bstatic |
Enables linking a user's library statically. |
OFF |
-c |
Stops the compilation process after an object file (.o)
has been generated.
|
OFF |
-C90 |
Links with an alternative I/O library (libCEPCF90.a)
that supports mixed input and output with C on the standard streams.
|
OFF |
-C
IA-32 compiler |
Equivalent to: (-CA, -CB,
-CS, -CU, -CV)
extensive runtime diagnostics options.
|
OFF |
-CA
IA-32 compiler |
Generates runtime code, which checks whether pointers and allocatable
array references are defined and allocated. Should be used in conjunction
with
-d{n}.
|
OFF |
-CB
IA-32 compiler |
Generates runtime code to check that array subscript and substring references
are within declared bounds. Should be used in conjunction with -d{n}.
|
OFF |
-CS
IA-32 compiler |
Generates runtime code that checks for consistent shape of intrinsic
procedure. Should be used in conjunction with -d{n}.
|
OFF |
-CU
IA-32 compiler |
Generates runtime code that causes a runtime error if variables are
used without being initialized. Should be used in conjunction with -d{n}.
|
OFF |
-CV
IA-32 compiler |
On entry to a subprogram, tests the correspondence between the actual
arguments passed and the dummy arguments expected. Both calling and called
code must be compiled with -CV for the checks
to be effective. Should be used in conjunction with -d{n}.
|
OFF |
-cerrs[-] |
Enables/disables errors and warning messages to be printed in a terse
format for diagnostic messages.
|
OFF |
-cm |
Suppresses all comment messages.
|
OFF |
-common_args |
Assumes by reference subprogram arguments may alias one another.
|
OFF |
-complex_limited_
range[-] |
Enables or disables (default) the use of the basic algebraic expansions
of some complex arithmetic operations. This can enable some performance
improvement in programs which use a lot of complex arithmetic operations
at the loss of some exponent range. |
OFF |
-cpp{n} |
Same as -fpp{n}.
|
OFF |
-DD |
Compiles debugging statements indicated by the letter D
in column 1 of the source code.
|
OFF |
-DX |
Compiles debugging statements indicated by the letters X
in column 1 of the source code.
|
OFF |
-DY |
Compiles debugging statements indicated by the letters Y
in column 1 of the source code.
|
OFF |
-d{n}
IA-32 compiler |
Sets diagnostics level as follows:
-d0 - displays procname line
-d1 - displays local scalar variables
-d2 - local and common scalars
-d>2 - display first n elements of local
and COMMON arrays, and all scalars.
|
-d0 |
-Dname[=text] |
Defines a macro name and associates it with the specified value.
|
OFF |
-dps, -nodps |
Enable (default) or disable DEC* parameter statement recognition.
|
-dps |
-dryrun |
Show driver tool commands but do not execute tools.
|
OFF |
-dynamic-linker(file) |
Specifies in file a dynamic
linker of choice, rather than default. |
OFF |
-e90, -e95 |
Enable issuing of errors rather than warnings for features that are
non-standard Fortran.
|
OFF |
-E |
Preprocesses the source files and writes the results to _stdout.
If the file name ends with capital F, the option
is treated as
-fpp1.
|
OFF |
-EP |
Preprocesses the source files and writes the results to stdout omitting
the #line directives.
|
OFF |
-extend_source |
Enables extended (132-character) source lines. Same as -132.
|
OFF |
-F |
Preprocesses the source files and writes the results to file.
|
OFF |
-falias |
Assumes aliasing in program.
|
ON |
-fno-alias |
Assumes no aliasing in program.
|
OFF |
-ffnalias |
Assumes aliasing within functions.
|
ON |
-fno-fnalias |
Assumes no aliasing within functions, but assumes aliasing across calls.
|
OFF |
-fcode_asm |
Inserts code byte annotations in assembly file produced with -S.
|
OFF |
-fsource_asm |
Inserts high-level source code annotations in assembly file produced
with -S.
|
OFF |
-fverbose-asm |
Inserts in an assembly file compiler comments including compiler version
and options. Enabled by default when producing an assembly file (with
-S).
|
OFF |
-fnoverbose-asm |
Disables -fverbose-asm.
|
OFF |
-FI |
Specifies that the source code is in fixed format. This is the default
for source files with the file extensions .for,
.f, or .ftn.
|
OFF |
-fnsplit-
Itanium compiler |
Disables function splitting, which is enabled by
-prof_use.
|
OFF |
-fp
IA-32 compiler |
Disables the use of the ebp register in optimizations.
Directs
to use the ebp-based stack frame for all functions.
|
OFF |
-fpp{n} |
Enables the Fortran preprocessor (fpp) on all
Fortran source files prior to compilation.
n=0: disable CVF and #directives
n=1: enable CVF conditional compilation and # directives; when fpp runs, -fpp1 is the default
n=2: enable only # directives,
n=3: enable only CVF conditional compilation directives.
|
OFF |
-fp_port
IA-32 compiler |
Rounds floating-point results at assignments and casts. Some speed impact.
|
OFF |
-FR |
Specifies that the source code is in Fortran free format. This is the
default for source files with the .f90 file extension.
|
OFF |
-ftz[-]
Itanium compiler |
Flushes denormal results to zero. Turned on by -O3.
|
OFF |
-g |
Generates symbolic debugging information and line numbers in the object
code for use by source-level debuggers.
|
OFF |
-help |
Prints
help message.
|
OFF |
-i{2|4|8} |
Defines the default KIND for integer variables
and constants to be 2, 4, and 8 bytes.
|
-i4 |
-Idir |
Specifies an additional directory to search for include files whose
names do not begin with a slash (/).
|
OFF |
-i_dynamic |
Sets dynamic linking of Intel-provided libraries as default.
|
OFF |
-implicitnone |
Sets IMPLICIT NONE as the default. Same as -u.
|
OFF |
-inline_debug_info |
Keep the source position of inlined code instead of assigning the call-site
source position to inlined code.
|
OFF |
-ip |
Enables single-file interprocedural optimizations.
|
OFF |
-ip_no_inlining |
Disables full or partial inlining that would result from the -ip
interprocedural optimizations. Requires -ip or
-ipo.
|
ON |
-ip_no_pinlining
IA-32 compiler |
Disables partial inlining. Requires -ip or
-ipo.
|
OFF |
-IPF_fma[-]
Itanium® compiler |
Enables/disables the contraction of floating-point multiply
and add/ subtract operations into a single operation.
|
ON |
-IPF_fp_speculationmode
Itanium compiler |
Sets the compiler to speculate on floating-point (fp)
operations in one of the following modes:
fast: speculate on fp operations;
safe: speculate on fp operations only when it is safe;
strict: enables the compiler's speculation on floating-point operations
preserving floating-point status in all situations; same as
off
in the current version.
off: disables the fp speculation.
|
-IPF_fp_
speculation
fast |
-IPF_flt_eval_method0
Itanium compiler |
-IPF_flt_eval_method0 directs the compiler to
evaluate the expressions involving floating-point operands in the precision
indicated by the program.
|
OFF |
-IPF_fltacc[-]
Itanium compiler |
-IPF_fltacc disables optimizations that affect
floating-point accuracy. The default is to enable such optimizations.
|
-IPF_fltacc- |
-ipo |
Enables interprocedural optimization across files. Compile all objects
over entire program with multifile interprocedural optimizations.
|
OFF |
-ipo_c |
Optimizes across files and produces a multifile object file. This option
performs optimizations as
-ipo, but stops prior to the final link stage, leaving an optimized
object file.
|
OFF |
-ipo_obj |
Forces the generation of real object files. Requires -ipo.
|
IA-32: OFF Itanium Compiler: ON |
-ipo_S |
Optimizes across files and produces a multifile assembly file. This
option performs optimizations as
-ipo, but stops prior to the final link stage, leaving an optimized
assembly file.
|
OFF |
-ivdep_parallel
Itanium compiler |
Indicates there is absolutely no loop-carried memory dependency in the
loop where IVDEP directive is specified.
|
OFF |
-Kpic, -KPIC
IA-32 only |
Generates position-independent code. |
OFF |
-Ldir |
Instructs linker to search dir
for libraries.
|
OFF |
-lname |
Links with a library indicated in name.
|
OFF |
-list |
Prints a source listing to stdout (typically,
your terminal screen) without contents of include
files.
|
OFF |
-list -showinclude |
Prints a source listing to stdout with contents
of include files expanded.
|
OFF |
-lowercase |
Sets the case of external linker symbols such as subroutine names to
be lowercase characters.
|
ON |
-module[path],
-nomodule |
Specifies the directory where the module files (extension .mod)
are placed. Omitting this option or specifying -nomodule
results in placing the .mod files in the directory
where the source files are being compiled.
|
-nomodule |
-mp |
Maintains declared floating point precision as
well as conformance to the IEEE* 754 standards for floating-point arithmetic.
Optimization is reduced accordingly.
|
OFF |
-mp1 |
Restricts floating point precision to be closer to declared precision.
Some speed impact, but less than -mp.
|
OFF |
-nbs |
Treats backslash (\) as a normal graphic character, not an escape character.
|
OFF |
-nobss_init |
Disables placement of zero-initialized variables in BSS (using DATA
section)
|
OFF |
-nolib_inline |
Disables inline expansion of intrinsic functions.
|
ON |
-nologo |
Suppresses compiler version information.
|
ON |
-[no]stack_temps |
Allocates temporary array in the heap (default) or on the runtime stack
with -stack_temps. |
-nostack_
temps |
-nus |
Disables appending an underscore to external subroutine names.
|
OFF |
-nusfile |
Disables appending an underscore to subroutine names listed
in file.
|
OFF |
-O, -O1, -O2
IA-32 compiler |
Optimize for speed. Disable
-fp. option. |
OFF |
-O1
Itanium compiler |
Optimizes to favor code size: turns off software pipelining to reduce
code size. Enables the same optimizations as -O
except for loop unrolling and software pipelining.
|
OFF |
-O2 |
Optimizes for speed. Disables -fp. option.
|
ON |
-O0 |
Disables optimizations.
|
OFF |
-O3 |
Enables -O2 option with more aggressive optimization,
for example, loop transformation. Optimizes for maximum speed, but may
not improve performance for some programs.
|
OFF |
-Ob{0|1|2} |
Controls the compiler's inline expansion. The amount
of inline expansion performed varies as follows:
-Ob0: disable
inlining
-Ob1: disables
inlining unless -ip
or -Ob2
is specified. Enables inlining of functions.
-Ob2:
Enables inlining of any function. However, the compiler decides which
functions are inlined. This option enables interprocedural optimizations
and has the same effect as specifying the -ip option. |
-Ob1 |
-ofile |
Indicates the executable file name in file
; for example, -omyfile.
Combined with -S, indicates assembly listing file
name.
Combined with -c, indicates object file name.
|
OFF |
-onetrip |
Executes any DO loop at least once. (Identical to the
-1 option.)
|
OFF |
-openmp |
Enables the parallelizer to generate multithreaded code based on the
OpenMP directives. This option implies that -fpp
and -auto are ON.
|
OFF |
-openmp_
report{0|1|2} |
Controls the OpenMP parallelizers diagnostic levels. |
-openmp
_report1 |
-openmp_stubs |
Sets compilation of the OpenMP programs to be in sequential mode. The
OpenMP directives are ignored and a stub OpenMP library is linked (sequentially). |
OFF |
-opt_report |
Generates optimizations report and directs to stderr
unless
-opt_report_file is specified.
|
OFF |
-opt_report_file
filename |
Specifies the filename to
hold the optimizations report.
|
OFF |
-opt_report_level
{min|med|max} |
Specifies the detail level of the optimizations report.
|
-opt_
report_
levelmin |
-opt_report_phasephase |
Specifies the optimization to generate the report for. Can be specified
multiple times on the command line for multiple optimizations.
|
OFF |
-opt_report_help |
Prints to the screen all available phases for -opt_report_phase.
|
OFF |
-opt_report_routine
routine_substring |
Generates reports from all routines with names containing the substring as part of their name.
If not specified, reports from all routines are generated.
|
OFF |
-P |
Preprocesses the fpp files and writes the results to files named according
to the compilers default file-naming conventions.
|
OFF |
-pad, -nopad |
Enables/disables changing variable and array memory layout.
|
-nopad |
-pad_source |
Enables the acknowledgment of blanks at the end of a line.
|
OFF |
-parallel |
Enables the auto-parallelizer to generate multithreaded code for loops
that can be safely executed in parallel.
|
OFF |
-par_threshold |
Sets a threshold for the auto-parallelization of loops based on the
probability of profitable execution of the loop in parallel, n=0
to 100.
|
n=75 |
-par_report{0|1|2|3}
|
Controls the auto-parallelizer's diagnostic levels.
|
-par_
report1 |
-pc32
-pc64
-pc80
IA-32 compiler |
Enables floating-point significand precision control as follows:
-pc32 to 24-bit significand
-pc64 to 53-bit significand, and
-pc80 to 64-bit significand
|
-pc80 |
-pg
IA-32 compiler |
Compile and link for function profiling with Linux gprof
tool.
|
OFF |
-posixlib |
Enables linking to the POSIX* library (libPOSF90.a)
in the compilation.
|
OFF |
-prec_div
IA-32 compiler |
Disables floating point division-to-multiplication optimization resulting
in more accurate division results. Slight speed impact.
|
OFF |
-prefetch[-]
IA-32 compiler |
Enables or disables prefetch insertion (requires -O3).
|
ON |
-prof_dirdir |
Specifies the directory to hold profile information in the profiling
output files, *.dyn and *dpi.
|
OFF |
-prof_gen |
Instruments the program for profiling: to get the execution count of
each basic block.
|
OFF |
-prof_filefile |
Specifies file name for profiling summary file.
|
OFF |
-prof_use |
Enables the use of profiling dynamic feedback information during optimization.
|
OFF |
-q |
Suppresses compiler output to standard error, stderr.
|
OFF |
-Qdyncom"blk1,blk2,..." |
Enables dynamic allocation of given COMMON blocks
at run time.
|
OFF |
-Qinstalldir |
Sets dir as a root directory
for compiler installation.
|
OFF |
-Qlocation,tool,path |
Sets path as the location
of the tool specified by tool.
|
OFF |
-Qloccom
"blk1,blk2,..." |
Enables local allocation of given COMMON blocks
at run time.
|
OFF |
-Qoption,tool,opts |
Passes the options, opts, to
the tool specified by tool.
|
OFF |
-qp, -p |
Compile and link for function profiling with UNIX* prof
tool.
|
OFF |
-r{8|16} |
Defines the KIND
for real variables to be 8, or 16 bytes. By default, variables of type
REAL (4)
are used.
-r8: change the size and precision of default REAL
entities to DOUBLE
PRECISION. Same as the
-autodouble.
-r16: change the size and precision
of default REAL
entities to REAL
(KIND=16)
|
OFF |
-rcd
IA-32 compiler |
Disables changing of rounding mode for
floating-point-to-integer conversions.
|
OFF |
-S |
Produces an assembly output file.
|
OFF |
-safe_cray_ptr |
Specifies that Cray* pointers do not alias with other variables.
|
OFF |
-save |
Saves variables (static allocation)except local variables within a recursive
routine. Opposite of -auto.
|
OFF |
-scalar_rep[-]
IA-32 compiler |
Enables or disables scalar replacement performed during loop transformations
(requires -O3).
|
OFF |
-sox[-]
IA-32 compiler |
Enables or disables (default) saving of compiler options and version
in the executable.
Itanium compiler: accepted for compatibility only.
|
OFF |
-shared |
Instructs the compiler to build a Dynamic Shared Object (DSO) instead
of an executable.
|
OFF |
-static |
Sets static linking of the shared libraries (.so).
|
OFF |
-syntax |
Enables syntax check only. Same as -y.
|
OFF |
-Tffile |
Compiles file as a Fortran
source.
|
OFF |
-tpp1
Itanium compiler |
Targets optimization to the Intel® Itanium® processor for best performance.
|
OFF |
-tpp2
Itanium compiler |
Targets optimization to the Intel® Itanium® 2 processor for best performance.
Generated code is compatible with the Itanium processor.
|
ON |
-tpp{5|6|7}
IA-32 compiler |
-tpp5 optimizes for the Intel Pentium processor.
-tpp6 optimizes for the Intel Pentium Pro, Pentium II,
and Pentium III processors.
-tpp7 optimizes for the Intel® Pentium® 4 processors, Intel® Xeon(TM)
processors, and Intel® Pentium® M processors
|
-tpp7 |
-u |
Sets IMPLICIT NONE by default. Same as
-implicitnone.
|
ON |
-Uname |
Removes a defined macro specified by name;
equivalent to an #undef preprocessing directive.
|
OFF |
-unroll[n] |
-Use n to set maximum number of times to unroll
a loop.
-Omit n to let the compiler decide whether to perform
unrolling or not.
-Use n = 0 to disable unroller.
The Itanium compiler currently recognizes only n
= 0; all other values are ignored.
|
ON |
-uppercase |
Sets the case of external linker symbols such as subroutine names to
be uppercase characters.
|
OFF |
-us |
Appends (default) an underscore to external subroutine names.
|
ON |
-use_asm |
Produces objects through the assembler.
|
OFF |
-V |
Displays compiler version information.
|
OFF |
-v |
Shows driver tool commands and executes tools.
|
OFF |
-Vaxlib |
Enables linking to portability library (libPEPCF90.a)
in the compilation.
|
OFF |
-vec
_report{0|1|2|3|4|5}
IA-32 compiler |
Controls amount of vectorizer diagnostic information as follows:
n = 0: no information
n = 1: indicate vectorized /non-vectorizerd loops
n = 2: indicate vectorized /non-vectorized loops
n = 3: indicate vectorized /non-vectorized loops and prohibit data
dependence information
n = 4: indicate non-vectorized loops
n = 5: indicate non-vectorized loops and the reason why they were
not vectorized.
|
-vec
_report1 |
-vms |
Enables support for a certain set of extensions to Fortran that were
introduced by Digital* VMS* and Compaq* Fortran compilers.
|
OFF |
-w |
Suppresses all warning messages.
|
OFF |
-w90, -w95 |
Suppresses warning messages about Fortran
features which are deprecated or obsoleted in Fortran 95.
|
OFF |
-W{n} |
Suppresses or displays all warning messages.
n=0: suppresses all warnings
n=1: displays all warnings (default).
|
-W1 |
-WB |
On a bound check violation, issues a warning instead of an error.
|
OFF |
-x{i|M|K|W}
IA-32 compiler |
Generates code that is optimized for a specific processor corresponding
to one of codes: i, M,
K, and W, but that will
execute on any IA-32 processor. With
this option, the resulting program may not run on processors older than
the target specified.
|
OFF |
-X |
Removes standard directories from the include file search.
|
OFF |
-y |
Enables syntax check only.
|
OFF |
-zero |
Implicitly initializes to zero all data that is uninitialized. Used
in conjunction with -save.
|
OFF |
-Zp{1|2|4|8|16} |
Specifies alignment constraint for structures on 1-, 2-, 4-, 8- or 16-byte
boundary.
|
IA-32: -Zp4
Itanium Compiler: -Zp8 |