Intel(R) C Compiler 9.1 for Itanium(R)-based applications
Intel(R) Fortran Compiler 9.1 for Itanium(R)-based applications
---------------------------------------------

NAMES
       icc - invokes the Intel(R) C++ compiler

       ifort - invokes the Intel(R) Fortran Compiler

       pexec - tools to control placement of
       processes on CPUs



 SYNOPSIS
       icc [  options ] file1 [ file2 ...]  where:

       options
	      represents zero or more compiler options.

       filen  is  a  C/C++ source (.C .c .cc .cp .cpp .cxx .c++ .i), assembly
	      (.s), object (.o), static library (.a), or other linkable file.

       Note:  The icpc command uses the same compiler options as the icc com-
       mand.  Invoking the compiler using icpc compiles .c, and .i  files  as
       C++.   Invoking	the compiler using icc compiles .c and .i files as C.
       Using icpc always links in C++ libraries.  Using icc only links in C++
       libraries if C++ source is provided on the command line.


DESCRIPTION
       The Intel(R) C++ Compiler is designed to process C and C++ programs on
       Intel architecture based systems.  You can preprocess, compile, assem-
       ble, and link these programs.


       This  document explains how information and instructions apply differ-
       ently to IA-32 applications, Intel(R)  EM64T  applications,  and	 Ita-
       nium(R)	architecture-based  applications.  If  a description does not
       explicitly state a specific architecture, it  is	 applicable  to	 all.
       See the Intel C++ Compiler user documentation for more complete infor-
       mation than is presented here.


       Most language features are available on all supported  systems.	 How-
       ever,  some language features are only available on certain processors
       or a certain operating system.  Such  language  features	 are  labeled
       within parenthses as follows:

       i32    Means the feature is available on IA-32-based systems.

       i32em  Means  the  feature  is  available  on IA-32-based systems with
	      Intel(R) Extended Memory 64 Technology (Intel(R) EM64T).

       i64    Means the feature is available on Itanium(R)-based systems.

       L*X    Means the feature is available on Linux* systems.

       M*X32  Means the feature is available on Intel(R)-based	systems	 run-
	      ning Mac OS*.

       If  a labeled feature is only available on certain processors or oper-
       ating systems, you will see the word ( only) within  the	 label	along
       with  the  appropriate  abbreviation(s).	  If a labeled feature is not
       available on a certain processor or operating system, you will see the
       words  (not on ) within the label along with the appropriate abbrevia-
       tion.  If no label appears, the feature is available on all  supported
       systems.


   gcc* Interoperability
       C++  compilers  are  interoperable  if  they can link object files and
       libraries generated by one compiler with object	files  and  libraries
       generated  by  the  second compiler, and the resulting executable runs
       successfully.  The Intel(R) C++	Compiler  options  that	 affect	 gcc*
       interoperability include:

       ·   -cxxlib-<mode>

       ·   -gcc-name

       ·   -gcc-version

       ·   -fabi-version

       ·   -no-gcc (see gcc Predefined Macros for more information)

       ·   -[no-]gcc-extern-inline

       In  the 9.1 compiler, there is improved compatibility with gcc regard-
       ing the behavior of extern inline functions.  Previously, by  default,
       the  C99	 standard  was	followed by always creating a body for extern
       inline functions.  In 9.1, by default, no body is created  unless  the
       function	 cannot	 be inlined for some reason (for example, its address
       might be taken).	 If the C99 behavior, rather than the now default gcc
       behavior is desired, use the  -no-gcc-extern-inline option.

       The Intel(R) C++ Compiler is interoperable with GNU gcc* compiler ver-
       sions greater than or equal to 3.2.  See the Intel C++ Compiler User's
       Guide for more information.

OPTION SUMMARIES
   Option Alphabetic Summary
       All  of	the  Intel  C++ Compiler options are listed alphabetically in
       this section.  After each listing is a  reference  to  the  Functional
       area where a detailed description of the option appears.

       -A-		 see Preprocessor Options
       -A<name>[<value(s)>]
			 see Preprocessor Options
       -[no-]alias-args	 see Advanced Performance Options
       -[no]align	 see Language Options
       -ansi		 see Language Options
       -[no-]ansi-alias	 see Advanced Performance Options
       -auto-ilp32	 see Advanced Performance Options
       -ax{K|W|N|B|P}	 see Performance Options, Optimization Levels,
			 Automatic  Processor-specific	 Optimization,
			 Vectorization Options
       -B<dir>		 see Miscellaneous Options
       -c		 see Output, Debug, and PCH Options
       -C		 see Preprocessor Options
       -[no-]c99	 see Language Options
       -[no-]clomp-sharable-info
			 see   Advanced	 Performance  Options,	Paral-
			 lelization with OpenMP*
       -[no-]clomp-sharable-propagation
			 see  Advanced	Performance  Options,	Paral-
			 lelization with OpenMP*
       -[no-]cluster-openmp-profile
			 see   Advanced	 Performance  Options,	Paral-
			 lelization with OpenMP*
       -[no-]cluster-openmp
			 see  Advanced	Performance  Options,	Paral-
			 lelization with OpenMP*
       -[no-]complex-limited-range
			 see Advanced Performance Options
       -create-pch <file>
			 see  Output,  Debug, and PCH Options; Precom-
			 piled Headers
       -cxxlib-<mode>	 see Linking or Linker Options
       -D<name>[=<value>]
			 see Preprocessor Options
       -[no-]debug [keyword]
			 see Output, Debug, and PCH Options
       -dD		 see Preprocessor Options
       -dM		 see Preprocessor Options
       -dN		 see Preprocessor Options
       -dryrun		 see Miscellaneous Options
       -dynamic-linker<filename>
			 see Linking or Linker Options
       -dynamiclib	 see Linking or Linker Options
       -E		 see Preprocessor Options
       -EP		 see Preprocessor Options
       -export		 see Language Options
       -export-dir <dir> see Language Options
       -F<dir>		 see Mac OS Options
       -fabi-version=<value>
			 see Miscellaneous Options
       -f[no-]alias	 see Performance Options
       -fargument-[no-]alias
			 see Advanced Performance Options
       -fargument-noalias-global
			 see Advanced Performance Options
       -fast		 see Performance Options, Optimization Levels
       -fcode-asm	 see Output, Debug, and PCH Options
       -f[no-]common	 see Miscellaneous Options
       -fdata-sections	 see Performance Options
       -f[no-]exceptions see Performance Options
       -f[no-]fnalias	 see Performance Options
       -ffunction-sections
			 see Performance Options
       -f[no-]inline	 see Performance Options
       -f[no-]inline-functions
			 see Performance Options
       -finline-limit=<n>
			 see Performance Options
       -f[no-]math-errno see Miscellaneous Options
       -fminshared	 see Miscellaneous Options
       -fno-builtin	 see Miscellaneous Options
       -fno-builtin-<func>
			 see   Performance   Options,	 Miscellaneous
			 Options
       -fno-gnu-keywords see Language Options
       -fno-implicit-inline-templates
			 see Language Options
       -fno-implicit-templates
			 see Language Options
       -f[no-]omit-frame-pointer
			 see Performance Options
       -f[no-]non-lvalue-assign
			 see Language Options
       -fno-operator-names
			 see Language Options
       -[no-]fnsplit	 see Advanced Performance Options
       -fp		 see Performance Options
       -fpack-struct	 see Miscellaneous Options
       -fpascal-strings	 see Mac OS Options
       -fpermissive	 see Language Options
       -f[no-]pic	 see Miscellaneous Options
       -f[no-]PIC	 see Miscellaneous Options
       -fp-model <name>	 see Advanced Performance Options
       -[no-]fp-port	 see Performance Options
       -fpstkchk	 see Performance Options
       -fr32		 see Miscellaneous Options
       -f[no-]rtti	 see Language Options
       -freg-struct-return
			 see Miscellaneous Options
       -fshort-enums	 see Language Options
       -fsource-asm	 see Output, Debug, and PCH Options
       -fstack-security-check
			 see Miscellaneous Options
       -fsyntax-only	 see Language Options
       -ftemplate-depth-<n>
			 see Language Options
       -ftls-model=<model>
			 see Advanced Performance Options
       -ftrapuv		 see Output, Debug, and PCH Options
       -[no-]ftz	 see Advanced Performance Options
       -funroll-loops	 see Advanced Performance Options
       -funsigned-bitfields
			 see Language Options
       -funsigned-char	 see Language Options
       -f[no]verbose-asm see Output, Debug, and PCH Options
       -fvisibility=[extern|default|protected|hidden|internal]
			 see Miscellaneous Options
       -fvisibility-default=<file>
			 see Miscellaneous Options
       -fvisibility-extern=<file>
			 see Miscellaneous Options
       -fvisibility-hidden=<file>
			 see Miscellaneous Options
       -fvisibility-internal=<file>
			 see Miscellaneous Options
       -fvisibility-protected=<file>
			 see Miscellaneous Options
       -g		 see Output, Debug, and PCH Options
       -g0		 see Output, Debug, and PCH Options
       -[no-]gcc-extern-inline
			 see Miscellaneous Options
       -gcc-name=<dir>	 see Miscellaneous Options
       -gcc-version=<nnn>
			 see Miscellaneous Options
       -[no-]global-hoist
			 see Miscellaneous Options
       -H		 see Preprocessor Options
       -help		 see Miscellaneous Options
       -I<dir>		 see Preprocessor Options
       -idirafter<dir>	 see Preprocessor Options
       -i-dynamic	 see Linking or Linker Options
       -imacros <file>	 see Preprocessor Options
       -inline-debug-info
			 see Output, Debug, and PCH Options
       -inline-factor	 see Advanced Performance Options
       -inline-forceinline
			 see Advanced Performance Options
       -inline-max-per-compile
			 see Advanced Performance Options
       -inline-max-per-routine
			 see Advanced Performance Options
       -inline-max-size	 see Advanced Performance Options
       -inline-max-total-size
			 see Advanced Performance Options
       -inline-min-size	 see Advanced Performance Options
       -ip		 see Advanced Performance Options, Interproce-
			 dural Optimizations (IPO)
       -[no-]IPF-fltacc	 see Advanced Performance Options
       -IPF-flt-eval-method0
			 see Advanced Performance Options
       -[no-]IPF-fma	 see Advanced Performance Options
       -[no-]IPF_fp_relaxed
			 see Advanced Performance Options
       -IPF-fp-speculation{fast|safe|strict|off}
			 see Advanced Performance Options
       -ip-no-inlining	 see Advanced Performance Options
       -ip-no-pinlining	 see Advanced Performance Options
       -ipo[value]	 see Advanced Performance Options, Interproce-
			 dural Optimizations (IPO)
       -ipo-c		 see Advanced Performance Options, Interproce-
			 dural Optimizations (IPO)
       -ipo-S		 see Advanced Performance Options, Interproce-
			 dural Optimizations (IPO)
       -ipo-separate	 see Advanced Performance Options, Interproce-
			 dural Optimizations (IPO)
       -iprefix <prefix> see Preprocessor Options
       -iquote<dir>	 see Preprocessor Options
       -i-static	 see Linking or Linker Options
       -isystem<dir>	 see Preprocessor Options
       -ivdep-parallel	 see Advanced Performance Options
       -iwithprefix <dir>
			 see Preprocessor Options
       -iwithprefixbefore <dir>
			 see Preprocessor Options
       -Kc++		 see Language Options
       -kernel		 see Miscellaneous Options
       -l<dir>		 see Linking or Linker Options
       -L<dir>		 see Linking or Linker Options
       -long_double	 see Miscellaneous Options
       -M		 see Preprocessor Options
       -malign-double	 see Language Options
       -malign-mac68k	 see Mac OS Options
       -malign-natural	 see Mac OS Options
       -malign-power	 see Mac OS Options
       -map-opts	 see Output, Debug, and PCH Options
       -march={pentiumpro | pentiumii | pentiumiii | pentium2  |  pen-
       tium3 | pentium4}
			 see Performance Options
       -mcmodel=<mem_model>
			 see Linking or Linker Options
       -mcpu={pentium | pentiumpro | pentium4 | itanium |  itanium2  |
       itanium2-p9000}
			 see Performance Options
       -MD		 see Preprocessor Options
       -mdynamic-no-pic	 see Mac OS Options
       -MF<file>	 see Preprocessor Options
       -mfixed-range=f12-f15,f32-f127
			 see Miscellaneous Options
       -MG		 see Preprocessor Options
       -m[no-]ieee-fp	 see Performance Options
       -MM		 see Preprocessor Options
       -MMD		 see Preprocessor Options
       -mno-serialize-volatile
			 see Advanced Performance Options
       -mp		 see Performance Options
       -MP		 see Preprocessor Options
       -mp1		 see Performance Options
       -MQ<target>	 see Preprocessor Options
       -m[no-]relax	 see Linking or Linker Options
       -mserialize-volatile
			 see Advanced Performance Options
       -msse		 see Performance Options
       -msse2		 see Performance Options
       -msse3		 see Performance Options
       -MT<target>	 see Preprocessor Options
       -mtune=<cpu>	 see Performance Options
       -[no-]multibyte-chars
			 see Miscellaneous Options
       -nobss-init	 see Miscellaneous Options
       -no-cpprt	 see Linking or Linker Options
       -nodefaultlibs	 see Linking or Linker Options
       -no-gcc		 see Preprocessor Options
       -nostartfiles	 see Linking or Linker Options
       -nostdinc	 see Preprocessor Options
       -nostdlib	 see Linking or Linker Options
       -o<file>		 see Output, Debug, and PCH Options
       -O		 see Performance Options
       -O0		 see Performance Options, Optimization Levels
       -O1		 see Performance Options, Optimization Levels
       -O2		 see Performance Options, Optimization Levels
       -O3		 see Performance Options, Optimization Levels
       -Ob<n>		 see Performance Options
       -openmp		 see  Advanced	Performance  Options,	Paral-
			 lelization with OpenMP*
       -openmp-profile	 see   Advanced	 Performance  Options,	Paral-
			 lelization with OpenMP*
       -openmp-report{0|1|2}
			 see  Advanced	Performance  Options,	Paral-
			 lelization with OpenMP*
       -openmp-stubs	 see   Advanced	 Performance  Options,	Paral-
			 lelization with OpenMP*
       -opt-mem-bandwidth<n>
			 see Advanced Performance Options
       -opt-report	 see Advanced Performance Options
       -opt-report-file<file>
			 see Advanced Performance Options
       -opt-report-help	 see Advanced Performance Options
       -opt-report-level[{min|med|max}]
			 see Advanced Performance Options
       -opt-report-phase{ipo|hlo|ilo|ecg|omp|all}
			 see  Advanced	Performance  Options,	Paral-
			 lelization with OpenMP*
       -opt-report-routine<name>
			 see Advanced Performance Options
       -Os		 see Performance Options
       -p		 see Advanced Performance Options
       -P		 see Preprocessor Options
       -parallel	 see Advanced Performance Options, Auto Paral-
			 lelization Options
       -par-report{0|1|2|3}
			 see Advanced Performance Options, Auto Paral-
			 lelization Options
       -par-threshold[<n>]
			 see Advanced Performance Options, Auto Paral-
			 lelization Options
       -pc{32|64|80}	 see Performance Options
       -pch		 see Output, Debug, and PCH  Options;  Precom-
			 piled Headers
       -pch-dir <dir>	 see  Output,  Debug, and PCH Options; Precom-
			 piled Headers
       -[no-]prec-div	 see Performance Options
       -[no-]prec-sqrt	 see Performance Options
       -[no-]prefetch	 see Advanced Performance Options
       -print-multi-lib	 see Output, Debug, and PCH Options
       -prof-dir <dir>	 see  Advanced	 Performance   Options,	  Pro-
			 file-guided Optimizations (PGO)
       -prof-file <file> see   Advanced	  Performance	Options,  Pro-
			 file-guided Optimizations (PGO)
       -prof-gen[x]	 see  Advanced	 Performance   Options,	  Pro-
			 file-guided Optimizations (PGO)
       -prof-gen-sampling
			 see   Advanced	  Performance	Options,  Pro-
			 file-guided Optimizations (PGO)
       -prof-use	 see  Advanced	 Performance   Options,	  Pro-
			 file-guided Optimizations (PGO)
       -Qinstall <dir>	 see Component Control Options
       -Qlocation,<tool>,<path>
			 see Component Control Options
       -Qoption,<tool>,<optlist>
			 see Component Control Options
       -qp		 see Advanced Performance Options
       -rcd		 see Performance Options
       -reserve-kernel-regs
			 see Miscellaneous Options
       -[no]restrict	 see Language Options
       -S		 see Output, Debug, and PCH Options
       -shared		 see Linking or Linker Options
       -shared-libcxa	 see Linking or Linker Options
       -[no-]sox	 see Miscellaneous Options
       -ssp		 see Advanced Performance Options
       -static		 see Linking or Linker Options
       -static-libcxa	 see Linking or Linker Options
       -std=c99		 see Language Options
       -strict-ansi	 see Language Options
       -T <file>	 see Linking or Linker Options
       -tcheck		 see Advanced Performance Options
       -[no]traceback	 see Compiler Diagnostics Options
       -u  <symbol>	 see Linking or Linker Options
       -U<name>		 see Preprocessor Options
       -unroll<n>	 see Advanced Performance Options
       -unroll0		 see Advanced Performance Options
       -use-asm		 see Output, Debug, and PCH Options
       -use-msasm	 see Output, Debug, and PCH Options
       -use-pch <file>	 see  Output,  Debug, and PCH Options; Precom-
			 piled Headers
       -V		 see Miscellaneous Options
       -v		 see Miscellaneous Options
       -vec-report[{0|1|2|3|4|5}]
			 see Advanced Performance Options
       --version	 see Miscellaneous Options
       -w		 see Compiler Diagnostics Options
       -w<n>		 see Compiler Diagnostics Options
       -Wa<o1>[,<o2>,...]
			 see Linking or Linker Options
       -W[no-]abi	 see Compiler Diagnostics Options
       -Wall		 see Compiler Diagnostics Options
       -Wbrief		 see Compiler Diagnostics Options
       -Wcheck		 see Compiler Diagnostics Options
       -W[no-]comment[s] see Compiler Diagnostics Options
       -Wcontext-limit=<n>
			 see Compiler Diagnostics Options
       -wd<L1>[,<L2>,...]
			 see Compiler Diagnostics Options
       -W[no-]deprecated see Compiler Diagnostics Options
       -we<L1>[,<L2>,...]
			 see Compiler Diagnostics Options
       -Werror		 see Compiler Diagnostics Options
       -Winline		 see Compiler Diagnostics Options
       -Wl,<o1>[,<o2>,...]
			 see Linking or Linker Options
       -W[no-]main	 see Compiler Diagnostics Options
       -W[no-]missing-prototypes
			 see Compiler Diagnostics Options
       -wn<n>		 see Compiler Diagnostics Options
       -Wp64		 see Compiler Diagnostics Options
       -Wp,<o1>[,<o2>,...]
			 see Linking or	 Linker	 Options,  Precompiled
			 Headers
       -W[no-]pointer-arith
			 see Compiler Diagnostics Options
       -wr<L1>[,<L2>,...]
			 see Compiler Diagnostics Options
       -W[no-]return-type
			 see Compiler Diagnostics Options
       -W[no-]shadow	 see Compiler Diagnostics Options
       -W[no-]uninitialized
			 see Compiler Diagnostics Options
       -W[no-]unknown-pragmas
			 see Compiler Diagnostics Options
       -W[no-]unused-function
			 see Compiler Diagnostics Options
       -ww<L1>[,<L2>,...]
			 see Compiler Diagnostics Options
       -X		 see Preprocessor Options
       -x <type>	 see Miscellaneous Options
       -x{K|W|N|B|P}	 see Performance Options, Optimization Levels,
			 Optimizing Exclusively for  Specific  Proces-
			 sors, Vectorization Options
       -Xlinker <val>	 see Linking or Linker Options
       -Zp[n]		 see Language Options

   Option Functional Summary
       All  the	 options listed in the following summary are described
       in more detail in the sections that follow.


       Performance Options
	      -ax{K|W|N|B|P}   -f[no-]alias   -fast    -fdata-sections
	      -f[no-]exceptions	   -f[no-]fnalias  -ffunction-sections
	      -f[no-]inline	   -f[no-]inline-functions	 -fin-
	      line-limit=<n>			   -fno-builtin-<func>
	      -f[no-]omit-frame-pointer	 -fp  -[no-]fp-port  -fpstkchk
	      -march={pentiumpro | pentiumii | pentiumiii | pentium2 |
	      pentium3 | pentium4} -mcpu={pentium | pentiumpro |  pen-
	      tium4   |	  itanium   |	itanium2   |   itanium2-p9000}
	      -m[no-]ieee-fp   -mp   -mp1    -msse    -msse2	-msse3
	      -mtune=<cpu>    -O    -O0	  -O1  -O2   -O3  -Ob<n>   -Os
	      -pc{32|64|80}   -[no-]prec-div   -[no-]prec-sqrt	  -rcd
	      -x{K|W|N|B|P}

       Advanced Performance Options
	      -[no-]alias-args	     -[no-]ansi-alias	   -auto-ilp32
	      -[no-]clomp-sharable-info	 -[no-]clomp-sharable-propaga-
	      tion  -[no-]cluster-openmp-profile  -[no-]cluster-openmp
	      -[no-]complex-limited-range -fargument[no-]-alias	 -far-
	      gument-noalias-global   -[no-]fnsplit  -fp-model	<name>
	      -ftls-model=<model>	-[no-]ftz	-funroll-loops
	      -inline-factor			   -inline-forceinline
	      -inline-max-per-compile	       -inline-max-per-routine
	      -inline-max-size			-inline-max-total-size
	      -inline-min-size		-ip	      -[no-]IPF-fltacc
	      -IPF-flt-eval-method0			 -[no-]IPF-fma
	      -[no-]IPF_fp_relaxed		      -IPF-fp-specula-
	      tion{fast|safe|strict|off}  -ip-no-inlining  -ip-no-pin-
	      lining  -ipo[value]    -ipo-c    -ipo-S	 -ipo-separate
	      -ivdep-parallel	  -mno-serialize-volatile    -mserial-
	      ize-volatile	     -openmp	       -openmp-profile
	      -openmp-report{0|1|2}	-openmp-stubs	-opt-mem-band-
	      width<n>	     -opt-report	-opt-report-file<file>
	      -opt-report-help	      -opt-report-level[{min|med|max}]
	      -opt-report-phaseipo|hlo|ilo|ecg|omp|all
	      -opt-report-routine<name>		 -p	     -parallel
	      -par-report{0|1|2|3}		   -par-threshold[<n>]
	      -[no-]prefetch	-prof-dir    <dir>    -prof-file<file>
	      -prof-gen[x]  -prof-gen-sampling	-prof-use   -qp	  -ssp
	      -tcheck		     -unroll<n>		      -unroll0
	      -vec-report[{0|1|2|3|4|5}]

       Output, Debug, and PCH Options
	      -c  -create-pch <file>  -[no-]debug[keyword]  -fcode-asm
	      -fsource-asm    -ftrapuv	 -f[no]verbose-asm    -g   -g0
	      -inline-debug-info     -map-opts	    -o<file>	  -pch
	      -pch-dir<dir>	 -print-multi-lib      -S     -use-asm
	      -use-msasm -use-pch<file>

       Preprocessor Options
	      -A-  -A<name>[<value(s)>]	 -C   -D<name>[=<value>]   -dD
	      -dM   -dN	   -E	 -EP	-H   -I<dir>   -idirafter<dir>
	      -imacros<file>  -iprefix<prefix>	 -iquote<dir>	-isys-
	      tem<dir>	 -iwithprefix<dir> -iwithprefixbefore<dir>  -M
	      -MD   -MF<file>	-MG   -MM    -MMD    -MP   -MQ<target>
	      -MT<target>  -no-gcc  -nostdinc  -P  -U<name> -X

       Component Control Options
	      -Qinstall<dir>	   -Qlocation,<tool>,<path>	 -Qop-
	      tion,<tool>,<optlist>

       Language Options
	      -[no]align  -ansi	 -[no-]c99  -export  -export-dir <dir>
	      -fno-gnu-keywords		-fno-implicit-inline-templates
	      -fno-implicit-templates	      -f[no-]non-lvalue-assign
	      -fno-operator-names	-fpermissive	   -f[no-]rtti
	      -fshort-enums  -fsyntax-only -ftemplate-depth-<n>	 -fun-
	      signed-bitfields	 -funsigned-char  -Kc++ -malign-double
	      -[no]restrict  -std=c99  -strict-ansi  -Zp[n]

       Compiler Diagnostics Options
	      -[no]traceback  -w  -w<n>	  -W[no-]abi   -Wall   -Wbrief
	      -Wcheck	   -W[no-]comment[s]	   -Wcontext-limit=<n>
	      -wd<L1>[,<L2>,...]		     -W[no-]deprecated
	      -we<L1>[,<L2>,...]    -Werror    -Winline	   -W[no-]main
	      -W[no-]missing-prototypes		 -wn<n>		 -Wp64
	      -W[no-]pointer-arith		    -wr<L1>[,<L2>,...]
	      -W[no-]return-type  -W[no-]shadow	  -W[no-]uninitialized
	      -W[no-]unknown-pragmas		-W[no-]unused-function
	      -ww<L1>[,<L2>,...]

       Miscellaneous Options
	      -B<dir>  -dryrun	 -fabi-version=<value>	 -f[no-]common
	      -f[no-]math-errno	       -fminshared	  -fno-builtin
	      -fno-builtin-<func>	-fpack-struct	    -f[no-]pic
	      -f[no-]PIC    -fr32  -freg-struct-return	 -fstack-secu-
	      rity-check -fvisibility=[extern | default | protected  |
	      hidden  |	 internal] -fvisibility-default=<file> -fvisi-
	      bility-extern=<file>  -fvisibility-hidden=<file> -fvisi-
	      bility-internal=<file>	 -fvisibility-protected=<file>
	      -[no-]gcc-extern-inline	 -gcc-name=<dir>     -gcc-ver-
	      sion=<nnn> -[no-]global-hoist  -help -kernel  -long_dou-
	      ble     -mfixed-range=f12-f15,f32-f127	  -[no-]multi-
	      byte-chars  -nobss-init  -reserve-kernel-regs  -[no-]sox
	      -V  -v  --version	 -x<type>

       Linking or Linker Options
	      -cxxlib-<mode>   -dynamic-linker<filename>   -dynamiclib
	      -i-dynamic       -i-static	-L<dir>	       -l<dir>
	      -mcmodel<mem_model>   -m[no-]relax   -no-cpprt	-node-
	      faultlibs	     -nostartfiles	-nostdlib      -shared
	      -shared-libcxa  -static  -static-libcxa  -T  <file>   -u
	      <symbol>	    -Wa<o1>[,<o2>,...]	   -Wl,<o1>[,<o2>,...]
	      -Wp,<o1>[,<o2>,...]  -Xlinker<val>

       Mac OS Options
	      -F<dir>  -fpascal-strings	 -malign-mac68k	 -malign-natu-
	      ral  -malign-power  -mdynamic-no-pic




OPTION DESCRIPTIONS
   Performance Options
       The  performance options act using general criteria to optimize
       code.  The optimizations listed in this section	are  available
       for  Intel  architectures  or  are compatible with gcc compiler
       options.


       -ax<codes> (i32, i32em only)  (not on M*X32)
	      Generates code for  Intel(R)  Core(TM)  Duo  processors,
	      Intel(R) Core(TM) Solo processors, Intel(R) Pentium(R) 4
	      processors with Streaming SIMD Extensions 3, and compat-
	      ible  Intel processors with Streaming SIMD Extensions 3.
	      Generate code specialized for processor extensions spec-
	      ified  by	 <codes>  while	 also generating generic IA-32
	      code.  <codes> includes one or  more  of	the  following
	      characters:

	      K	 --  Intel Pentium III processors and compatible Intel
	      processors

	      W -- Intel Pentium 4  processors	and  compatible	 Intel
	      processors

	      N	 --  Intel  Pentium  4 processors and compatible Intel
	      processors.  Enables new optimizations  in  addition  to
	      Intel processor-specific optimizations.

	      B	 --  Intel  Pentium  M processors and compatible Intel
	      processors.  Enables new optimizations  in  addition  to
	      Intel processor-specific optimizations.

	      P --  Intel(R) Core(TM) Duo, Intel(R) Core(TM) Solo, and
	      Intel(R) Pentium(R) 4  Processors	 with  Streaming  SIMD
	      Extensions  3  (SSE3)  instruction support.  Enables new
	      optimizations in addition	 to  Intel  processor-specific
	      optimizations.

       Note:  The  only	 -ax options available on Intel(R) EM64T-based
       systems are -axW and -axP.


       -f[no-]alias
	      Assume [do not assume] aliasing in the program  (DEFAULT
	      = -falias).


       -fast  The  -fast option maximizes speed across the entire pro-
	      gram.  It sets command options that can improve run-time
	      performance, as follows:

	      i32,  i32em:  The	 -fast	option	turns  on  -O3,	 -ipo,
	      -static, -no-prec-div, and -xP.  IA-32 programs compiled
	      with  -fast  will	 execute only on Intel(R) Pentium(R) 4
	      processors with  Streaming  SIMD	Extensions  3  (SSE3).
	      Programs	compiled with this option will detect non-com-
	      patible processors and generate an error message	during
	      execution.

	      i64: The -fast option turns on -O3, -ipo, and -static.

	      M*X32:  The  -fast  option  turns	 on  -O3,  -ipo, -mdy-
	      namic-no-pic, and -no-prec-div.


       -fdata-sections
	      Separate functions for the  linker  (COMDAT).   Same  as
	      -ffunction-sections.


       -f[no-]exceptions
	      The  -f[no-]exceptions  option  turns off exception han-
	      dling table generation, resulting in smaller  code.  Any
	      use of exception handling constructs - try blocks, throw
	      statements will produce an error.	 Exception  specifica-
	      tions  are  parsed  but  ignored.	 A preprocessor symbol
	      __EXCEPTIONS is defined when this option is not used. It
	      is undefined when this option is present.


       -f[no-]fnalias
	      Assume [do not assume, but assume aliasing across calls]
	      aliasing within functions (DEFAULT = -ffnalias).


       -ffunction-sections
	      Separate functions for the  linker  (COMDAT).   Same  as
	      -fdata-sections.


       -f[no-]inline
	      Enables  [disables]  inlining of functions declared with
	      the __inline keyword. Also enables inlining according to
	      the C++ language.	 Same as -Ob1.


       -f[no-]inline-functions
	      Inline [do not inline] certain interprocedural optimiza-
	      tions for single file compilation.  These	 optimizations
	      are  a  subset  of full intra-file interprocedural opti-
	      mizations.  Enables [does not enable]  the  compiler  to
	      perform inline function expansion for calls to functions
	      defined within the current source file


       -finline-limit=<n>
	      Lets you specify the maximum size of a  function	to  be
	      inlined.


       -fno-builtin-<func>
	      Disable the <func> intrinsic.


       -f[no-]omit-frame-pointer (i32, i32em only)
	      The negative version is the same as -fp.


       -fp (i32, i32em only)
	      Disable using EBP as general purpose register.


       -[no-]fp-port (i32, i32em only)
	      Round  floating-point  results  at assignments and casts
	      (some speed impact).


       -fpstkchk (i32, i32em only)
	      Generate extra code after every function call to	assure
	      that  the	 FP stack is in the expected state. Generally,
	      when the FP stack overflows, a NaN value is put into  FP
	      calculations, and the program's results differ. Unfortu-
	      nately, the overflow point can  be  far  away  from  the
	      point  of	 the  actual bug.  The -fpstkchk option places
	      code that would  access  violate	immediately  after  an
	      incorrect call occurred, thus making it easier to locate
	      these issues.


       -march=<cpu> (i32, i32em only)
	      Generate code exclusively for a given cpu,  where	 <cpu>
	      is one of the following:

	      pentiumpro -- Intel Pentium Pro processors

	      pentiumii -- Intel Pentium II processors

	      pentiumiii -- Intel Pentium III processors

	      pentium2 -- Intel Pentium II processors

	      pentium3 -- Intel Pentium III processors

	      pentium4 -- Intel Pentium 4 processors


       -mcpu=<cpu>
	      Optimize	for  a specific cpu, where <cpu> is one of the
	      following:

	      pentium -- (i32 only) Optimize for Intel Pentium proces-
	      sor.

	      pentiumpro -- (i32 only) Optimize for Intel Pentium Pro,
	      Intel Pentium II and Intel Pentium III processors.

	      pentium4 -- (i32 only; DEFAULT on	 IA-32)	 Optimize  for
	      Intel Pentium 4 processors.

	      itanium -- (i64 only) Optimize for Intel Itanium proces-
	      sor

	      itanium2 -- (i64 only) Optimize for Intel Itanium 2 pro-
	      cessor.

	      itanium2-9000  -- (i64, L*X only) Optimize for Dual-Core
	      Intel(R) Itanium(R) 2 Processor  9000  Sequence  proces-
	      sors.


       -m[no-]ieee-fp
	      Same as -mp.


       -mp    Maintain	floating-point	precision (disables some opti-
	      mizations). The -mp  option  restricts  optimization  to
	      maintain	declared  precision  and to ensure that float-
	      ing-point arithmetic conforms more closely to  the  ANSI
	      and  IEEE	 standards. For most programs, specifying this
	      option adversely affects performance.  If	 you  are  not
	      sure  whether  your  application	needs this option, try
	      compiling and running your program both with and without
	      it  to evaluate the effects on both performance and pre-
	      cision.


       -mp1   Improve floating-point precision.	 -mp1  disables	 fewer
	      optimizations  and  has  less impact on performance than
	      -mp.


       -msse (i32 only)
	      Generate code for Intel Pentium III and compatible Intel
	      processors.


       -msse2 (i32 only)
	      Generate	code  for Intel Pentium 4 and compatible Intel
	      processors.


       -msse3 (i32, i32em only)
	      Generate code for Intel Pentium 4 processors  with  SSE3
	      extensions.


       -mtune=<cpu>
	      Optimize	for  a specific cpu, where <cpu> is one of the
	      following:

	      pentium -- (i32 only) Optimize for Intel Pentium proces-
	      sor.

	      pentiumpro -- (i32 only) Optimize for Intel Pentium Pro,
	      Intel Pentium II and Intel Pentium III processors.

	      pentium4 -- (i32 only; DEFAULT on	 IA-32)	 Optimize  for
	      Intel Pentium 4 processors.

	      itanium -- (i64 only) Optimize for Intel Itanium proces-
	      sor

	      itanium2 -- (i64 only) Optimize for Intel Itanium 2 pro-
	      cessor.

	      itanium2-9000  -- (i64, L*X only) Optimize for Dual-Core
	      Intel(R) Itanium(R) 2 Processor  9000  Sequence  proces-
	      sors.


       -O0    Disable optimizations.


       -O     Same as -O2


       -O1    Optimize to favor code size and code locality.  Disables
	      loop unrolling.  -O1 may improve performance for	appli-
	      cations  with  very  large code size, many branches, and
	      execution time not dominated by code within  loops.   In
	      most cases, -O2 is recommended over -O1.

	      i32: Disable intrinsics inlining to reduce code size.

	      i64:   Disable   software	 pipelining  and  global  code
	      scheduling.


       -O2 (DEFAULT)
	      Optimize for code speed. This is	the  generally	recom-
	      mended optimization level.

	      i64: Turn software pipelining ON.


       -O3    Enable  -O2  optimizations  and in addition, enable more
	      aggressive optimizations such as loop and memory	access
	      transformation,  and  prefetching.  The -O3 option opti-
	      mizes for maximum speed, but may not improve performance
	      for  some programs.  The -O3 optimizations may slow down
	      code in some cases compared to -O2 optimizations.	  Rec-
	      ommended for applications that have loops with heavy use
	      of floating point calculations and  process  large  data
	      sets.

	      Turn  on	high-level optimizations. Enable -O2 plus more
	      aggressive optimizations, such as loop transformation.

	      i32,  i32em:  In	conjunction  with  -ax{K|W|N|B|P}  and
	      -x{K|W|N|B|P}  options,  this option causes the compiler
	      to perform more aggressive data dependency analysis than
	      for -O2. This may result in longer compilation times.


       -Ob<n> Control  inline  expansion, where <n> is one of the fol-
	      lowing values:

	      0 -- Disables inlining.

	      1 -- (DEFAULT) Enables inlining  of  functions  declared
	      with the __inline keyword. Also enables inlining accord-
	      ing to the C++ language.

	      2 -- Inlines any function, at the compiler's discretion.
	      Enables  interprocedural	optimizations and has the same
	      effect as -ip.


       -Os    Enable speed optimizations, but disable  some  optimiza-
	      tions that increase code size for small speed benefit.


       -pc<n> (i32, i32em only)
	      Enable  floating-point  significand  precision  control.
	      Some floating-point  algorithms  are  sensitive  to  the
	      accuracy	of  the significand, or fractional part of the
	      floating-point value. For example, iterative  operations
	      like division and finding the square root can run faster
	      if you lower the precision with the -pc<n>  option.  Set
	      <n> to one of the following values to round the signifi-
	      cand to the indicated number of bits:

	      32: 24 bits (single precision) -- Caution: A  change  of
	      the  default  precision  control	or  rounding mode (for
	      example, by using the -pc32 flag or  by  user  interven-
	      tion)  may  affect  the  results returned by some of the
	      mathematical functions.

	      64: 53 bits (double precision)

	      80: 64 bits (extended precision) -- DEFAULT


       -[no-]prec-div (i32, i32em only)
	      Improve precision of floating-point divides (some	 speed
	      impact).	With some optimizations the Intel C++ Compiler
	      changes floating-point division computations into multi-
	      plication	 by  the  reciprocal  of  the denominator. For
	      example, A/B is computed as A x  (1/B)  to  improve  the
	      speed  of	 the  computation.  However,  for  values of B
	      greater  than  2126,  the	 value	of  1/B	 is  "flushed"
	      (changed)	 to  0.	 When  it is important to maintain the
	      value of 1/B, use -no-prec-div  to  disable  the	float-
	      ing-point	 division-to-multiplication  optimization. The
	      result of -no-prec-div is more accurate, with some  loss
	      of performance.


       -[no-]prec-sqrt (i32, i32em only)
	      Determine	 if  certain  square  root  optimizations  are
	      enabled.


       -rcd (i32, i32em only)
	      Enable fast float-to-int conversions. The Intel compiler
	      uses  the -rcd option to improve the performance of code
	      that requires floating-point-to-integer conversions. The
	      system   default	 floating   point   rounding  mode  is
	      round-to-nearest.	 However,  the	C  language   requires
	      floating	point values to be truncated when a conversion
	      to an integer is involved. To do this, the compiler must
	      change  the  rounding  mode  to  truncation  before each
	      floating-point-to-integer conversion and change it  back
	      afterwards. The -rcd option disables the change to trun-
	      cation of the rounding mode for all floating point  cal-
	      culations,  including  floating point-to-integer conver-
	      sions. Turning on this option can	 improve  performance,
	      but  floating point conversions to integer will not con-
	      form to C semantics.


       -x<codes>  (i32, i32em only)  (not on M*X32)
	      Generates code for  Intel(R)  Core(TM)  Duo  processors,
	      Intel(R) Core(TM) Solo processors, Intel(R) Pentium(R) 4
	      processors with Streaming SIMD Extensions 3, and compat-
	      ible  Intel processors with Streaming SIMD Extensions 3.
	      Generate specialized code to run exclusively on  proces-
	      sors  supporting	the  extensions	 indicated by <codes>.
	      <codes> includes one or more of  the  following  charac-
	      ters:

	      K	 --  Intel Pentium III processors and compatible Intel
	      processors

	      W -- Intel Pentium 4  processors	and  compatible	 Intel
	      processors

	      N	 --  Intel  Pentium  4 processors and compatible Intel
	      processors  with	Streaming  SIMD	 Extensions  2	(SSE2)
	      instruction support.  Enables new optimizations in addi-
	      tion to Intel processor-specific optimizations.

	      B -- Intel Pentium M  processors	and  compatible	 Intel
	      processors.   Enables  new  optimizations in addition to
	      Intel processor-specific optimizations.

	      P --  Intel(R) Core(TM) Duo, Intel(R) Core(TM) Solo, and
	      Intel(R)	Pentium(R)  4  Processors  with Streaming SIMD
	      Extensions 3 (SSE3) instruction  support.	  Enables  new
	      optimizations  in	 addition  to Intel processor-specific
	      optimizations.

	      Note: The only options available on Intel(R) EM64T-based
	      systems are -xW and -xP.

	      Note: If you specify more than one processor value, code
	      is generated for only the	 highest-performing  processor
	      specified.   For example, if you specify -xKW, only spe-
	      cialized code for the Intel Pentium 4 processor is  gen-
	      erated.

	      Note:  Programs  compiled	 using option -xN, -xB, or -xP
	      will display a fatal run-time error if  executed	by  an
	      unsupported  processor.	For  more information, see the
	      Intel C++ Compiler User's Guide.


	      Note: The -x<codes> option is not supported on M*X32 for
	      this release.  Compilations for M*X32 use the -xP option
	      values to generate code for Intel Pentium	 4  Processors
	      with Streaming SIMD Extensions 3 (SSE3).



   Advanced Performance Options
       The  advanced performance options allow fine tuning of compila-
       tion or allow control over advanced features of the compiler.


       -[no-]alias-args
	      Assume  [do  not	assume]	 arguments  may	 be   aliased.
	      (DEFAULT = -no-alias-args).


       -[no-]ansi-alias
	      The  -[no-]ansi-alias  option  directs  the  compiler to
	      assume that the program adheres to the rules defined  in
	      the  ISO	C  Standard.  If your program adheres to these
	      rules, then this option will allow the compiler to opti-
	      mize  more  aggressively.	 If it doesn't adhere to these
	      rules, then it can cause the compiler to generate incor-
	      rect code.


       -auto-ilp32 (i32em, i64 only)
	      Specifies	 that  the  application	 should	 run  within a
	      32-bit address space.  Also tells the  compiler  to  use
	      32-bit  pointers	whenever possible. To use this option,
	      you must specify -ipo.

	      Note: The -auto-ilp32 option applies to i64  and	i32em,
	      but  with	 i32em	it  has no effect unless option -xP or
	      option -axP is also specified.  It  does	not  apply  to
	      i32.


       -[no-]complex-limited-range
	      Tell  the compiler to use the highest performance formu-
	      lations of complex arithmetic operations, which may  not
	      produce acceptable results for input values near the top
	      or bottom of the legal range. Without this  option,  the
	      compiler uses a better formulation of complex arithmetic
	      operations, thus producing acceptable  results  for  the
	      full  range of input values, though at some loss in per-
	      formance.


       -[no-]clomp-sharable-info  (i32em, i64 only)
	      Reports variables that the compiler automatically	 makes
	      sharable for Cluster OpenMP*.


       -[no-]clomp-sharable-propagation	 (i32em, i64 only)
	      Reports  variables  that need to be made sharable by the
	      user with Cluster OpenMP*.


       -[no-]cluster-openmp (i32em, i64 only)
	      Compiles an OpenMP* program for execution on a  cluster.


       -[no-]cluster-openmp-profile  (i32em, i64 only)
	      Compiles	an OpenMP* program for execution on a cluster,
	      and links with a performance statistics library.


       -fargument-[no-]alias
	      Same as -[no-]alias-args.


       -fargument-noalias-global
	      Arguments do not alias  each  other  and	do  not	 alias
	      global storage.


       -[no-]fnsplit (i64 only)
	      Enable[disable]  function	 splitting. Function splitting
	      is enabled by -prof-use  in  Phase  3  to	 improve  code
	      locality	by splitting routines into different sections:
	      one section to contain the  cold	or  very  infrequently
	      executed	code,  and  one section to contain the rest of
	      the code (hot code).

	      You can use -[no-]fnsplit to disable function  splitting
	      for the following reasons:


	      ·	   Most	 importantly,  to get improved debugging capa-
		   bility. In the debug symbol table, it is  difficult
		   to  represent  a  split routine, that is, a routine
		   with some of its code in the hot code  section  and
		   some of its code in the cold code section.


	      ·	   The	 -no-fnsplit  option  disables	the  splitting
		   within a routine but enables function grouping,  an
		   optimization	 in  which  entire routines are placed
		   either in the cold code section  or	the  hot  code
		   section.  Function grouping does not degrade debug-
		   ging capability.


	      ·	   When the profile data does not represent the actual
		   program  behavior,  that  is,  when	the routine is
		   actually used frequently rather than	 infrequently.


       -fp-model <name>
		   Enable <name> floating point model variation.


       -ftls-model=<model>
		   Change  thread-local	 storage  model, where <model>
		   can be the following:


	      ·	   global-dynamic


	      ·	   local-dynamic


	      ·	   initial-exec


	      ·	   local-exec


       -ftz (i64 only)
		   Flush denormal results to zero.


       -funroll-loops
		   Unroll loops based on default heuristics.

		   -[no-]inline-factor=<n>  Specifies  the  percentage
		   multiplier  that  should be applied to all inlining
		   options that define upper limits.  The value <n> is
		   a positive integer specifying the percentage value.
		   The default value is 100 (a factor of 1).


       -inline-forceinline
		   Specifies that an inline routine should be  inlined
		   whenever the compiler can do so.  (Default OFF)


       -[no-]inline-max-per-compile=<n>
		   Specifies  the maximum number of times inlining may
		   be applied to  an  entire  compilation  unit.   The
		   value  <n> is a positive integer that specifies the
		   number of times inlining may be  applied.  (Default
		   OFF)


       -[no-]inline-max-per-routine=<n>
		   Specifies  the  maximum number of times the inliner
		   may inline into a particular	 routine.   The	 value
		   <n>	is a positive integer that specifies the maxi-
		   mum number of times the inliner may inline  into  a
		   particular routine.	(Default OFF)


       -[no-]inline-max-size=<n>
		   Specifies  the lower limit for the size of what the
		   inliner considers to be a large routine.  The value
		   <n>	is a positive integer that specifies the mini-
		   mum size of what the	 inliner  considers  to	 be  a
		   large routine.  (Default OFF)


       -[no-]inline-max-total-size=<n>
		   Specifies  how  much	 larger a routine can normally
		   grow when inline expansion is performed.  The value
		   <n>	is  a positive integer that specifies the per-
		   mitted increase in the routine's size  when	inline
		   expansion is performed.  (Default OFF)


       -[no-]inline-min-size=<n>
		   Specifies  the upper limit for the size of what the
		   inliner considers to be a small routine.  The value
		   <n>	is a positive integer that specifies the maxi-
		   mum size of what the	 inliner  considers  to	 be  a
		   small routine.  (Default OFF)


       -ip	   Enable additional interprocedural optimizations for
		   single file compilation.  These optimizations are a
		   subset of full intra-file interprocedural optimiza-
		   tions.


       -IPF-flt-eval-method0 (i64 only)
		   Direct the compiler	to  evaluate  the  expressions
		   involving  floating-point operands in the precision
		   indicated by the variable  types  declared  in  the
		   program.


       -[no-]IPF-fltacc (i64 only)
		   Enable [disable] optimizations that affect floating
		   point  accuracy.  By	 default  (-IPF-fltacc-)   the
		   compiler may apply optimizations that reduce float-
		   ing-point accuracy. You may use -IPF-fltacc or  -mp
		   to improve floating-point accuracy, but at the cost
		   of disabling some optimizations.


       -[no-]IPF-fma (i64 only)
		   Enable [disable] the combining  of  floating	 point
		   multiplies and add/subtract operations. -IPF-fma[-]
		   enables  [disables]	the  contraction   of	float-
		   ing-point multiply and add/subtract operations into
		   a single operation. Unless -mp  is  specified,  the
		   compiler contracts these operations whenever possi-
		   ble. The  -mp  option  disables  the	 contractions.
		   -IPF-fma  and -IPF-fma- can be used to override the
		   default compiler behavior.


       -[no-]IPF_fp_relaxed (i64 only)
		   Enable [disable] use of faster  but	slightly  less
		   accurate code sequences for math functions, such as
		   divide and square root.


       -IPF-fp-speculation{fast|safe|strict|off} (i64 only)
		   Enable floating point speculations with the follow-
		   ing conditions:

		   fast -- Speculate floating point operations

		   safe -- Speculate only when safe

		   strict -- Same as off

		   off -- Disables speculation of floating-point oper-
		   ations


       -ip-no-inlining
		   Disable inlining that would	result	from  the  -ip
		   interprocedural  optimization, but has no effect on
		   other interprocedural optimizations.


       -ip-no-pinlining (i32, i32em only)
		   Disable partial inlining (requires -ip or -ipo)


       -ipo[value] Enables multifile IP optimizations (between files).
		   When you specify this option, the compiler performs
		   inline function expansion for  calls	 to  functions
		   defined in separate files.

		   The	[value]	 argument  is an optional integer that
		   specifies the number of object files	 the  compiler
		   should  create.   Any integer greater than or equal
		   to 0 is valid.

		   If [value] is 0, the compiler  decides  whether  to
		   create  one	or more object files based on an esti-
		   mate of the size of the object file.	 It  generates
		   one	object file for small applications, and two or
		   more object files for large applications.

		   If [value]  is  positive,  the  compiler  generates
		   [value]  object  files,  unless [value] exceeds the
		   number of source files (m), in which case the  com-
		   piler generates only m object files.

		   If you do not specify [value], the default is 1.


       -ipo-c	   Generate  a multi-file object file (ipo-out.o) that
		   can be used in further link steps.


       -ipo-S	   Generate a  multi-file  assembly  file  (ipo-out.s)
		   that can be used in further link steps.


       -ipo-separate
		   Creates one object file for every source file. This
		   option overrides -ipo[value].


       -ivdep-parallel (i64 only)
		   Indicate there is absolutely no loop-carried memory
		   dependency  in  any	loop  where IVDEP directive is
		   specified. This technique is useful for some sparse
		   matrix applications.


       -mno-serialize-volatile (i64 only)
		   Memory  access  ordering  for  volatile data object
		   references may be suppressed.


       -mserialize-volatile (i64 only)
		   Enable strict memory access ordering	 for  volatile
		   data object references.


       -openmp	   Enable  the parallelizer to generate multi-threaded
		   code based on the OpenMP* directives. The code  can
		   be  executed	 in  parallel on both uniprocessor and
		   multiprocessor systems. The	-openmp	 option	 works
		   with	 both  -O0 (no optimization) and any optimiza-
		   tion level of -O1, -O2 (default) and -O3.  Specify-
		   ing -O0 with -openmp helps to debug OpenMP applica-
		   tions.


       -openmp-profile
		   Enables  analysis  of  OpenMP*  applications	  with
		   Intel(R)  Thread Profiler, which is required to use
		   this option.


       -openmp-report[<n>]
		   Control the OpenMP parallelizer's level of diagnos-
		   tic messages, where <n> is one of the following:

		   0 -- no diagnostic information is displayed.

		   1 -- Display diagnostics indicating loops, regions,
		   and sections successfully parallelized. (DEFAULT)

		   2 -- same as -openmp-report1 plus diagnostics indi-
		   cating MASTER constructs, SINGLE constructs, CRITI-
		   CAL constructs, ORDERED constructs,	ATOMIC	direc-
		   tives, etc. successfully handled.


       -openmp-stubs
		   Enable  the	user  to  compile  OpenMP  programs in
		   sequential mode. The openmp directives are  ignored
		   and a stub OpenMP library is linked (sequential).


       -opt-mem-bandwidth<n> (i64, L*X only)
		   Enables  or disables performance tuning and heuris-
		   tics that control memory bandwidth use  among  pro-
		   cessors.  It allows the compiler to be less aggres-
		   sive with optimizations  that  might	 consume  more
		   bandwidth, so that the bandwidth can be well-shared
		   among multiple processors for a  parallel  program.
		   For	values of <n> greater than 0, the option tells
		   the compiler to enable a set of performance	tuning
		   and	heuristics  in	compiler optimizations such as
		   prefetching, privatization, aggressive code motion,
		   and	so  forth, for reducing memory bandwidth pres-
		   sure and balancing memory bandwidth	traffic	 among
		   threads.   The <n> value is the level of optimizing
		   for memory bandwidth usage. You can specify one  of
		   the following values for <n>:

		   0  --  Disables  a  set  of	performance tuning and
		   heuristics in compiler optimizations	 for  parallel
		   code.  This is the default for serial code.

		   1  --  Enables  a  set  of  performance  tuning and
		   heuristics in  compiler  optimizations  for	multi-
		   threaded  code  generated by the compiler.  This is
		   the default if compiler option -parallel or -openmp
		   is  specified,  or  Cluster	OpenMP	option	-clus-
		   ter-openmp is specified  (see  the  Cluster	OpenMP
		   documentation).

		   2  --  Enables  a  set  of  performance  tuning and
		   heuristics in compiler optimizations	 for  parallel
		   code	 such  as  Windows  Threads, pthreads, and MPI
		   code, besides multithreaded code generated  by  the
		   compiler.


       -opt-report Generate  an	 optimization  report and direct it to
		   stderr.

		   DEFAULT: The compiler does not  generate  optimiza-
		   tion reports.


       -opt-report-file<file>
		   Specify the filename for the generated report


       -opt-report-help
		   List	 the logical names of optimizers available for
		   report generation.


       -opt-report-level[<level>]
		   Specify  the	 level	of  report  verbosity,	 where
		   <level> is one of the following:

		   min	--  The min argument provides the minimal sum-
		   mary (DEFAULT)

		   med -- The  med  argument  produces	an  intermedi-
		   ate-level report.

		   max -- The max argument produces the full report.


       -opt-report-phase<name>
		   Specify  the	 optimizer phase against which reports
		   are generated. The compiler generates  reports  for
		   the	optimizer  you	specify	 in  the  <name>. This
		   option can be used multiple times on the same  com-
		   mand line to generate reports for multiple optimiz-
		   ers. Currently, the following optimizer reports are
		   supported:

		   ipo -- Interprocedural Optimizer

		   hlo -- High Level Optimizer

		   ilo -- Intermediate Language Scalar Optimizer

		   ecg -- Code Generator

		   omp -- OpenMP

		   all -- All phases

		   When	 one of the above logical names for optimizers
		   is specified for  <name>,  all  reports  from  that
		   optimizer are generated.


       -opt-report-routine<substring>
		   Generate  reports from all routines with names con-
		   taining <substring> as part of their name. If <sub-
		   string> is not specified, reports from all routines
		   are generated.

		   DEFAULT: The compiler  generates  reports  for  all
		   routines.


       -p	   Compile  and link for function profiling with Linux
		   gprof* tool.	 Same as -qp.


       -parallel   Enable   the	   auto-parallelizer	to    generate
		   multi-threaded  code	 for  loops that can be safely
		   executed in parallel. The -parallel option  enables
		   the	auto-parallelizer  if	either	the -O2 or -O3
		   optimization option is  also	 on  (the  default  is
		   -O2).


       -par-report[<n>]
		   Control  the	 level of auto-parallelizer diagnostic
		   messages, where <n> is one of the following:

		   0 -- no diagnostic information is displayed.

		   1 -- indicates loops successfully auto-parallelized
		   (DEFAULT).  Issues  a "LOOP AUTO-PARALLELIZED" mes-
		   sage for parallel loops.

		   2 -- indicates successfully auto-parallelized loops
		   as well as unsuccessful loops.

		   3  --  same	as 2 plus additional information about
		   any	proven	or  assumed  dependencies   inhibiting
		   auto-parallelization	 (reasons  for not paralleliz-
		   ing).


       -par-threshold[<n>]
		   Set a threshold  for	 the  auto-parallelization  of
		   loops   based  on  the  probability	of  profitable
		   execution of the loop in parallel. This  option  is
		   used for loops whose computation work volume cannot
		   be determined at  compile-time.  The	 threshold  is
		   usually  relevant  when  the	 loop  trip  count  is
		   unknown at compile-time.

		   <n>=0-100. (DEFAULT: <n>=75)

		   The compiler applies a heuristic that tries to bal-
		   ance the overhead of creating multiple threads ver-
		   sus the amount  of  work  available	to  be	shared
		   amongst the threads.


       -[no-]prefetch (i64 only)
		   Enables   [disables]	  the  insertion  of  software
		   prefetching by the compiler. Default is  -prefetch.


       -prof-dir <dir>
		   Specify  directory <dir> for profiling output files
		   (*.dyn and *.dpi). Use the  -prof-dir  option  with
		    prof-gen  as  recommended for most programs, espe-
		   cially if the application includes the source files
		   located  in multiple directories. -prof-dir ensures
		   that the profile information is  generated  in  one
		   consistent place.


       -prof-file <file>
		   Specify file name <file> for profiling summary file


       -prof_gen[x]
		   Instruct the compiler to produce instrumented  code
		   in  your  object  files  in preparation for instru-
		   mented  execution.  With  the  x  qualifier,	 extra
		   information	is  gathered.  This  option is used in
		   Phase 1 of PGO to instruct the compiler to  produce
		   instrumented	 code in your object files in prepara-
		   tion for instrumented execution. Parallel  make  is
		   automatically  supported  for  -prof-genx  compila-
		   tions.


       -prof-gen-sampling
		   Prepare code for use with the profrun sample	 gath-
		   ering tool.



       -prof_use   Instruct  the  compiler  to produce a profile-opti-
		   mized executable and merge available dynamic infor-
		   mation (.dyn) files into a pgopti.dpi file. Use the
		   -prof-use option in Phase 3 of PGO.


       -qp	   Compile and link for function profiling with	 Linux
		   gprof* tool.	 Same as -p.


       -ssp (i32 only)
		   Enable  software-based speculative pre-computation.


       -tcheck	   The -tcheck compiler	 option	 enables  analysis  of
		   threaded applications with Intel(R) Thread Checker,
		   which is required to use this option.


       -unroll<n> (i32, i32em only)
		   Set maximum number of times to unroll  loops.  This
		   applies  only to loops that the compiler determines
		   should be unrolled. Omit  n	to  let	 the  compiler
		   decide whether to perform unrolling or not. Use n=0
		   to disable loop unrolling.


       -unroll0 (i64 only)
		   Disable loop unrolling.  For i64: the only  allowed
		   value is 0.


       -vec-report[<n>] (i32, i32em only)
		   Control  the	 vectorizer's level of diagnostic mes-
		   sages, where <n> is one of the following:

		   0 -- No diagnostic information

		   1 -- Indicate vectorized loops (DEFAULT)

		   2 -- Indicate vectorized/non-vectorized loops

		   3 -- Indicate vectorized/non-vectorized  loops  and
		   prohibiting data dependence information

		   4 -- Indicate non-vectorized loops

		   5  -- Indicate non-vectorized loops and prohibiting
		   data dependence information

		   If you use -c, -ipo with -vec-report{n}  option  or
		   -c,	  -x{K|W|N|B|P}	   or	 -ax{K|W|N|B|P}	  with
		   -vec-report[<n>], the compiler issues a warning and
		   no report is generated.


   Output, Debug, and PCH Options
       The  output,  debug,  and PCH options provide control over com-
       piler output, setup for debugging, and use of  the  precompiled
       header features of the compiler.


       -c     Compile to object (.o) only, do not link.


       -create-pch <filename>
	      Manual  creation	of  precompiled header <filename>. Use
	      the -create-pch <filename> option if you want  the  com-
	      piler  to create a PCH file called <filename>. The file-
	      name  parameter must be specified. The filename  parame-
	      ter  can	be a full path name. The full path to filename
	      must exist. The .pchi  extension	is  not	 automatically
	      appended	to filename. This option cannot be used in the
	      same compilation as -use-pch filename.  The  -create-pch
	      filename	 option	 is  supported	for single source file
	      compilations only.


       -[no-]debug[keyword]
	      Enable debug information and control output of  enhanced
	      debug   information.    The   supported  [keywords]  are
	      extended, [no]variable-locations, [no]semantic-stepping,
	      [no-]expr-source-pos,  and  [no]inline_debug_info}.  The
	      debug switches control emission of enhanced debug infor-
	      mation.  They must be used in conjunction with the basic
	      -g switches that request debug information.


	      extended -- Turns on the -debug options;

	      ·	   -debug [no-]expr-source-pos,

	      ·	   -debug [no]variable-locations,

	      ·	   -debug [no]semantic-stepping, and

	      ·	   -debug [no]inline_debug_info.


		   [no-]expr-source-pos -- Determines  whether	source
		   position  information  at  the  expression level of
		   granularity is produced.

		   [no]variable-locations   --	 Determines    whether
		   enhanced debug information useful in finding scalar
		   local variables is produced.

		   [no]semantic-stepping   --	 Determines    whether
		   enhanced  debug  information useful for breakpoints
		   and stepping is produced.

		   [no]inline_debug_info   --	 Determines    whether
		   enhanced  debug information is produced for inlined
		   code.


       -fcode-asm  Produce assembly file with  optional	 code  annota-
		   tions.


       -fsource-asm
		   Produce  assembly  file  with optional code annota-
		   tions.


       -ftrapuv	   Initializes stack local  variables  to  an  unusual
		   value to help error detection.


       -f[no]verbose-asm
		   Produce   assembly	file  with  compiler  comments
		   (DEFAULT).


       -g	   Produce symbolic debug information in object	 file.
		   The	compiler  does	not  support the generation of
		   debugging information in assemblable files. If  you
		   specify  the	 -g  option, the resulting object file
		   will contain debugging information, but the	assem-
		   blable  file	 will  not.  The -g option changes the
		   default optimization from -O2 to -O0.

		   If you specify -g with -O1, -O2, or -O3,  then  -fp
		   is  disabled and allows the compiler to use the EBP
		   register as a general-purpose register in optimiza-
		   tions.  However,  most  debuggers  expect EBP to be
		   used as a stack frame pointer, and cannot produce a
		   stack  backtrace  unless  this is so. Using the -fp
		   option can result in slightly less efficient	 code.

		   i32 only: Specifying the -g or -O0 option automati-
		   cally enables the -fp option.


       -g0	   Disable generation of symbolic debug information.


       -inline-debug-info
		   Preserve  the  source  position  of	inlined	  code
		   instead  of assigning the call-site source position
		   to inlined code.


       -map-opts  (not on M*X32)
		   Enable option mapping tool.


       -o<file>	   This option specifies the name of an output file as
		   follows:

	      ·	   If  the  -c	option	is specified, it specifies the
		   name of the generated object file.

	      ·	   If the -S option is	specified,  it	specifies  the
		   name of the generated assembly listing file.

	      ·	   If  the  -P	option	is specified, it specifies the
		   name of the generated preprocessor file.

		   Otherwise, it specifies the name of the  executable
		   file.


       -pch	   Automatic   processing   for	 precompiled  headers.
		   Direct the compiler to use appropriate  PCH	files.
		   If  none are available, they are created as source-
		   file.pchi. This  option  supports  multiple	source
		   files.

		   Note:  The  -pch option uses PCH files created from
		   other sources if the headers files  are  the	 same.
		   For example, if you compile source1.cpp using -pch,
		   then source1.pchi is created. If you	 then  compile
		   source2.cpp	using  -pch,  the  compiler  will  use
		   source1.pchi if it detects the same headers.


       -pch-dir <dirname>
		   Directs the compiler to find and/or create  a  file
		   for	 pre-compiled  headers	in  dirname.  Use  the
		   -pch-dir  <dirname>	option	to  specify  the  path
		   (dirname)  to the PCH file. You can use this option
		   with -pch, -create-pch filename, and -use-pch file-
		   name.


       -print-multi-lib
		   Print information about libraries being used.


       -S	   Compile  to an assemblable file (.s), then stop the
		   compilation.


       -use-asm	   Produce objects through the assembler.

		   Note:    GNU	 inline	 assembler  (asm)   code   and
		   Microsoft  inline  assembler (msasm) code cannot be
		   used together in the same translation unit.


       -use-msasm (i32, i32em only)
		   Support Microsoft* style assembly  language	inser-
		   tion	 using	MASM  style  syntax and, if requested,
		   output assembly in MASM format.

		   Note:    GNU	 inline	 assembler  (asm)   code   and
		   Microsoft  inline  assembler (msasm) code cannot be
		   used together in the same translation unit.


       -use-pch <filename>
		   Manual use of precompiled  header  (filename.pchi).
		   This	 option	 directs  the  compiler to use the PCH
		   file specified by filename. It cannot  be  used  in
		   the same compilation as -create-pch <filename>. The
		   -use-pch <filename> option supports full path names
		   and	supports multiple source files when all source
		   files use the same .pchi file.


   Preprocessor Options
       The preprocessor	 options  listed  here	control	 preprocessing
       operations for the compiler.


       -A-    Remove  all  predefined  macros.	Causes	all predefined
	      macros and assertions to be inactive.


       -A<name>[<value(s)>]
	      Associate a symbol <name> with the specified sequence of
	      <value(s)>.   Equivalent	to  an	#assert	 preprocessing
	      directive.


       -C     Preserve comments in preprocessed	 source	 output.  Com-
	      ments  following	preprocessing  directives are not pre-
	      served.


       -D<name>[=<value>]
	      Define the macro <name> and associate it with the speci-
	      fied  <value>.   Equivalent  to  a #define preprocessing
	      directive.

	      DEFAULT:	-D<name>  defines  the	macro  <name>  with  a
	      <value> of 1.


       -dD    Same  as	-dM, but outputs #define directives in prepro-
	      cessed source.


       -dM    Output macro definitions in effect  after	 preprocessing
	      (use with -E).


       -dN    Same  as	-dD, but #define directives contain only macro
	      names.


       -E     Direct the preprocessor to expand your source module and
	      write  the  result  to standard output. The preprocessed
	      source contains #line  directives,  which	 the  compiler
	      uses to determine the source file and line number.


       -EP    Direct the preprocessor to expand your source module and
	      write the result to standard output.  Does  not  include
	      #line  directives in the output. -EP is equivalent to -E
	      -P.


       -H     Print "include" file order and continue compilation.


       -I<dir>
	      Add directory <dir> to include  file  search  path.  For
	      multiple	search	directories, multiple  I<dir> commands
	      must be used.  The  compiler  searches  directories  for
	      include  files  in  the following order: 1. Directory of
	      the source file that contains the include.  2.  Directo-
	      ries specified by the -I option.


       -idirafter<dir>
	      Add  directory  <dir>  to the second include file search
	      path (after -I).


       -imacros<file>
	      Treat <file> as an #include file,	 but  throw  away  all
	      preprocessing  while  the macros that are defined remain
	      defined.


       -iprefix<prefix>
	      Use <prefix> with -iwithprefix as a prefix.


       -iquote<dir>
	      Add <dir> to the front of the include file  search  path
	      for   files  included  with  quotes  but	not  brackets.
	      (DEFAULT = OFF)


       -isystem<dir>
	      Add directory <dir> to the start of the  system  include
	      path.


       -iwithprefix<dir>
	      Append <dir> to the prefix passed in by -iprefix and put
	      it on the include search path at the end of the  include
	      directories.


       -iwithprefixbefore<dir>
	      Similar  to -iwithprefix except the include directory is
	      placed in the same place as the -I command line  include
	      directories.


       -M     Generate makefile dependency lines for each source file,
	      based on the #include lines found in the source file.


       -MD    Preprocess and compile. Generate output file (.d	exten-
	      sion) containing dependency information.


       -MF<file>
	      Generate makefile dependency information in <file>. Must
	      specify -M or -MM.


       -MG    Similar to -M, but treats missing header files as gener-
	      ated files.


       -MM    Similar to -M, but does not include system header files.


       -MMD   Similar to -MD,  but  does  not  include	system	header
	      files.


       -MP    Add a phony target for each dependency.


       -MQ<target>
	      Same as -MT, but quotes special Make characters.


       -MT<target>
	      Change  the  default  target rule for dependency genera-
	      tion.


       -no-gcc
	      Do  not  predefine  the  __GNUC__,  __GNUC_MINOR__,  and
	      __GNUC_PATCHLEVEL__ macros.


       -nostdinc
	      Same as -X.


       -P     Direct the preprocessor to expand your source module and
	      store the result in a .i file in the current  directory.
	      Unlike  the  -E  option,	the  output  from  -P does not
	      include #line number directives. By default, the prepro-
	      cessor  creates  the  name  of the output file using the
	      prefix of the source file name with a .i extension.

	      Caution: When you use the -P option, any existing	 files
	      with the same name and extension are overwritten.


       -U<name>
	      Remove  predefined macro. Equivalent to a #undef prepro-
	      cessing directive.


       -X     Remove standard directories  from	 include  file	search
	      path.  You  can  use the -X option with the -I option to
	      prevent the compiler from searching the default path for
	      include files and direct it to use an alternate path.



   Component Control Options
       You can direct the compiler to specify alternate tools for pre-
       processing, compilation, assembly, and  linking.	 Further,  you
       can invoke options specific to your alternate tools on the com-
       mand line.  These are the component control options.


       -Qinstall <dir>
	      Set <dir> as the root of the compiler installation.


       -Qlocation,<tool>,<path>
	      Set <path> as the location  of  the  tool	 specified  by
	      <tool>.  <tool> may be cpp, c, asm, or ld. <path> is the
	      complete path to the tool.  For example:

	      -Qlocation,gas,<path> Specifies the GNU assembler.

	      -Qlocation,gld,<path> Specifies the GNU linker.


       -Qoption,<tool>,<optlist>
	      Pass options <optlist> to the tool specified by  <tool>.
	      <tool>  may  be cpp, c, asm, or ld.  The <optlist> argu-
	      ment indicates one or more valid	argument  strings  for
	      the  designated  program.	 If  the  argument  is	a com-
	      mand-line option, you must include the  hyphen.  If  the
	      argument	contains  a  space  or tab character, you must
	      enclose the  entire  argument  in	 quotation  characters
	      ("").  You must separate multiple arguments with commas.


   Language Options
       The language options define parameters and  standards  for  the
       compiler with reference to the C/C++ source files.


       -[no]align (i32, i32em only)
	      Analyze  and  reorder  memory  layout  for variables and
	      arrays.


       -ansi  Support all ANSI standard C programs, equivalent to  the
	      -ansi option of gcc.


       -[no-]c99
	      Enable [disable] C99 support for C programs.


       -export
	      Enable  recognition  of exported templates. Supported in
	      C++ mode only.


       -export-dir <dir>
	      Specifies a directory name  for  the  exported  template
	      search path.


       -fno-gnu-keywords
	      Do not recognize 'typeof' as a keyword.


       -fno-implicit-inline-templates
	      Do  not  emit code for implicit instantiations of inline
	      templates.


       -fno-implicit-templates
	      Never emit  code	for  non-inline	 templates  which  are
	      instantiated  implicitly	(i.e.  by use); only emit code
	      for explicit instantiations.


       -f[no-]non-lvalue-assign
	      Allow [disallow] casts and conditional expressions to be
	      used as lvalues.	(DEFAULT = allow)


       -fno-operator-names
	      Disable support for operator name keywords.


       -fpermissive
	      Allow for non-conformant code.


       -f[no-]rtti
	      Enable [disable] RTTI support.


       -fshort-enums
	      Allocate as many bytes as needed for enumerated types.


       -fsyntax-only
	      Same as -syntax.


       -ftemplate-depth-<n>
	      Control  the  depth  to  which  recursive	 templates are
	      expanded.


       -funsigned-bitfields
	      Change default bitfield type to unsigned.


       -funsigned-char
	      Change default char type to unsigned.


       -Kc++  Compile all source or unrecognized  file	types  as  C++
	      source files.


       -malign-double (i32, i32em only)
	      Same as -align.


       -[no]restrict
	      Enable [disable] the "restrict" keyword for disambiguat-
	      ing pointers.


       -std=c99
	      Enable C99 support for C programs


       -strict-ansi
	      Select strict ANSI C/C++ conformance dialect


       -Zp[n] Specify alignment constraint  for	 structure  and	 union
	      types, where n is one of the following: 1,2,4,8,16.


   Compiler Diagnostics Options
       The  compiler diagnostics options define and control aspects of
       the compilation associated with diagnostics.


       -[no]traceback
	      Tells the compiler  to  generate	[not  generate]	 extra
	      information  in  the object file to allow the display of
	      source file traceback information at  run	 time  when  a
	      severe  error  occurs.   This is intended for use with C
	      code that is to be linked into a Fortran program.


       -w     Disable all warnings. Displays error messages only.


       -w<n>  Control diagnostics, where <n> is one of the following:

	      0 -- Display errors (same as -w)

	      1 -- Display warnings and errors (DEFAULT)

	      2 -- Display remarks, warnings, and errors


       -W[no-]abi
	      Warn [do not warn] if generated code is not C++ ABI com-
	      pliant (Default = -Wno-abi).


       -Wall  Enable all warnings.


       -Wbrief
	      Print  brief  one-line  diagnostics.  When  enabled, the
	      original source line is not displayed and the error mes-
	      sage  text is not wrapped when too long to fit on a sin-
	      gle line.


       -Wcheck
	      Enable more strict  diagnostics.	Performs  compile-time
	      code checking for code that exhibits non-portable behav-
	      ior, represents a possible unintended code sequence,  or
	      possibly	affects	 operation of the program because of a
	      quiet change in the ANSI C Standard.


       -W[no-]comment[s]
	      Warn when /* appears in the middle of a /* */ comment.


       -Wcontext-limit=<n>
	      Set maximum number of  template  instantiation  contexts
	      shown in diagnostic.


       -wd<L1>[,<L2>,...<LN>]
	      Disable diagnostics L1 through LN.


       -W[no-]deprecated
	      Print warnings related to deprecated features.


       -we<L1>[,<L2>,...<LN>]
	      Change severity of diagnostics L1 through LN to error.


       -Werror
	      Force warnings to be reported as errors.


       -Winline
	      Enable inline diagnostics.


       -W[no-]main
	      Warn if return type of main is not expected.


       -W[no-]missing-prototypes
	      Warn for missing prototypes.


       -wn<n> Print  a maximum of <n> errors displayed before the com-
	      piler aborts. By default, if more than  100  errors  are
	      displayed,  compilation  aborts. Remarks and warnings do
	      not count towards this limit.


       -Wp64  Print diagnostics for 64-bit porting.


       -W[no-]pointer-arith
	      Warn for questionable pointer arithmetic.


       -wr<L1>[,<L2>,...<LN>]
	      Change severity of diagnostics L1 through LN to  remark.


       -W[no-]return-type
	      Warn  when  a  function uses the default int return type
	      and warn when a return statement is used in a void func-
	      tion.


       -W[no-]shadow
	      Warn if a variable declaration hides a previous variable
	      declaration.


       -W[no-]uninitialized
	      Warn if a variable is used before being initialized.


       -W[no-]unknown-pragmas
	      Warn if an unknown #pragma directive is used  (DEFAULT).


       -W[no-]unused-function
	      Warn if declared function is not used.


       -ww<L1>[,<L2>,...<LN>]
	      Change severity of diagnostics L1 through LN to warning.



   Miscellaneous Options
       The miscellaneous options cover a variety  of  unrelated	 tasks
       related to the compiler.


       -B<dir>
	      Specifies	 the  directory (dir) that can be used to find
	      libraries, headers, and  executables  for	 the  compiler
	      itself.


       -dryrun
	      Show driver tool commands but do not execute tools.


       -fabi-version=<value>
	      Instructs	 the  compiler to select a specific ABI imple-
	      mentation, where <value> is the ABI implementation. Pos-
	      sible values are:.

	      0	 -- Requests all the latest ABI fixes.	Default if gcc
	      version 3.2 is installed.

	      1 -- Requests the ABI used in gcc 3.3.  Default  if  gcc
	      version 3.3 is installed.

	      2	 --  Requests  the  ABI	 used  in  gcc 3.4 and higher.
	      Default if gcc version 3.4 or higher is installed.


       -f[no-]common
	      Enables the compiler to treat  common  variables	as  if
	      they  were defined, allowing the use of gprel addressing
	      of common data variables.


       -f[no-]math-errno
	      Set ERRNO after calling standard math library functions.


       -fminshared
	      Compilation   is	 for  the  main	 executable.  Absolute
	      addressing can be used and non-position independent code
	      generated for symbols that are at least protected.


       -fno-builtin
	      Disable inline expansion of intrinsic functions.


       -fno-builtin-<func>
	      Disable the <func> intrinsic.


       -fpack-struct
	      Pack structure members together.


       -f[no-]pic, -f[no-]PIC
	      i32:  This  option  generates position independent code.
	      By default this option is OFF.

	      i64: This option generates  code	allowing  full	symbol
	      preemption.  By default this option is OFF.


       -fr32 (i64 only)
	      Disable  use  of high floating point registers. Use only
	      lower 32 floating-point registers.


       -freg-struct-return
	      Return struct and union values in registers when	possi-
	      ble.


       -fstack-security-check (i32, i32em only)
	      Enable overflow security checks.


       -fvisibility=[extern|default|protected|hidden|internal]
	      Global  symbols  (data and functions) will get the visi-
	      bility attribute given  by  default.  Symbol  visibility
	      attributes  explicitly  set  in the source code or using
	      the symbol visibility attribute file options will	 over-
	      ride the -fvisibility setting.


       -fvisibility-default=<file>
	      Space  separated	symbols	 listed in the <file> argument
	      will get visibility set to default.


       -fvisibility-extern=<file>
	      Space separated symbols listed in	 the  <file>  argument
	      will get visibility set to extern.


       -fvisibility-hidden=<file>
	      Space  separated	symbols	 listed in the <file> argument
	      will get visibility set to hidden.


       -fvisibility-internal=<file>  (not on M*X32)
	      Space separated symbols listed in	 the  <file>  argument
	      will get visibility set to internal.


       -fvisibility-protected=<file>  (not on M*X32)
	      Space  separated	symbols	 listed in the <file> argument
	      will get visibility set to protected.


       -[no-]gcc-extern-inline
	      The -gcc-extern-inline flag, by  default,	 lays  down  a
	      body  for	 a  function declared to be extern inline. The
	      gcc compiler, however, never lays	 down  a  body	for  a
	      function	declared  to  be  extern  inline. Instead, gcc
	      treats the function as if it were	 declared  extern  but
	      with no definition in the compilation unit.

	      No body is created unless the function cannot be inlined
	      for some reason  (for  example,  its  address  might  be
	      taken).	The  body  laid down for a function because of
	      this flag will always be weak so a  non-weak  definition
	      elsewhere	 in  the compilation will be used instead.  If
	      you want the C99 behavior rather than  the  now  default
	      (more)  gcc like behavior, use the -no-gcc-extern-inline
	      flag.  This flag	is  on	(i.e.  -gcc-extern-inline)  by
	      default.


       -gcc-name=<dir>
	      Use this option to specify the location of g++ when com-
	      piler cannot locate gcc C++  libraries.	For  use  with
	      -cxxlib-<mode> configuration.  The <dir> argument is the
	      full path location of g++.  Use this option when	refer-
	      encing a non-standard gcc installation.


       -gcc-version=<nnn>
	      This option provides compatible behavior with gcc, where
	      <nnn> indicates the gcc version.	 The  required	values
	      for <nnn> are:

	      not set -- if gcc version is older than 3.2

	      320 -- if gcc version is 3.2

	      330 -- if gcc version is 3.3

	      340 -- if gcc version is 3.4

	      400 -- if gcc version is 4.0

	      410 -- if gcc version is 4.1

	      Note:    The <nnn> version number follows a format where
	      the first number represents the major version, the  sec-
	      ond  number  represents the minor version, and the third
	      number is normally zero.	For  example,  the  3.3.1  gcc
	      version is represented as 330.


       -[no-]global-hoist
	      Enables  [disables]  hoisting  and  speculative loads of
	      global variables.


       -help  Print list of compiler options.


       -kernel (i64 only)
	      Generates code for inclusion  in	the  kernel.  Prevents
	      generation  of  speculation as support may not be avail-
	      able when code runs. Suppresses software pipelining.


       -long_double (i32, i32em only)
	      Enable 80-bit 'long double'.  The -long_double option is
	      ON by default (80-bit) for L*X and M*X32.


       -mfixed-range=<range> (i64 only)
	      Reserves	certain	 registers (<range>=f12-f15, f32-f127)
	      for use by the kernel.


       -[no-]multibyte-chars
	      Provide support for multi-byte characters.


       -nobss-init
	      Place variables that are initialized with zeroes in  the
	      DATA section instead of the BSS section.


       -reserve-kernel-regs (i64 only)
	      Reserves	registers  f12-f15 and f32-f127 for use by the
	      kernel. These will not be used by the compiler.


       -[no-]sox
	      Enable (DEFAULT) [disable] saving	 of  compiler  options
	      and version in the executable.


       -V     Display compiler version information.


       -v     Show driver tool commands and execute tools.


       --version
	      Display  GCC  style  version information.	 Note that two
	      '-'s are required.


       -x <type>
	      All source files found subsequent to -x <type>  will  be
	      recognized as one of the following types:

	      c -- C source file

	      c++ -- C++ source file

	      c-header -- C header file

	      cpp-output -- C pre-processed file

	      c++-cpp-output -- C++ pre-processed file

	      assembler -- Assembly file

	      assembler-with-cpp  --  Assembly	file  that needs to be
	      preprocessed

	      none -- Disable recognition, and revert to  file	exten-
	      sion


   Linking or Linker Options
       The  linking/linker  options  group  all	 link-related  options
       together.


       -cxxlib-<mode>
	      Tells  the  compiler to link using certain  C++  runtime
	      libraries.   You can specify one of the following values
	      for <mode>:

	      gcc[=<dir>] -- Link using	 the  C++  run-time  libraries
	      provided	with  the gcc compiler.	 The <dir>parameter is
	      an optional top-level location for the gcc binaries  and
	      libraries.

	      icc -- Link using the C++ run-time libraries provided by
	      Intel.



       -dynamic-linker<filename>
	      Select  a	 dynamic  linker  (filename)  other  than  the
	      default.


       -dynamiclib (i32, M*X32 only)
	      Invokes	the   libtool	command	 to  generate  dynamic
	      libraries.


       -i-dynamic
	      Link Intel provided libraries dynamically.


       -i-static
	      Links Intel-provided libraries statically.


       -L<dir> or -l<dir>
	      Instruct the linker to search for a  specified   library
	      <dir>  when  linking.   Because  the linker searches and
	      processes libraries and object files in the  order  they
	      are   specified,	specify this option following the last
	      applicable object file.


       -mcmodel=<mem_model> (i32, L*X only)
	      Tells the compiler to use a  specific  memory  model  to
	      generate	  code	  and	 store	 data.	  Default   is
	      -mcmodel=small.


       -m[no-]relax (i64 only)
	      Pass [do not pass] -relax to  the	 linker.   (DEFAULT  =
	      -mno-relax)


       -no-cpprt
	      Do not link in C++ runtime libraries.


       -nodefaultlibs
	      Do not use standard libraries when linking.


       -nostartfiles
	      Do not use standard startup files when linking.


       -nostdlib
	      Do  not  use  standard  libraries and startup files when
	      linking.


       -shared	(not on M*X32)
	      Produce a shared object.


       -shared-libcxa
	      Link Intel libcxa C++  library  dynamically,  overriding
	      the  default  behavior when -static is used. This option
	      has the opposite effect  of  -static-libcxa.  When  this
	      option is used, the Intel-provided libcxa C++ library is
	      linked in dynamically, allowing the user to override the
	      static linking behavior when the -static option is used.


       -static	(not on M*X32)
	      Prevent linking with shared libraries. Causes  the  exe-
	      cutable  to link all libraries statically, as opposed to
	      dynamically.


       -static-libcxa
	      Link Intel libcxa C++ library  statically.  By  default,
	      the  Intel-provided  libcxa  C++	library	 is  linked in
	      dynamically. Use -static-libcxa on the command  line  to
	      link  libcxa  statically, while still allowing the stan-
	      dard libraries to be linked in by the default  behavior.


       -T <file>
	      Direct linker to read link commands from <file>.


       -u <symbol>
	      Pretend the <symbol> is undefined.


       -Wa<o1>[,<o2>,...]


       -Wl,<o1>[,<o2>,...]


       -Wl,<o1>[,<o2>,...]
	      Pass  options o1, o2, etc. to the linker for processing.


       -Xlinker <val> (i32, i32em only)
	      Pass <val> directly to the linker for processing.


   Mac OS Options
       The Mac OS options provide  specific  capabilities  that	 apply
       only  to the Intel C++ compiler for the Mac OS.	Most other i32
       C++ compiler options (except those identified with  a  (not  on
       M*X32) notation) also apply to the Mac OS.


       -F<dir> (M*X32 only)
	      Add a framework directory to the head of an include file
	      search path.


       -fpascal-strings (M*X32 only)
	      Allow for Pascal-style string literals.


       -malign-mac68k (M*X32 only)
	      Aligns structure fields on 2-byte boundaries (m68k  com-
	      patible).


       -malign-natural (M*X32 only)
	      Aligns  larger  types  on	 natural size-based boundaries
	      (overrides ABI).


       -malign-power (M*X32 only)
	      Aligns based on ABI-specified alignment  rules  (default
	      for M*X32 only).


       -mdynamic-no-pic (M*X32 only)
	      Code  is	not  relocatable,  but external references are
	      relocatable.


   Optimization Levels
       The Intel C++ Compiler applies the following optimizations when
       you invoke the -O1, -O2, or -O3 options:

       ·   Constant propagation

       ·   Copy propagation

       ·   Dead-code elimination

       ·   Global register allocation

       ·   Instruction scheduling

       ·   Loop unrolling (-O2, -O3 only)

       ·   Loop-invariant code movement

       ·   Partial redundancy elimination

       ·   Strength reduction/induction variable simplification

       ·   Variable renaming

       ·   Exception handling optimizations

       ·   Tail recursions

       ·   Peephole optimizations

       ·   Structure assignment lowering and optimizations

       ·   Dead store elimination

       ·   Loop-invariant code motion.

       Depending  on  the Intel architecture, optimization options can
       have different effects. To specify optimizations for your  tar-
       get  architecture,  refer to the -O[0|1|2|3], -fast, -ax<code>,
       -x<code>, and related options.


   Optimizing Exclusively for Specific Processors  (i32,  i32em	 only)
       (not on M*X32)
       The  -x{K|W|N|B|P} options target your program to run on a spe-
       cific Intel processor.  The resulting code might contain uncon-
       ditional	 use  of features that are not supported on other pro-
       cessors.	 If these options are used on a non-compatible proces-
       sor,  the program might fail with an illegal instruction excep-
       tion, or it might display other unexpected behavior.   Do   not
       specify this option if the program will be executed on x86 pro-
       cessors not provided by Intel Corporation.  For	more  informa-
       tion, see the Intel C++ Compiler User's Guide.


       Note:  The  -x<codes> option is not supported on M*X32 for this
       release.	 Compilations for M*X32 use the -xP option  values  to
       generate	 code  for  Intel  Pentium 4 Processors with Streaming
       SIMD Extensions 3 (SSE3).


   Automatic Processor-specific Optimization (i32, i32em only) (not on
       M*X32)
       The -ax{K|W|N|B|P} options direct the compiler to find opportu-
       nities to generate separate  versions  of  functions  that  use
       instructions supported on the specified processors. If the com-
       piler finds such an opportunity, it first checks whether gener-
       ating  a	 processor-specific version of a function is likely to
       result in a performance gain. If	 so,  the  compiler  generates
       both  a	processor-specific version of a function and a generic
       version of the function. The generic version will  run  on  any
       IA-32 processor.

       At  run time, one of the versions is chosen to execute, depend-
       ing on the current processor. In this way, the program can ben-
       efit  from performance gains on more advanced processors, while
       still working properly on older processors.

       The disadvantages of using -ax{K|W|N|B|P} are:

       ·   The size of the compiled binary increases because  it  con-
	   tains both a processor-specific version of some of the code
	   and a generic version of the code.

       ·   Performance is affected by the run-time checks to determine
	   which code to run.


   Interprocedural Optimizations (IPO)
       Use -ip and -ipo[value] to enable interprocedural optimizations
       (IPO), which allow the compiler to analyze your code to	deter-
       mine  where  to apply the following optimizations: inline func-
       tion expansion, interprocedural constant propagation,  monitor-
       ing module-level static variables, dead code elimination, prop-
       agation of function characteristics,  and  multifile  optimiza-
       tion. For IA-32, IPO also passes arguments in registers.

       Inline function expansion is one of the main optimizations per-
       formed by the interprocedural  optimizer.  For  function	 calls
       that  the  compiler  believes are frequently executed, the com-
       piler might decide to replace the instructions of the call with
       code for the function itself (inline the call).

       See  the	 Intel	C++  Compiler  User's  Guide for more complete
       information on IPO.


   Profile-guided Optimizations (PGO)
       Profile-guided optimizations  (PGO)  tell  the  compiler	 which
       areas  of an application are most frequently executed. By know-
       ing these areas, the compiler is able to use  feedback  from  a
       previous	 compilation  to  be  more selective in optimizing the
       application. For example, the use of PGO often enables the com-
       piler to make better decisions about function inlining, thereby
       increasing the effectiveness of interprocedural	optimizations.

       PGO  creates  an instrumented program from your source code and
       special code from the compiler.	Each  time  this  instrumented
       code  is executed, the instrumented program generates a dynamic
       information file. When you compile a second time,  the  dynamic
       information  files  are	merged	into a summary file. Using the
       profile information in this  file,  the	compiler  attempts  to
       optimize	 the  execution	 of the most heavily traveled paths in
       the program.

       The PGO methodology requires three phases:


       Phase 1:	 Instrumentation   compilation	 and   linking	  with
		 -prof-gen[x]


       Phase 2:	 Instrumented execution by running the executable


       Phase 3:	 Feedback compilation with -prof-use

       See  the	 Intel	C++  Compiler  User's  Guide for more complete
       information on PGO.


   High-level Language Optimizations (HLO)
       High-level language optimizations (HLO) exploit the  properties
       of  source code constructs, such as loops and arrays, in appli-
       cations developed in high-level programming languages, such  as
       C++.    They   include  loop  interchange,  loop	 fusion,  loop
       unrolling, loop distribution,  unroll-and-jam,  blocking,  data
       prefetch,  scalar  replacement,	data layout optimizations, and
       others.


   Vectorization Options (i32 only)
       The vectorizer is a component of the Intel  C++	Compiler  that
       automatically  uses SIMD instructions in the MMX, SSE, and SSE2
       instruction sets. The vectorizer detects operations in the pro-
       gram  that  can	be executed in parallel, and then converts the
       sequential program to process 2, 4, 8, or 16  elements  in  one
       operation, depending on the data type.

       The -x{K|W|N|B|P} and -ax{K|W|N|B|P} options enable the vector-
       izer.  See the Intel C++ Compiler User's Guide  for  more  com-
       plete information on the vectorizer.


   Auto Parallelization Options
       The  auto-parallelization  feature  of  the  Intel C++ Compiler
       automatically translates serial portions of the	input  program
       into  equivalent multithreaded code. The auto-parallelizer ana-
       lyzes the dataflow of the program's loops and generates	multi-
       threaded	 code  for  those  loops which can be safely and effi-
       ciently	executed  in  parallel.	 This  enables	the  potential
       exploitation  of	 the  parallel architecture found in symmetric
       multiprocessor (SMP) systems.

       The parallel run-time support provides the same	run-time  fea-
       tures  found  in	 OpenMP*, such as handling the details of loop
       iteration modification, thread scheduling, and synchronization.

       While OpenMP directives enable serial applications to transform
       into parallel applications quickly, the programmer must explic-
       itly  identify  specific	 portions of the application code that
       contain parallelism and add  the	 appropriate  compiler	direc-
       tives.  Auto-parallelization  triggered by the -parallel option
       automatically identifies those  loop  structures	 that  contain
       parallelism.  During  compilation,  the	compiler automatically
       attempts to decompose the code sequences into separate  threads
       for  parallel  processing. No other effort by the programmer is
       needed.


   Parallelization with OpenMP*
       The Intel C++ Compiler supports the OpenMP* C++ version 2.0 API
       specification.  The compiler performs transformations to gener-
       ate multithreaded code based on the user's placement of	OpenMP
       directives  in the source program making it easy to add thread-
       ing to existing software. The Intel compiler  supports  all  of
       the  current  industry-standard OpenMP directives, except WORK-
       SHARE, and compiles parallel  programs  annotated  with	OpenMP
       directives.  In	addition, the compiler provides Intel-specific
       extensions to the OpenMP C++ version 2.0 specification  includ-
       ing  run-time library routines and environment variables.

       Note:  As  with	many  advanced features of compilers, you must
       properly understand the functionality of the OpenMP  directives
       in  order  to  use  them effectively and avoid unwanted program
       behavior.


       The Cluster OpenMP* (CLOMP or Cluster OMP) options  are	avail-
       able  under  a  separate license for the Cluster OpenMP product
       (i32em, i64 only).



   Precompiled Headers
       The Intel C++ Compiler supports precompiled header (PCH)	 files
       to   significantly  reduce  compile  times  using  the  options
       described below.	 If many of your source files include a common
       set  of	header files, place the common headers first, followed
       by the #pragma hdrstop directive.  This	pragma	instructs  the
       compiler to stop generating PCH files.

       For  example,  if source1.cpp, source2.cpp, and source3.cpp all
       include common.h, then place #pragma hdrstop after common.h  to
       optimize	 compile  times.   See	the  Intel C++ Compiler User's
       Guide for more complete information on Precompiled Headers.

       Caution: Depending on how you organize the header files	listed
       in your sources, these options might increase compile time.


PREDEFINED MACROS
       The  predefined macros available for the Intel C++ Compiler are
       described below.


       Intel C++ Compiler Predefined Macros


       __ARRAY_OPERATORS
	      Value on IA-32 -- 1

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- 1


       __BASE_FILE__
	      Value on IA-32 -- Name of source file

	      Value on EM64T -- Name of source file

	      Value on Itanium Architecture -- Name of source file



       _BOOL  Value on IA-32 -- 1

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- 1


       __cplusplus
	      Value on IA-32 -- 1

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- 1


       __DEPRECATED
	      Value on IA-32 -- 1

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- 1


       __EDG__
	      Value on IA-32 -- 1

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- 1


       __EDG_VERSION__
	      Value on IA-32 -- 304

	      Value on EM64T -- 304

	      Value on Itanium Architecture -- 304

       __ELF__
	      Value on IA-32 -- 1

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- 1


       __EXCEPTIONS
	      Value on IA-32 -- Defined as 1 when  -fno-exceptions  is
	      not used.

	      Value  on	 EM64T -- Defined as 1 when -fno-exceptions is
	      not used.

	      Value on Itanium	Architecture  --  Defined  as  1  when
	      -fno-exceptions is not used.


       __extension__
	      Value on IA-32 -- no value

	      Value on EM64T -- no value

	      Value on Itanium Architecture -- no value


       __GNUC__
	      Values on IA-32, EM64T, or Itanium Architecture --

	      2 -- if gcc version is less than 3.2

	      3 -- if gcc version is 3.2, 3.3, or 3.4

	      4 -- if gcc version is 4.x


       __GNUC_MINOR__
	      Values on IA-32, EM64T, or Itanium Architecture --

	      95 -- if gcc version is less than 3.2

	      2 -- if gcc version is 3.2

	      3 -- if gcc version is 3.3

	      4 -- if gcc version is 3.4


       __GNUC_PATCHLEVEL__
	      Values on IA-32, EM64T, or Itanium Architecture --

	      3 -- if gcc version is 3.x


       __gnu_linux__
	      Value on IA-32 -- 1

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- 1


       __GXX_ABI_VERSION
	      Value on IA-32 -- 102

	      Value on EM64T -- 102

	      Value on Itanium Architecture -- 102


       __HONOR_STD
	      Value on IA-32 -- 1

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- NA


       __i386 Value on IA-32 -- 1

	      Value on EM64T -- NA

	      Value on Itanium Architecture -- NA


       __i386__
	      Value on IA-32 or EM64T -- 1

	      Value on EM64T -- NA

	      Value on Itanium Architecture -- NA


       i386   Value on IA-32 -- 1

	      Value on EM64T -- NA

	      Value on Itanium Architecture -- NA


       __ia64 Value on IA-32 -- NA

	      Value on EM64T -- NA

	      Value on Itanium Architecture -- 1


       __ia64__
	      Value on IA-32 -- NA

	      Value on EM64T -- NA

	      Value on Itanium Architecture -- 1


       __ICC  Value on IA-32 -- 910

	      Value on EM64T -- 910

	      Value on Itanium Architecture -- NA

	      Notes  --	 Assigned  value refers to the compiler (e.g.,
	      800  is  8.00).  Supported  for  legacy	reasons.   Use
	      __INTEL_COMPILER instead.


       _INTEGRAL_MAX_BITS
	      Value on IA-32 -- NA

	      Value on EM64T -- NA

	      Value on Itanium Architecture -- 64


       __INTEL_COMPILER
	      Value on IA-32 -- 910

	      Value on EM64T -- 910

	      Value on Itanium Architecture -- 910

	      Notes  --	 Defines  the compiler version. Defined as 910
	      for the Intel C++ Compiler 9.1.


       __INTEL_COMPILER_BUILD_DATE=<YYYYMMDD>

	      Notes -- Defines the compiler  build  date.   This  date
	      should  correspond  to  the date on the compiler version
	      banner.  Applies to IA-32, EM64T, and Itanium  Architec-
	      ture.


       __INTEL_CXXLIB_ICC

	      Notes  -- Is defined (default) as 1 when the -cxxlib-icc
	      option is specified during compilation.  Applies to both
	      IA-32 and Itanium Architecture, but not to EM64T.


       __INTEL_RTTI__

	      Notes  -- Is defined (default) when the -frtti option is
	      specified for the Intel Linux C++ compiler  (i.e.,  when
	      RTTI  support  is enabled).  It is disabled when the the
	      -fno-rtti option is specified for the  Intel  Linux  C++
	      compiler.	  Applies  to IA-32, EM64T, and Itanium Archi-
	      tecture.



       __INTEL_STRICT_ANSI__

	      Notes  --	  Is  defined  (default)   as	1   when   the
	      -strict_ansi option is specified for the Intel Linux C++
	      compiler	(i.e.,	strict	ANSI   conformance   dialect).
	      Applies to IA-32, EM64T, and Itanium Architecture.


       __itanium__
	      Value on IA-32 -- NA

	      Value on EM64T -- NA

	      Value on Itanium Architecture -- 1


       __linux
	      Value on IA-32 -- 1

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- 1


       __linux__
	      Value on IA-32 -- 1

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- 1


       linux  Value on IA-32 -- 1

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- 1


       __LONG_DOUBLE_SIZE__
	      Value on IA-32 -- 80

	      Value on EM64T -- 80

	      Value on Itanium Architecture -- 80


       __LONG_MAX__
	      Value on IA-32 -- NA

	      Value on EM64T -- 9223372036854775807L

	      Value on Itanium Architecture -- 9223372036854775807L


       __lp64 Value on IA-32 -- NA

	      Value on EM64T -- NA

	      Value on Itanium Architecture -- 1


       __LP64__
	      Value on IA-32 -- NA

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- 1


       _LP64  Value on IA-32 -- NA

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- 1


       _MT    Value on IA-32 -- NA

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- NA


       __MMX__
	      Value on IA-32 -- NA

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- NA


       __NO_INLINE__
	      Value on IA-32 -- 1

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- 1


       __NO_MATH_INLINES
	      Value on IA-32 -- 1

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- 1


       __NO_STRING_INLINES
	      Value on IA-32 -- 1

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- 1


       _OPENMP
	      Value on IA-32 -- 200203

	      Value on EM64T -- 200203

	      Value on Itanium Architecture -- 200203

	      Notes -- Defined when -openmp is used.


       __OPTIMIZE__
	      Value on IA-32 -- 1

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- 1

	      Notes  --	 Not  enabled  if all optimizations are turned
	      off.


       __pentium4
	      Value on IA-32 -- NA

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- NA


       __pentium4__
	      Value on IA-32 -- NA

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- NA


       __PIC__
	      Value on IA-32 -- 1

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- 1

	      Notes -- Defined when -fPIC is used.



       __pic__
	      Value on IA-32 -- 1

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- 1

	      Notes -- Defined when -fPIC is used.


       _PGO_INSTRUMENT
	      Value on IA-32 -- 1

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- 1

	      Notes  --	 Defined  when	compiled  with	 either
	      -prof_gen or -prof_genx.


       _PLACEMENT_DELETE
	      Value on IA-32 -- 1

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- 1


       __PTRDIFF_TYPE__
	      Value on IA-32 -- int

	      Value on EM64T -- long

	      Value on Itanium Architecture -- long


       __REGISTER_PREFIX__
	      Value on IA-32 -- no value

	      Value on EM64T -- no value

	      Value on Itanium Architecture -- no value


       __SIGNED_CHARS__
	      Value on IA-32 -- 1

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- 1


       __SIZE_TYPE__
	      Value on IA-32 -- unsigned

	      Value on EM64T -- unsigned long

	      Value on Itanium Architecture -- unsigned long


       __SSE__
	      Value on IA-32 -- NA

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- NA


       __SSE2__
	      Value on IA-32 -- NA

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- NA


       __unix Value on IA-32 -- 1

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- 1


       __unix__
	      Value on IA-32 -- 1

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- 1


       unix   Value on IA-32 -- 1

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- 1


       __USER_LABEL_PREFIX__
	      Value on IA-32 -- (no value)

	      Value on EM64T -- (no value)

	      Value on Itanium Architecture -- (no value)


       __WCHAR_T
	      Value on IA-32 -- 1

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- 1


       __WCHAR_TYPE__
	      Value on IA-32 -- long int

	      Value on EM64T -- int

	      Value on Itanium Architecture -- int


       __WINT_TYPE__
	      Value on IA-32 -- unsigned int

	      Value on EM64T -- unsigned int

	      Value on Itanium Architecture -- unsigned int


       __x86_64
	      Value on IA-32 -- NA

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- NA


       __x86_64__
	      Value on IA-32 -- NA

	      Value on EM64T -- 1

	      Value on Itanium Architecture -- NA



   ANSI/ISO Macros Included with the Compiler
       The  ANSI/ISO standard for C language requires that cer-
       tain predefined macros be supplied with conforming  com-
       pilers.	The  Intel  C++ Compiler supplies the following
       macros in accordance with  this	standard,  as  well  as
       additional predefined macros:



       __DATE__
	      The  date	 of  compilation as a string literal in
	      the form Mmm dd yyyy.


       __FILE__
	      A string literal representing  the  name	of  the
	      file being compiled.


       __LINE__
	      The current line number as a decimal constant.


       __STDC__
	      The  name	 __STDC__ is defined when compiling a C
	      translation unit.


       __STDC_HOSTED__
	      The __STDC_HOSTED__ macro has a value of 1.


       __TIME__
	      The time of compilation. As a string  literal  in
	      the form hh:mm:ss.

   gcc Predefined Macros
       The Intel C++ Compiler includes the following predefined
       interoperability macros also supportedby gcc:

       __GNUC__

       __GNUC_MINOR__

       __GNUC_PATCHLEVEL__

       You can specify the -no-gcc option if you  do  not  want
       these  macros  defined. If you need gcc interoperability
       (-cxxlib-gcc), do not use the -no-gcc compiler option.

   Suppress Macro Definition
       Use the -Uname option to suppress any  macro  definition
       currently  in  effect  for  the	specified  name. The -U
       option performs the same function as an	#undef	prepro-
       cessor directive.

ENVIRONMENT VARIABLES
       You  can	 customize your environment by setting the fol-
       lowing environment  variables.  You  can	 specify  paths
       where  the compiler can search for special files such as
       libraries and include files.


       DYLD_LIBRARY_PATH  (M*X32 only)
	      Specifies the  location  for  all	 Intel-provided
	      shared dynamic libraries.	 At runtime, the linker
	      will search the colon-separated list of  directo-
	      ries defined by the DYLD_LIBRARY_PATH environment
	      variable.	 A DYLD_* set of environment  variables
	      are  all used by "dyld", the dynamic link editor.
	      The full DYLD_* set is documented in  "man  dyld"
	      on the MacOS*.


       GXX_ROOT
	      Specifies	 the location of the gcc binaries.  Set
	      this  variable  only  when  the  compiler	 cannot
	      locate  the gcc binaries when using the -gcc-name
	      option.


       GXX_INCLUDE
	      Specifies the location of the gcc	 headers.   Set
	      this  variable  only  when  the  compiler	 cannot
	      locate the gcc headers when using	 the  -gcc-name
	      option.


       IA32ROOT	 (i32, 132em only)
	      Points  to the directory containing the bin, lib,
	      include and substitute header directories.


       IA64ROOT (i64 only)
	      Points to the directory containing the bin,  lib,
	      include and substitute header directories.


       ICCCFG Specifies	 the configuration file for customizing
	      compilations with the icc compiler.


       ICPCCFG
	      Specifies the configuration file for  customizing
	      compilations with the icpc compiler.


       INTEL_LICENSE_FILE
	      Specifies	 the  location	for  the  Intel license
	      file.


       LD_LIBRARY_PATH (L*X only)
	      Specifies the  location  for  all	 Intel-provided
	      libraries.  The LD_LIBRARY_PATH environment vari-
	      able contains a colon-separated list of  directo-
	      ries  in which the linker will search for library
	      (.a) files. If you  want	the  linker  to	 search
	      additional  libraries, you can add their names to
	      LD_LIBRARY_PATH,	to  the	 command  line,	 to   a
	      response	file,  or to the configuration file. In
	      each case,  the  names  of  these	 libraries  are
	      passed  to  the  linker  before  the names of the
	      Intel libraries that the driver always specifies.


       PATH   Specifies the directories the system searches for
	      binary executable files.


       TMP    Specifies the directory in which to store	 tempo-
	      rary  files.   If	 the directory specified by TMP
	      does not exist, the compiler places the temporary
	      files  in the current directory.	 If a directory
	      is not specified, the compiler  stores  temporary
	      files in /tmp.


       TMPDIR Same as TMP.


       TEMP   Same as TMP.

   GNU* Environment Variables
       The  Intel C++ Compiler supports the following GNU envi-
       ronment variables:


       C_INCLUDE_PATH
	      Specifies a list of directories to include for  C
	      compilations.


       CPATH  Specifies	 a list of directories to include for C
	      or C++ compilations.


       CPLUS_INCLUDE_PATH
	      Specifies a list of directories  to  include  for
	      C++ compilations.


       DEPENDENCIES_OUTPUT
	      If  this variable is set, its value specifies how
	      to output dependencies for Make based on the non-
	      system  header  files  processed by the compiler.
	      System header files are ignored in the dependency
	      output.


       LIBRARY_PATH
	      The  value  of  LIBRARY_PATH is a colon-separated
	      list of directories, much like PATH.


       SUNPRO_DEPENDENCIES
	      This variable is the same as DEPENDENCIES_OUTPUT,
	      except  that system header files are not ignored.

   Compilation Environment Options
       The  Intel  C++	Compiler  installation	includes  shell
       scripts	that  you can use to set environment variables.
       See the Intel C++ User's Guide for more information.



   Standard OpenMP Environment Variables
       OMP_DYNAMIC
	      Enables  (.TRUE.)	 or  disables	(.FALSE.)   the
	      dynamic adjustment of the number of threads.

	      DEFAULT: .FALSE.


       OMP_NESTED
	      Enables  (.TRUE.)	 or  disables  (.FALSE.) nested
	      parallelism.

	      DEFAULT: .FALSE.


       OMP_NUM_THREADS
	      Sets the number of threads to use	 during	 execu-
	      tion.

	      DEFAULT: Number of processors currently installed
	      in the system while generating the executable


       OMP_SCHEDULE
	      Specifies the run-time schedule  type  and  chunk
	      size.

	      DEFAULT: STATIC, no chunk size specified



   Intel Extensions to OpenMP Environment Variables
       KMP_ALL_THREADS
	      Sets  the	 maximum  number of threads that can be
	      used by any parallel region.

	      DEFAULT: max(32, 4 * OMP_NUM_THREADS, 4 *	 number
	      of processors)


       KMP_BLOCKTIME
	      Sets  the	 time  (in  milliseconds) that a thread
	      should wait after completing the execution  of  a
	      parallel	region,	 before sleeping.  See also the
	      throughput execution mode	 section  of  the  User
	      documentation,  and  the	KMP_LIBRARY environment
	      variable. Use the optional character suffix s, m,
	      h,  or  d, to specify seconds, minutes, hours, or
	      days

	      DEFAULT: 200 milliseconds


       KMP_LIBRARY
	      Selects the OpenMP run-time  library  throughput.
	      The  options  for the variable value are: serial,
	      turnaround, or throughput indicating  the	 execu-
	      tion  mode.  The	default	 value of throughput is
	      used if this variable is not specified.

	      DEFAULT: throughput (execution mode)


       KMP_MONITOR_STACKSIZE
	      Sets the number of bytes to allocate for the mon-
	      itor thread (used for book-keeping during program
	      execution). U se the optional suffix b, k, m,  g,
	      or  t,  to  specify  bytes, kilobytes, megabytes,
	      gigabytes, or terabytes.

	      DEFAULT: max(32k,	 system	 minimum  thread  stack
	      size)


       KMP_STACKSIZE
	      Sets  the	 number	 of  bytes to allocate for each
	      parallel thread to use as its private stack.  Use
	      the  optional suffix b, k, m, g, or t, to specify
	      bytes, kilobytes, megabytes, gigabytes,  or  ter-
	      abytes.

	      DEFAULT:

	      i32: 2m

	      i64: 4m


       KMP_VERSION
	      Enables (set) or disables (unset) the printing of
	      OpenMP run-time library version information  dur-
	      ing program execution.

	      DEFAULT: Disabled


   PGO Environment Variables
       The following environment values determine the directory
       in which to store dynamic information files  or	whether
       to overwrite pgopti.dpi.


       PROF_DIR
	      Specifies the directory in which dynamic informa-
	      tion files are created. This variable applies  to
	      all three phases of the profiling process.


       PROF_DUMP_INTERVAL
	      Initiate	Interval  Profile Dumping in an instru-
	      mented   application.   The    _PGOPTI_Set_Inter-
	      val_Prof_Dump(int	 interval)  function  activates
	      Interval Profile Dumping and sets the approximate
	      frequency	 at which dumps will occur.  The inter-
	      val parameter is	measured  in  milliseconds  and
	      specifies	 the  time  interval  at  which profile
	      dumping will occur. An alternative method of ini-
	      tiating  Interval	 Profile  Dumping is by setting
	      this environment variable. Set  this  environment
	      variable	to  the desired interval value prior to
	      starting the application.


       PROF_NO_CLOBBER
	      Alters the feedback compilation  phase  slightly.
	      By   default,  during  the  feedback  compilation
	      phase, the compiler  merges  the	data  from  all
	      dynamic  information  files  and	creates	 a  new
	      pgopti.dpi file, if the .dyn files are newer than
	      an existing pgopti.dpi file.

	      When  this variable is set, the compiler does not
	      overwrite the existing pgopti.dpi file.  Instead,
	      the compiler issues a warning and you must remove
	      the pgopti.dpi file if you want to use additional
	      dynamic information files.


EXAMPLES
       The  following  examples	 demonstrate  optimizing across
       multiple input files:

	 1.  icc ax.cpp

	     This command compiles the C++ file 'ax.cpp'
	     producing executable file 'a.out'. Optimizations
	     occur by default.

	 2.  icc -o abc ax.cpp bx.cpp cx.cpp

	     This command uses option -o to name the
	     executable file 'abc' and compiles 'ax.cpp',
	     'bx.cpp', and 'cx.cpp' as one program.

	 3.  icc -c ax.cpp bx.cpp cx.cpp

	     This command uses option -c to suppress
	     linking and produce individual object
	     files 'ax.o', 'bx.o', and 'cx.o'. Interprocedural
	     optimizations are prevented.

	 4.  icc -c ay.c

	     This command compiles the C file 'ay.c' and the
	     -c option suppresses linking to produce of an
	     object file 'ay.o'.

	 5.  icpc -c by.cpp

	     This command compiles the C++ file 'by.cpp' and
	     the -c option suppresses linking to produce an
	     object file 'by.o'.

	 6.  icpc ay.o by.o

	     This command links the two object files 'ay.o'
	     and 'by.o' and produces an executable
	     file 'a.out'.

	 7.  icc -c -O1 sub2.cpp
	     icc -c -O1 sub3.cpp
	     icc -o main.exe -g -O0 main.cpp sub2.o sub3.o

	     The first two commands show incremental
	     compilation with minimal optimization.
	     The first command generates an object
	     file of 'sub2'; the second generates
	     an object file of 'sub3'.

	     The last command uses option -O0 to
	     disable all compiler default optimizations.
	     It uses option -g to generate symbolic
	     debugging information and line numbers in
	     the object code, which can be used by a
	     source-level debugger.


TECHNICAL SUPPORT
       The Intel C++ Compiler product web  site	 offers	 timely
       and comprehensive product information, including product
       features, white papers, and technical articles. For  the
       latest	    information,       visit	  http://devel-
       oper.intel.com/software/products/.

       Intel also provides a support web site that  contains  a
       rich repository of self help information, including get-
       ting started tips, known product issues, product errata,
       license information, user forums, and more.

       Registering  your  product  entitles  you to one year of
       technical support and product updates through Intel Pre-
       mier  Support.  Intel  Premier Support is an interactive
       issue management and communication web site that enables
       you  to	submit	issues	and review their status, and to
       download product updates anytime of the day.

       To register your product, contact Intel, or seek product
       support,	   please   visit:   http://www.intel.com/soft-
       ware/products/support.

SEE ALSO
       The Intel C++ Compiler User's Guide  is	the  definitive
       source  for  detailed information on using the Intel C++
       Compiler, including a complete listing of  all  compiler
       options, and much more.

       In addition, see these other documents:

       ·   Product Release Notes

       ·   Intel Itanium Assembler User's Guide

       ·   Intel  Itanium Architecture Assembly Language Refer-
	   ence Guide

       You     can     access	  these	    documents	   from
       <install-dir>/doc/Doc_Index.htm	or  from  http://devel-
       oper.intel.com/software/products/compilers/ .

COPYRIGHT INFORMATION
       Copyright (C) 2002 - 2006, Intel Corporation. All rights
       reserved.

       *  Other	 brands	 and  names  are  the property of their
       respective owners.


SYNOPSIS
       ifort [ options ] file1 [ file2 ]...

       options
	      Are zero or more compiler options.

       fileN  Is  a  Fortran  source file, assembly file, object file, object
	      library, or other linkable file.

DESCRIPTION
       The ifort command  invokes  the	Intel(R)  Fortran  Compiler  that  is
       designed	 to  preprocess, compile, assemble, and link Fortran programs
       on  Intel(R)  IA-32-based  systems,  Intel  IA-32-based	systems	 with
       Intel(R)	 Extended  Memory 64 Technology (Intel(R) EM64T), or Intel(R)
       Itanium(R)-based systems.  For more information on this compiler,  see
       the Intel(R) Fortran Building Applications guide.

       The  ifort  command interprets input files by their filename suffix as
       follows:

       ·      Filenames with the suffix .f90  are  interpreted	as  free-form
	      Fortran 95/90 source files.

       ·      Filenames	 with the suffix .f, .for, or .ftn are interpreted as
	      fixed-form Fortran source files.

       ·      Filenames with the suffix .fpp, .F, .FOR,	 .FTN,	or  .FPP  are
	      interpreted  as  fixed-form Fortran source files, which must be
	      preprocessed by the fpp preprocessor before being compiled.

       ·      Filenames with the suffix .F90  are  interpreted	as  free-form
	      Fortran  source  files,  which  must be preprocessed by the fpp
	      preprocessor before being compiled.

       ·      Filenames with the suffix .s are interpreted as assembler files
	      and are passed to the assembler.

       ·      Filenames with the suffix .S are interpreted as assembler files
	      and are preprocessed  by	the  fpp  preprocessor	before	being
	      passed to the assembler.

       ·      Filenames	  with	the  suffix  .a	 are  interpreted  as  object
	      libraries and are passed to ld(1).

       ·      Filenames with the suffix .o are interpreted as compiled object
	      files and are passed to ld(1).

       You  can	 override some options specified on the command line by using
       the OPTIONS statement in your  Fortran  source  program.	  An  OPTIONS
       statement affects only the program unit in which the statement occurs.
       For more information, see the Intel(R) Fortran Language Reference.

       Most language features are available on all supported  systems.	 How-
       ever,  some language features are only available on certain processors
       or a certain operating system.  Such  language  features	 are  labeled
       within parentheses as follows:

       i32    Means the feature is available on IA-32-based systems.

       i32em  Means  the  feature  is  available  on IA-32-based systems with
	      Intel(R) Extended Memory 64 Technology (Intel(R) EM64T).

       i64    Means the feature is available on Itanium(R)-based systems.

       L*X    Means the feature is available on Linux* systems.

       M*X32  Means the feature is available on Intel(R)-based	systems	 run-
	      ning Mac OS*.

       If a labeled feature is only available on one processor or one operat-
       ing system, you will see the word "only"	 within	 the  label.   If  no
       label appears, the language feature is available on all supported sys-
       tems.

   Performance Enhancing Options
       The following command line options can be used to  increase  the	 run-
       time performance of code generated by the Intel Fortran compiler:

       ·  On  IA-32-based  systems  (including	those  with  Intel(R) EM64T):
	  -ax<p>, -ftz, -ip,  -ipo,  -O[n],  -openmp,  -parallel,  -prof-use,
	  -tpp<n>, -x<p>.

       ·  On  Itanium(R)-based	systems:  -fnsplit,  -ftz,  -ip, -ipo, -O[n],
	  -openmp, -parallel, -prof-use, -tpp<n>.

   Configuration and Indirect Files
       Command options to be used whenever the compiler is invoked can be put
       into a system configuration file named ifort.cfg, which resides in the
       same area as the compiler.  The text in	this  file  is	processed  by
       ifort before the text on the command line.  To use a personal configu-
       ration file, set the environment variable IFORTCFG  to  point  to  the
       path and filename to be used.

       An  indirect file contains text that can be included on the ifort com-
       mand line.  Precede the filename with an at symbol (@) on the  command
       line  at the point where the options are to be inserted.	 For example,
       assume  file  double_size  contains  options  "-i8   -r8"   and	 file
       my_includes  contains  options  "-I/bld/inc  -I/bld/headers".  In this
       case, the following command line:

	   ifort -O3 @double_size myprog.f90 @my_includes

       passes "-O3 -i8 -r8 myprog.f90 -I/bld/inc -I/bld/headers" to the	 com-
       piler.

OPTIONS
       Some  compiler  options	have  the  form -name keyword.	-name must be
       spelled out completely, but keyword can be abbreviated to its shortest
       unique  prefix  (4  characters are recommended).	 For example, -assume
       buffered_io can be specified as -assume buff.

       For information on linker and load-time options, see ld(1).

       For some options, you can (or must)  specify  additional	 information,
       such  as	 a keyword, a directory, a file name, a number, and so forth.
       When this information is required, it is shown in angle brackets (<>);
       when  it	 is optional, it is shown in square brackets ([]).  For exam-
       ple, in option  -align  <keyword>,  keyword  is	required;  in  option
       -unroll[n], n (a number) is optional.

       The ifort command takes the following options:

       -1     Tells  the  compiler  to	execute	 at least one iteration of DO
	      loops (same as the -onetrip option).  This option has the	 same
	      effect as -f66.

       -66    Enforces FORTRAN 66 semantics (same as the -f66 option).

       -72    Specifies	 that  the  statement field of each fixed-form source
	      line ends at column 72.  This is the default.

       -80    Specifies that the statement field of  each  fixed-form  source
	      line ends at column 80.

       -132   Specifies	 that  the  statement field of each fixed-form source
	      line ends at column 132 (same as the -extend_source option).

       -align [keyword]
	      Tells the compiler how to align certain data items. The follow-
	      ing are -align options:

	      · -align all

		Tells  the compiler to add padding bytes whenever possible to
		obtain the natural alignment of data items in common  blocks,
		derived	 types,	 and  record  structures.   Specifies  -align
		nocommons, -align  dcommons,  -align  records,	-align	nose-
		quence.	  This	is the same as specifying -align with no key-
		word.

	      · -align commons

		Aligns all common block entities on natural boundaries up  to
		4  bytes,  by  adding padding bytes as needed. The default is
		-align nocommons, which adds no padding to common blocks.

	      · -align dcommons

		Aligns all common block entities on natural boundaries up  to
		8  bytes,  by  adding padding bytes as needed. If you specify
		any -std option or the -stand f90 or -stand f95 option,	 this
		option	is  ignored.  The default is -align nodcommons, which
		adds no padding to common blocks.

	      · -align none

		Tells the compiler not to add padding bytes anywhere in	 com-
		mon  blocks  or	 structures.   This is the same as specifying
		-noalign.  The default is to add no padding to common  blocks
		but to add padding to structures.

	      · -align norecords

		Aligns	components  of derived types and fields within record
		structures on arbitrary byte boundaries with no padding.  The
		default is -align records.

	      · -align rec<n>byte

		Aligns	fields	of records and components of derived types on
		the smaller of the size boundary specified  or	the  boundary
		that  will  naturally  align them.  <n> can be 1, 2, 4, 8, or
		16.

	      · -align sequence

		Aligns	components  of	a  derived  type  declared  with  the
		SEQUENCE  statement  (sequenced	 components) according to the
		alignment rules that  are  currently  in  use.	 The  default
		alignment  rules are to align unsequenced components on natu-
		ral boundaries.	 The  default  is  -align  nosequence,	which
		requests  that	sequenced  components be packed regardless of
		any other alignment rules.  If you specify any -std option or
		the  -stand f90 or -stand f95 option, this option is ignored.

	      The defaults for -align are nocommons, nodcommons, records, and
	      nosequence.

       -allow nofpp_comments
	      Tells  the  compiler to disallow Fortran-style end-of-line com-
	      ments on preprocessor lines. This means comment indicators have
	      no special meaning.

	      This  option  can	 be  useful  when  you want to have a Fortran
	      directive as a define value.  The default	 is  -allow  fpp_com-
	      ments, which tells the compiler to recognize Fortran-style end-
	      of-line comments on preprocessor lines.

       -arch <keyword> (i32 and i32em)
	      Determines the version of the architecture for which  the	 com-
	      piler generates instructions. The following are -arch options:

	      · -arch pn1

		Optimizes for the Intel(R) Pentium(R) processor.

	      · -arch pn2

		Optimizes  for	the  Intel(R)  Pentium(R)  Pro, Intel(R) Pen-
		tium(R) II, and Intel(R) Pentium(R) III processors.

	      · -arch pn3

		Optimizes for the  Intel(R)  Pentium(R)	 Pro,  Intel(R)	 Pen-
		tium(R)	 II, and Intel(R) Pentium(R) III processors.  This is
		the same as specifying the -arch pn2 option.

	      · -arch pn4

		Optimizes for the Intel(R) Pentium(R) 4	 processor.  This  is
		the default.

	      · -arch SSE

		Optimizes  for Intel Pentium 4 processors with Streaming SIMD
		Extensions (SSE).

	      · -arch SSE2

		Optimizes for Intel Pentium 4 processors with Streaming	 SIMD
		Extensions 2 (SSE2).

	      The  only options available on Intel(R) EM64T systems are -arch
	      pn1, -arch pn2, -arch pn3, and -arch pn4.

       -assume <keyword>
	      Tells the compiler to make certain assumptions.  The  following
	      are -assume options:

	      · -assume bscc

		Tells  the compiler to treat the backslash character (\) as a
		C-style control (escape) character syntax in character liter-
		als.  The default is -assume nobscc, which tells the compiler
		to treat  the  backslash  character  as	 a  normal  character
		instead of a control character in character literals.

	      · -assume buffered_io

		Tells  the  compiler  to accumulate records in a buffer. This
		sets the default  for  opening	sequential  output  files  to
		BUFFERED='YES',	 which	also occurs if the FORT_BUFFERED run-
		time  environment  variable  is	 specified.  The  default  is
		-assume	 nobuffered_io, which means that data will be immedi-
		ately written to disk.

	      · -assume byterecl

		Specifies that the units for the OPEN statement	 RECL  speci-
		fier  (record length) value are in bytes for unformatted data
		files, not longwords (four-byte units). For formatted  files,
		the  RECL  unit	 is  always  in bytes. The default is -assume
		nobyterecl.

		INQUIRE returns RECL in	 bytes	if  the	 unit  is  not	open.
		INQUIRE	 returns  RECL	in  longwords if the file is open for
		unformatted data (and -assume  byterecl	 is  not  specified);
		otherwise, it returns RECL in bytes.

	      · -assume cc_omp

		Enables conditional compilation as defined by the OpenMP For-
		tran API.  That is, when !$space appears in free-form  source
		or  c$spaces  appears  in  column 1 of fixed-form source, the
		rest of the line is accepted as a Fortran line.	  If  -openmp
		is  specified,	the default is -assume cc_omp; otherwise, the
		default is -assume nocc_omp.

	      · -assume dummy_aliases

		Tells the compiler that dummy (formal)	arguments  to  proce-
		dures  share  memory  locations	 with  other  dummy arguments
		(aliases) or with variables shared through  use	 association,
		host  association,  or common block use. These program seman-
		tics slow performance and do not strictly  obey	 the  Fortran
		95/90 Standards.  The default is -assume nodummy_aliases.

	      · -assume minus0

		Tells  the  compiler to use Fortran 95 standard semantics for
		the treatment of the IEEE* floating value -0.0	in  the	 SIGN
		intrinsic,  which  distinguishes  the difference between -0.0
		and +0.0, and to write a value of -0.0 with a  negative	 sign
		on formatted output.

		The  default is -assume nominus0, which tells the compiler to
		use Fortran 90/77 standard semantics in the SIGN intrinsic to
		treat  -0.0 and +0.0 as 0.0, and to write a value of 0.0 with
		no sign on formatted output.

	      · -assume none

		Disables all the -assume options.

	      · -assume noprotect_constants

		Tells the compiler to pass a copy of a constant actual	argu-
		ment.  This  copy can be modified by the called routine, even
		though the Fortran standard prohibits such modification.  The
		calling	 routine  does	not  see any modification to the con-
		stant. The default is -assume protect_constants, which passes
		the  constant  actual  argument.   Any	attempt	 to modify it
		results in an error.

	      · -assume nosource_include

		Tells the compiler to search the default directory for module
		files  specified by a USE statement or source files specified
		by   an	  INCLUDE   statement.	 The   default	 is   -assume
		source_include, which tells the compiler to search the direc-
		tory the source file is in for any INCLUDE files or  modules.

	      · -assume nounderscore

		Tells  the  compiler not to append an underscore character to
		external user-defined names: the  main	program	 name,	named
		common	blocks,	 BLOCK DATA blocks, global data names in MOD-
		ULEs, and names implicitly or explicitly  declared  EXTERNAL.
		The  name  of a blank (unnamed) common block remains _BLNK__,
		and Fortran intrinsic names are not affected.  The default is
		-assume underscore.

	      · -assume 2underscores

		Tells  the  compiler  to  append two underscore characters to
		external user-defined names that contain an  embedded  under-
		score: the main program name, named common blocks, BLOCK DATA
		blocks, global data names in MODULEs, and names implicitly or
		explicitly  declared  EXTERNAL. The name of a blank (unnamed)
		common block remains _BLNK__, and Fortran intrinsic names are
		not affected.  The default is -assume no2underscores.

		This  option  does not affect external names that do not con-
		tain an embedded underscore.  By default, the  compiler	 only
		appends one underscore to those names.

	      · -assume writeable-strings

		Tells  the compiler to put character constants into non-read-
		only memory. The default is -assume nowriteable-strings.

       -auto  Causes all local, non-SAVEd variables to be  allocated  on  the
	      run-time	stack (same as -automatic or -nosave). The default is
	      -auto-scalar.  However, if you specify -recursive	 or  -openmp,
	      the default is -automatic.

       -auto-scalar
	      Causes  allocation of scalar variables of intrinsic types INTE-
	      GER, REAL, COMPLEX, and LOGICAL to the run-time stack. This  is
	      the default. However, if you specify -recursive or -openmp, the
	      default is -automatic.

	      You cannot  specify  -save,  -auto,  or  -automatic  with	 this
	      option.

       -autodouble
	      Makes  default  real  and	 complex variables 8 bytes long. REAL
	      declarations are treated as DOUBLE PRECISION (REAL(KIND=8)) and
	      COMPLEX  declarations  are  treated  as  DOUBLE  COMPLEX	(COM-
	      PLEX(KIND=8)). This option is the same as specifying -real_size
	      64 or -r8.

       -automatic
	      Causes  all  local,  non-SAVEd variables to be allocated on the
	      run-time stack (same as  -auto  or  -nosave).  The  default  is
	      -auto-scalar.   However,	if you specify -recursive or -openmp,
	      the default is -automatic.

       -ax<p> (i32 and i32em)
	      Generates processor-specific code if  there  is  a  performance
	      benefit,	 while	 also  generating  generic  IA-32  code.  The
	      characters K, W, N, B, and P denote the processor types  (<p>).
	      The following are -ax options:

	      · -axK

		Generates  code for Intel Pentium III processors and compati-
		ble Intel processors.

	      · -axW

		Generates code for Intel Pentium 4 processors and  compatible
		Intel processors.

	      · -axN

		Generates  code for Intel Pentium 4 processors and compatible
		Intel processors.  Also enables new optimizations in addition
		to Intel processor-specific optimizations.

	      · -axB

		Generates  code for Intel Pentium M processors and compatible
		Intel processors.  Also enables new optimizations in addition
		to Intel processor-specific optimizations.

	      · -axP

		Generates code for Intel(R) Core(TM) Duo processors, Intel(R)
		Core(TM) Solo processors, Intel(R)  Pentium(R)	4  processors
		with  Streaming	 SIMD Extensions 3, and compatible Intel pro-
		cessors with Streaming SIMD Extensions 3.  This	 option	 also
		enables new optimizations in addition to Intel processor-spe-
		cific optimizations.

	      The only options available on Intel(R) EM64T systems  are	 -axW
	      and  -axP.   On  Mac OS systems, the only valid option is -axP.
	      On these systems, it is equivalent to -xP, which is the default
	      and is always set.

	      You  can	use more than one of the -ax options by combining the
	      characters that denote the processor type.   For	example,  you
	      can  specify  -axNB  to generate code for Intel(R) Pentium(R) 4
	      processors and Intel Pentium M processors.

	      If you specify both the -ax and -x options,  the	generic	 code
	      will  only  execute on processors compatible with the processor
	      type specified by the -x option.

       -B<dir>
	      Specifies a directory that can be used to find  include  files,
	      libraries,  and  executables. The compiler uses <dir> as a pre-
	      fix.

	      For include files, the <dir> is converted to  -I/<dir>/include.
	      This  command  is	 added to the front of the includes passed to
	      the preprocessor.

	      For libraries, the <dir> is converted to -L/<dir>.   This	 com-
	      mand is added to the front of the standard -L inclusions before
	      system libraries are added.

	      For executables, if <dir> contains the name of a tool, such  as
	      ld  or  as,  the compiler will use it instead of those found in
	      the default directories.

	      The compiler looks for include  files  in	 <dir>/include	while
	      library files are looked for in <dir>.

       -Bdynamic  (L*X only)
	      Enables  dynamic linking of libraries at run time. Smaller exe-
	      cutables are created than with static linking.

       -Bstatic	 (L*X only)
	      Enables static linking of a user-created library.

       -c     Prevents linking.	 It causes the	compiler  to  compile  to  an
	      object (.o) file only.

       -C     Enables  all  checks on run-time conditions (same as the -check
	      all option).

       -CB    Performs run-time checks on whether array	 subscript  and	 sub-
	      string  references  are  within  declared	 bounds	 (same as the
	      -check bounds option).

       -ccdefault <keyword>
	      Specifies the type of carriage control used when a file is dis-
	      played  at a terminal screen (units 6 and *). The following are
	      -ccdefault options:

	      · -ccdefault default

		Specifies that the compiler is to use the  default  carriage-
		control setting. This is the default.

		The  default  setting  can be affected by the -vms option: if
		"-vms -ccdefault  default"  is	specified,  carriage  control
		defaults to FORTRAN if the file is formatted, and the unit is
		connected to a terminal; if "-novms  -ccdefault	 default"  is
		specified, carriage control defaults to LIST.

	      · -ccdefault fortran

		Specifies  normal Fortran interpretation of the first charac-
		ter.

	      · -ccdefault list

		Specifies one line feed between records.

	      · -ccdefault none

		Specifies no carriage control processing.

       -check [keyword]
	      Checks for certain conditions at run time.  The  following  are
	      -check options:

	      · -check all

		Enables	 all  -check options.  This is the same as specifying
		-check with no keyword.

	      · -check arg_temp_created

		Generates code to check if actual arguments are	 copied	 into
		temporary storage before routine calls.	 If a copy is made at
		run time, an informative message is displayed.	 The  default
		is -check noarg_temp_created.

	      · -check bounds

		Performs  run-time checks on whether array subscript and sub-
		string references are within declared bounds. The default  is
		-check nobounds.

	      · -check format

		Issues	the run-time FORVARMIS fatal error when the data type
		of an item being formatted for output does not match the for-
		mat descriptor being used (for example, a REAL*4 item format-
		ted with an I edit descriptor).	 If -vms  is  specified,  the
		default	 is  -check  format; otherwise, the default is -check
		noformat.

		With -check noformat, the data item is	formatted  using  the
		specified  descriptor  unless  the  length of the item cannot
		accommodate the descriptor (for example, it is still an error
		to pass an INTEGER*2 item to an E edit descriptor).

	      · -check none

		Disables  all  -check options.	This is the default.  This is
		the same as specifying -nocheck.

	      · -check output_conversion

		Issues the run-time OUTCONERR continuable error message	 when
		a  data	 item  is  too	large  to  fit in a designated format
		descriptor field.  The field is filled with asterisks (*) and
		execution  continues.	If  -vms is specified, the default is
		-check output_conversion; otherwise, the  default  is  -check
		nooutput_conversion.

	      · -check uninit

		Generates  code	 to  check for uninitialized variables.	 If a
		variable is read before written,  a  run-time  error  routine
		will be called. The default is -check nounit.

	      To get more detailed location information about where the error
	      occurred, use -traceback.

       -cm    Suppresses all messages about  questionable  programming	prac-
	      tices (same as the -warn nousage option).

       -common-args
	      Tells  the compiler that dummy (formal) arguments to procedures
	      share memory locations with other dummy arguments or with vari-
	      ables shared through use association, host association, or com-
	      mon  block  use.	 This  is  the	same  as  specifying  -assume
	      dummy_aliases.

       -complex-limited-range
	      Enables  the  use	 of basic algebraic expansions of some arith-
	      metic operations involving data of type COMPLEX. This can cause
	      some  performance	 improvements  in  programs that use a lot of
	      COMPLEX arithmetic, but values at the extremes of the  exponent
	      range  may  not compute correctly.  The default is -no-complex-
	      limited-range, which disables this option.

       -convert <keyword>
	      Specifies the format for unformatted files  containing  numeric
	      data. The following are -convert options:

	      · -convert big_endian

		Specifies  that	 the format will be big endian for INTEGER*1,
		INTEGER*2, INTEGER*4,  or  INTEGER*8,  and  big	 endian	 IEEE
		floating-point	for  REAL*4, REAL*8, REAL*16, COMPLEX*8, COM-
		PLEX*16, or COMPLEX*32.

	      · -convert cray

		Specifies that the format will be big endian  for  INTEGER*1,
		INTEGER*2,  INTEGER*4, or INTEGER*8, and CRAY* floating-point
		for REAL*8 or COMPLEX*16.

	      · -convert fdx

		Specifies that the format will be  little  endian  for	INTE-
		GER*1,	INTEGER*2, INTEGER*4, or INTEGER*8, and VAX processor
		floating-point format F_floating  for  REAL*4  or  COMPLEX*8,
		D_floating  for	 REAL*8	 or  COMPLEX*16,  and  X_floating for
		REAL*16 or COMPLEX*32.

	      · -convert fgx

		Specifies that the format will be  little  endian  for	INTE-
		GER*1,	INTEGER*2, INTEGER*4, or INTEGER*8, and VAX processor
		floating-point format F_floating  for  REAL*4  or  COMPLEX*8,
		G_floating  for	 REAL*8	 or  COMPLEX*16,  and  X_floating for
		REAL*16 or COMPLEX*32.

	      · -convert ibm

		Specifies that the format will be big endian  for  INTEGER*1,
		INTEGER*2,  or	INTEGER*4, and IBM* System\370 floating-point
		format for REAL*4 or COMPLEX*8 (IBM short 4)  and  REAL*8  or
		COMPLEX*16 (IBM long 8).

	      · -convert little_endian

		Specifies  that	 the  format  will be little endian for INTE-
		GER*1, INTEGER*2, INTEGER*4, or INTEGER*8, and little  endian
		IEEE  floating-point  for REAL*4, REAL*8, REAL*16, COMPLEX*8,
		COMPLEX*16, or COMPLEX*32.

	      · -convert native

		Specifies that unformatted data should not be converted. This
		is the default.

	      · -convert vaxd

		Specifies  that	 the  format  will be little endian for INTE-
		GER*1, INTEGER*2, INTEGER*4, or INTEGER*8, and VAX  processor
		floating-point	format	F_floating  for	 REAL*4 or COMPLEX*8,
		D_floating for	REAL*8	or  COMPLEX*16,	 and  H_floating  for
		REAL*16 or COMPLEX*32.

	      · -convert vaxg

		Specifies  that	 the  format  will be little endian for INTE-
		GER*1, INTEGER*2, INTEGER*4, or INTEGER*8, and VAX  processor
		floating-point	format	F_floating  for	 REAL*4 or COMPLEX*8,
		G_floating for	REAL*8	or  COMPLEX*16,	 and  H_floating  for
		REAL*16 or COMPLEX*32.

       -cpp   Runs the Fortran preprocessor on source files prior to compila-
	      tion (same as the -fpp option).

       -cxxlib[-<mode>]
	      Tells  the  compiler  to	link  using  certain   C++   run-time
	      libraries.  The following are -cxxlib <mode>s:

	      · gcc[=<dir>]

		Tells  the  compiler to link using the C++ run-time libraries
		provided with the gcc compiler.	 <dir> is  an  optional	 top-
		level location for the gcc binaries and libraries.

	      · icc

		Tells  the  compiler to link using the C++ run-time libraries
		provided by Intel.  -cxxlib-icc is only	 available  on	IA-32
		and Itanium(R)-based Linux systems.

	      If you specify the option with no <mode>, the compiler uses the
	      default C++ libraries.

	      The default on Mac OS systems is -cxxlib-gcc.  The  default  on
	      Linux  systems  is  -no-cxxlib, which tells the compiler to use
	      the default run-time libraries and not link to  any  additional
	      C++  run-time  libraries.	 This  is the same as specifying -no-
	      cpprt.

       -D<name>[=<value>]
	      Specifies <name> as a definition (symbol) to  use	 with  condi-
	      tional  compilation  directives  or  the	Fortran	 preprocessor
	      (-fpp).  <value> can be an integer or it	can  be	 a  character
	      string	delimited    by	   double    quotes;   for   example,
	      -Dname="string".	 If  <value>  is  not  specified,  <name>  is
	      defined as "1".

       -DD    Compiles debug statements (indicated by D in column 1); this is
	      the same as specifying -d_lines.

       -d_lines
	      Compiles debug statements (indicated by D in column 1); this is
	      the same as specifying -DD.  The default is -nod_lines.

       -debug [keyword] (L*X only)
	      Specifies	 settings  that enhance debugging.  The following are
	      -debug options:

	      · -debug inline_debug_info

		Produces enhanced debug information  for  inlined  code.   It
		provides  more	information  to	 debuggers  for function call
		traceback. The default is -debug noinline_debug_info.

	      · -debug semantic_stepping

		Produces enhanced debug information  useful  for  breakpoints
		and  stepping.	It tells the debugger to stop only at machine
		instructions that achieve the final effect of a source state-
		ment.  For  example,  in the case of an assignment statement,
		this might be a store instruction that assigns a value	to  a
		program	 variable;  for	 a  function  call,  it	 might be the
		machine instruction that executes the  call.  Other  instruc-
		tions generated for those source statements are not displayed
		during stepping. The default is -debug nosemantic_stepping.

	      · -debug variable_locations

		Produces enhanced debug information useful in finding  scalar
		local  variables.  It uses a feature of the Dwarf object mod-
		ule known as "location lists". This feature allows  the	 run-
		time locations of local scalar variables to be specified more
		accurately; that is, whether, at  a  given  position  in  the
		code, a variable value is found in memory or a machine regis-
		ter.  The default is -debug novariable_locations.

	      · -debug extended

		Sets the debug options semantic_stepping  and  variable_loca-
		tions.

       -debug-parameters [keyword]
	      Tells the compiler to generate debug information for PARAMETERs
	      used  in	a  program.   The  following  are   -debug-parameters
	      options:

	      · -debug-parameters none

		Generates no debug information for any PARAMETERs used in the
		program. This is the default; it is the	 same  as  specifying
		-nodebug-parameters.

	      · -debug-parameters used

		Generates  debug  information  for  only PARAMETERs that have
		actually been referenced in the program. This is the same  as
		specifying -debug-parameters with no keyword.

	      · -debug-parameters all

		Generates debug information for all PARAMETERs defined in the
		program.

	      Note that if a .mod file contains PARAMETERs, debug information
	      is  only	generated  for the PARAMETERs that have actually been
	      referenced in the program, even if you  specify  -debug-parame-
	      ters all.

       -double_size <size>
	      Defines  the  default KIND for DOUBLE PRECISION and DOUBLE COM-
	      PLEX declarations, constants, functions, and intrinsics. <size>
	      can  be  64  (KIND=8)  or	 128 (KIND=16).	 The default is -dou-
	      ble_size 64.

       -dryrun
	      Tells the driver that tool commands should  be  shown  but  not
	      executed.	 See also -v.

       -dynamic-linker<file> (L*X only)
	      Specifies a dynamic linker (<file>) other than the default.

       -dynamiclib (M*X32 only)
	      Invokes  the  libtool  command  to  generate dynamic libraries.
	      When passed this option, GCC on Mac OS uses the libtool command
	      to  produce  a  dynamic  library	instead of an executable when
	      linking.

	      To build static libraries,  you  should  use  "libtool  -static
	      <objects>".

       -dyncom "common1,common2,common3"
	      Enables  dynamic	allocation  of the specified COMMON blocks at
	      run time.	 The quotes must be present.

       -E     Causes the Fortran preprocessor to send output to stdout.

       -e90   Causes the compiler to issue errors  instead  of	warnings  for
	      nonstandard  Fortran  90	(same as the -warn stderrors option).
	      No such errors or warnings are issued by default.

       -e95   Causes the compiler to issue errors  instead  of	warnings  for
	      nonstandard  Fortran  (same as the -warn stderrors option).  No
	      such errors or warnings are issued by default.

       -EP    Causes the Fortran preprocessor to send output to stdout, omit-
	      ting #line directives.

       -error_limit <n>
	      Specifies the maximum number of error-level or fatal-level com-
	      piler errors allowed for a file specified on the command	line.
	      If  you specify -noerror_limit, there is no limit to the number
	      of errors that are allowed.  The default is -error_limit 30  (a
	      maximum  of  30 error-level and fatal-level messages before the
	      compiler stops the compilation).

       -extend_source [size]
	      Specifies the column number to use to end the  statement	field
	      in  fixed-form source files. [size] can be 72, 80, or 132.  The
	      default behavior is -noextend_source, which implies column  72.
	      If  you  do  not	specify	 size,	it  is the same as specifying
	      -extend_source 132.

       -F     Causes the Fortran preprocessor to send output to a file	(same
	      as  the  -preprocess_only and -P options). Note that the source
	      file is not compiled.

       -f66   Tells the compiler to apply FORTRAN 66 semantics: the execution
	      of  at  least  one  iteration  of	 DO loops, different EXTERNAL
	      statement syntax and semantics, and different behavior  of  the
	      BLANK=  and  STATUS= specifiers on the OPEN statement.  This is
	      the same as specifying the -66 option.  By  default,  the	 com-
	      piler applies Fortran 95 semantics.

       -f77rtl
	      Tells  the  compiler to use the run-time behavior of Fortran 77
	      instead of Intel(R) Fortran.  This affects some INQUIRE  speci-
	      fiers  when  the unit is not connected to a file, PAD= defaults
	      to 'NO' for formatted input, NAMELIST input format  is  differ-
	      ent,  and NAMELIST and list-directed input of character strings
	      must be delimited by apostrophes	or  quotes.  The  default  is
	      -nof77rtl.

       -fast  Maximizes speed across the entire program.  On Itanium(R)-based
	      systems, this option sets options -ipo, -O3, and	-static.   On
	      IA-32  and  Intel(R)  EM64T  systems,  this option sets options
	      -ipo, -O3, -no-prec-div, -static, and -xP.

	      Note that programs compiled with the  -xP	 option	 will  detect
	      non-compatible  processors and generate an error message during
	      execution.

       -fcode-asm
	      Produces an assembly file with optional  machine	code  annota-
	      tions. To use this option, you must also specify -S.

       -fexceptions
	      Enables  C++  exception  handling	 table generation, preventing
	      Fortran routines in mixed-language applications from  interfer-
	      ing  with	 exception handling between C++ routines. The default
	      is -fno-exceptions, which disables C++ exception handling table
	      generation,  resulting  in  smaller  code.  When this option is
	      used, any use of C++ exception handling constructs (such as try
	      blocks  and  throw statements) when a Fortran routine is in the
	      call chain will produce an error.

       -FI    Specifies source files are in fixed format (same as the  -fixed
	      option).

       -finline-limit=<n>
	      Lets  you specify the maximum size of a function to be inlined.
	      n must be an integer greater than or equal to zero. It  is  the
	      maximum  number of lines the function can have to be considered
	      for inlining.

	      The compiler inlines smaller functions, but  this	 option	 lets
	      you  inline  large functions.  For example, to indicate a large
	      function, you could specify 100 or 1000 for n.

       -fixed Specifies source files are in fixed format. By default,  source
	      file format is determined by the file suffix.

       -fltconsistency
	      Enables  improved	 floating-point	 consistency.  Floating-point
	      operations are not reordered and the result of  each  floating-
	      point  operation	is  stored in the target variable rather than
	      being kept in the floating-point processor for use in a  subse-
	      quent  calculation.   This  is  the  same	 as specifying -mp or
	      -mieee-fp.

	      The default, -nofltconsistency, provides	better	accuracy  and
	      run-time	performance  at the expense of less consistent float-
	      ing-point results.

       -fmath-errno
	      Tells the compiler to assume that the program tests errno after
	      calls  to	 math library functions.  This restricts optimization
	      because it causes the compiler to treat most math functions  as
	      having side effects.

	      The default, -fno-math-errno, tells the compiler to assume that
	      the program does not test errno after  calls  to	math  library
	      functions.   This	 frequently  allows  the compiler to generate
	      faster code.  Floating-point code that relies  on	 IEEE  excep-
	      tions  instead  of  errno	 to detect errors can safely use this
	      option to improve performance.

       -fminshared
	      Specifies that a compilation unit is a component of a main pro-
	      gram and will not be linked as part of a shareable object.

       -fno-alias
	      Specifies	 that  aliasing should not be assumed in the program.
	      The default is -falias.

       -fno-fnalias
	      Specifies that aliasing should not be assumed within functions,
	      but  should be assumed across calls.  The default is -ffnalias.

       -fno-inline-functions
	      Disables certain interprocedural optimizations for single	 file
	      compilation.   The  default  is -finline-functions, which tells
	      the compiler to perform inline function expansion for calls  to
	      functions defined within the current source file.

       -fno-omit-frame-pointer (i32 and i32em)
	      Disables	use of EBP as a general purpose register so it can be
	      used as a stack frame pointer. This is the same  as  specifying
	      -fp.  The default, -fomit-frame-pointer, enables EBP to be used
	      as a general purpose register.

       -fnsplit (i64 only; L*X only)
	      Enables function splitting if -prof-use is also specified. Oth-
	      erwise,  the  default is -no-fnsplit, which disables the split-
	      ting within a routine but leaves function grouping enabled.

       -fp (i32 and i32em)
	      Disables use of EBP as a general purpose register so it can  be
	      used  as	a  stack frame pointer.	 By default, EBP is used as a
	      general purpose  register.  This	is  the	 same  as  specifying
	      -fno-omit-frame-pointer.

       -fpconstant
	      Tells  the compiler to extend the precision to double precision
	      for single-precision  constants  assigned	 to  double-precision
	      variables.  The default is -nofpconstant.

       -fpe<n>
	      Specifies	 floating-point	 exception handling for the main pro-
	      gram at run-time.	 You can specify one of the following  values
	      for <n>:

	      0 - Floating-point invalid, divide-by-zero, and overflow excep-
	      tions are enabled. If any such exceptions occur,	execution  is
	      aborted.	Underflow  results  will  be  set  to zero unless you
	      explicitly  specify  -no-ftz.   On  Itanium(R)-based   systems,
	      underflow behavior is equivalent to specifying option -ftz.  On
	      IA-32 or Intel(R) EM64T systems,	underflow  results  from  SSE
	      instructions, as well as x87 instructions, will be set to zero.
	      By contrast, option -ftz only sets  SSE  underflow  results  to
	      zero.

	      To get more detailed location information about where the error
	      occurred, use -traceback.

	      1 -  All	floating-point	exceptions  are	 disabled.  Underflow
	      results  will be set to zero unless you explicitly specify -no-
	      ftz.

	      3 - All floating-point exceptions are disabled.  Floating-point
	      underflow	 is gradual, unless you explicitly specify a compiler
	      option that enables flush-to-zero.  This	is  the	 default;  it
	      provides full IEEE support.  (Also see -ftz.)

       -fpic  (L*X only)
	      Generates	 position-independent  code.  On  IA-32	 systems  and
	      Intel(R) EM64T systems, this option must be used when  building
	      shared  objects.	This  option  can also be specified as -fPIC.
	      The default is -fno-pic.

       -fp-model <keyword>
	      Controls the semantics of floating-point calculations. The fol-
	      lowing are -fp-model options:

	      · -fp-model precise

		Enables	 value-safe  optimizations on floating-point data and
		rounds	intermediate  results  to  source-defined  precision.
		Disables  optimizations	 that can change the result of float-
		ing-point calculations, which is  required  for	 strict	 ANSI
		conformance. These semantics ensure the accuracy of floating-
		point computations, but they may slow performance.

		Floating-point exception semantics are disabled by default.

		This option is equivalent to -fp-model source.

	      · -fp-model fast[=1|2]

		Enables	 more  aggressive  optimizations  when	 implementing
		floating-point	calculations.  These  optimizations  increase
		speed, but may alter the accuracy of floating-point  computa-
		tions.

		Specifying fast is the same as specifying fast=1.  fast=2 may
		produce faster and less accurate results.

		Floating-point exception semantics are	disabled  by  default
		and they cannot be enabled.

	      · -fp-model strict

		Enables	 precise and except.  This is the strictest floating-
		point model.

	      · -fp-model source

		Enables value-safe optimizations on floating-point  data  and
		rounds intermediate results to source-defined precision. This
		option is equivalent to -fp-model precise.

	      · -fp-model [no-]except

		Determines whether  floating-point  exception  semantics  are
		used.  Floating-point exception semantics are enabled if -fp-
		model except is specified; they are disabled if -fp-model no-
		except is specified.

	      The  default is -fp-model fast=1.	 However, if you specify -O0,
	      the default is -fltconsistency.

	      The keywords can be considered in groups:

	      · Group A: source, precise, fast, strict

	      · Group B: except or no-except

	      You can use more than one keyword. However, the following rules
	      apply:

	      · You  cannot specify fast and except together in the same com-
		pilation.  You can specify any other combination of  group  A
		and group B.

		Since  fast is the default, you must not specify except with-
		out a group A keyword.

	      · You should specify only one keyword from group A.  If you try
		to  specify  more  than	 one  keyword  from group A, the last
		(rightmost) one takes effect.

	      · If you specify except more than once,  the  last  (rightmost)
		one takes effect.

       -fpp   Runs the Fortran preprocessor on source files prior to compila-
	      tion.

       -fpscomp [keyword]
	      Specifies the compatibility with Microsoft*  Fortran  PowerSta-
	      tion or Intel Fortran. The following are -fpscomp options:

	      · -fpscomp all

		Specifies  that all options should be used for Fortran Power-
		Station	 compatibility.	  This	is  the	 same  as  specifying
		-fpscomp with no keyword. The default is -fpscomp libs.

	      · -fpscomp filesfromcmd

		Specifies that Fortran PowerStation behavior is used when the
		OPEN file  specifier  is  blank.   The	default	 is  -fpscomp
		nofilesfromcmd.

	      · -fpscomp general

		Specifies  that	 Fortran PowerStation semantics are used when
		differences  exist  with  Intel	 Fortran.   The	 default   is
		-fpscomp nogeneral.

	      · -fpscomp ioformat

		Specifies that Fortran PowerStation semantics and record for-
		mat for list-directed formatted and unformatted I/O should be
		used. The default is -fpscomp noioformat.

	      · -fpscomp ldio_spacing

		Specifies that a blank should not be inserted after a numeric
		value  before  a  character  value   (undelimited   character
		string).   This	 representation	 is  used  by  Intel  Fortran
		releases before Version 8.0 and by Fortran PowerStation.   If
		you  specify -fpscomp general, it sets -fpscomp ldio_spacing.

		The default is -fpscomp noldio_spacing, which conforms to the
		Fortran	 95  standard  by  inserting  a blank after a numeric
		value before a character value.

	      · -fpscomp nolibs

		Prevents the portability library from  being  passed  to  the
		linker. The default is -fpscomp libs.

	      · -fpscomp logicals

		Specifies  that the integer values 1 and 0 are used to repre-
		sent the LOGICAL  values  .TRUE.  and  .FALSE.	respectively.
		This  representation is used by Intel Fortran releases before
		Version 8.0 and by Fortran PowerStation.

		The default is -fpscomp nologicals, which specifies that  odd
		integer	 values	 are  treated as true and even integer values
		are treated as false;  specifically .TRUE. and .FALSE. are -1
		and  0	respectively.	This representation is used by Compaq
		Visual Fortran.

	      · -fpscomp none

		Specifies that no options should be used for  Fortran  Power-
		Station compatibility.	This is the same as specifying -nofp-
		scomp.

       -fpstkchk (i32 and i32em)
	      Generates extra code after every function call to	 ensure	 that
	      the  FP  (floating-point)	 stack	is in the expected state.  By
	      default, there is no checking. So when the FP stack  overflows,
	      a NaN value is put into FP calculations, and the results of the
	      program differ. Unfortunately, the overflow point	 can  be  far
	      away  from  the  point of the actual bug.	 The -fpstkchk option
	      places code that causes an access violation  exception  immedi-
	      ately  after an incorrect call occurs, thus making it easier to
	      locate these issues.

       -FR    Specifies source files are in free format (same  as  the	-free
	      option).

       -fr32 (i64 only; L*X only)
	      Disables	use  of	 high floating-point registers. Uses only the
	      lower 32 floating-point registers.

       -free  Specifies source files are in free format. By  default,  source
	      file format is determined by the file suffix.

       -fsource-asm
	      Produces	an  assembly  file  with optional source code annota-
	      tions. To use this option, you must also specify -S.

       -fsyntax-only
	      Specifies that the source file should be checked only for	 cor-
	      rect   syntax  (same  as	the  -syntax-only,  -y,	 and  -syntax
	      options).

       -ftrapuv
	      Initializes stack local variables to an unusual  value  to  aid
	      error  detection.	  Normally,  these  local variables should be
	      initialized in the application.

	      The option sets any  uninitialized  local	 variables  that  are
	      allocated on the stack to a value that is typically interpreted
	      as a very large integer or an invalid address.   References  to
	      these  variables	are then likely to cause run-time errors that
	      can help you detect coding errors.

       -ftz   Flushes denormal results to zero when the application is in the
	      gradual  underflow  mode.	 It  may  improve  performance if the
	      denormal values are  not	critical  to  the  behavior  of	 your
	      application. The default is -no-ftz.

	      The following options set the -ftz option: -fpe0, -fpe1, and on
	      Itanium(R)-based systems, option -O3.  Option -O2 sets the -no-
	      ftz option.

	      Note:  When  SSE instructions are used on IA-32 systems, option
	      -no-ftz is ignored. However, you can enable  gradual  underflow
	      by  calling a function in C in the main program that clears the
	      FTZ and DAZ bits in  the	MXCSR  or  by  calling	the  function
	      for_set_fpe  in  the main program to clear those bits. Be aware
	      that denormal processing can significantly slow  down  computa-
	      tion.

       -funroll-loops
	      Tells  the  compiler to use default heuristics to unroll loops.
	      This is the same as specifying -unroll.

       -fverbose-asm
	      Produces an assembly file	 with  compiler	 comments,  including
	      options  and version information.	 To use this option, you must
	      also specify -S, which sets -fverbose-asm.  If you do not	 want
	      this default when you specify -S, specify -fnoverbose-asm.

       -fvisibility=<keyword>

       -fvisibility-<keyword>=<file>
	      The first form specifies the default visibility for global sym-
	      bols.  The second form specifies	the  visibility	 for  symbols
	      that  are in a file (for symbols specified in <file>, this form
	      overrides the first form).  <file> is the pathname  of  a	 file
	      containing  the  list  of	 symbols whose visibility you want to
	      set; the symbols are separated by whitespace (spaces, tabs,  or
	      newlines).  <keyword>  specifies the visibility setting; it can
	      be any of the following:

	      default - This setting means other components can reference the
	      symbol, and the symbol definition can be overridden (preempted)
	      by a definition of the same name in another component.

	      extern - This setting means the symbol is treated as though  it
	      is defined in another component.	It also means that the symbol
	      can be overridden by a definition of the same name  in  another
	      component. This setting only applies to functions.

	      hidden  -	 This  setting means other components cannot directly
	      reference the symbol.  However, its address might be passed  to
	      other components indirectly.

	      internal	-  This setting means the symbol cannot be referenced
	      outside its defining component, either directly or  indirectly.

	      protected	 -  This setting means other components can reference
	      the symbol, but it cannot be overridden by a definition of  the
	      same name in another component.

	      If this option is specified more than once on the command line,
	      the last specification takes precedence over any others.

       -g     Produces symbolic debug information in the  object  file.	  The
	      compiler	does not support the generation of debugging informa-
	      tion in assemblable files.  If you specify the -g	 option,  the
	      resulting	 object	 file will contain debugging information, but
	      the assemblable file will not.

	      On IA-32 systems, specifying the -g or -O0 option automatically
	      sets the -fp option.

       -gen-interfaces
	      Tells the compiler to generate an interface block for each rou-
	      tine (that is, for  each	SUBROUTINE  and	 FUNCTION  statement)
	      defined in the source file.

	      The  compiler generates two files for each routine, a .mod file
	      and a .f90 file, and places them in the current directory or in
	      the  directory  specified	 by  the  include  (  -I ) or -module
	      option.  The .f90 file is the text of the interface block;  the
	      .mod  file  is  the  interface block compiled into binary form.
	      The default is -nogen-interfaces.

       -help  Displays the list of compiler options.

       -I<dir>
	      Specifies a directory to add to the include path, which is used
	      to  search  for  module files (USE statement) and include files
	      (INCLUDE statement).

       -i-dynamic
	      Causes Intel-provided libraries to be linked in dynamically. It
	      is the opposite of -i-static.

       -i-static
	      Causes  Intel-provided libraries to be linked in statically. It
	      is the opposite of -i-dynamic.

       -i2    Makes default integer and logical variables 2 bytes long	(same
	      as  the -integer_size 16 option).	 The default is -integer_size
	      32.

       -i4    Makes default integer and logical variables 4 bytes long	(same
	      as the -integer_size 32 option).	This is the default.

       -i8    Makes  default integer and logical variables 8 bytes long (same
	      as the -integer_size 64 option).	The default is	-integer_size
	      32.

       -implicitnone
	      Sets  the	 default  type	of  a variable to undefined (IMPLICIT
	      NONE).  This is the same as specifying the -u option.

       -inline-debug-info  (L*X only)
	      Produces enhanced source position information for inlined code.
	      This  leads to greater accuracy when reporting the source loca-
	      tion of any instruction. It also provides enhanced debug infor-
	      mation  useful  for function call traceback. To use this option
	      for debugging, you must also specify a debug  enabling  option,
	      such as -g.

       -inline-factor=<n>
	      Specifies	 the  percentage multiplier that should be applied to
	      all inlining options that	 define	 upper	limits:	 -inline-max-
	      size,   -inline-max-total-size,	-inline-max-per-routine,  and
	       -inline-max-per-compile.

	      This option takes the default  value  for	 each  of  the	above
	      options  and  multiplies it by <n> divided by 100. For example,
	      if 200 is specified, all inlining	 options  that	define	upper
	      limits are multiplied by a factor of 2.

	      <n>  is a positive integer specifying the percentage value. The
	      default value is 100 (a factor of 1).

	      If you specify -no-inline-factor, the following occurs:

	      · Every function is considered to be a small  or	medium	func-
		tion; there are no large functions.

	      · There  is no limit to the size a routine may grow when inline
		expansion is performed.

	      · There is no limit to the number of times some routine may  be
		inlined into a particular routine.

	      · There  is  no  limit  to  the number of times inlining can be
		applied to a compilation unit.

       -inline-forceinline
	      Specifies that an inline routine should be inlined whenever the
	      compiler	can  do	 so.  This causes the routines marked with an
	      inline keyword or directive to be treated as if they were "for-
	      ceinline".

       -inline-max-per-compile=<n>
	      Specifies	 the  maximum number of times inlining may be applied
	      to an entire compilation unit. <n> is a positive	integer	 that
	      specifies the maximum number.

	      For compilations using Interprocedural Optimizations (IPO), the
	      entire compilation is a compilation unit.	 For  other  compila-
	      tions, a compilation unit is a file.

	      If you specify -no-inline-max-per-compile, there is no limit to
	      the number of times inlining may be applied  to  a  compilation
	      unit.

       -inline-max-per-routine=<n>
	      Specifies	 the  maximum  number of times the inliner may inline
	      into a particular routine. <n> is a positive integer that spec-
	      ifies the maximum number.

	      If you specify -no-inline-max-per-routine, there is no limit to
	      the number of times some routine may be inlined into a particu-
	      lar routine.

       -inline-max-size=<n>
	      Specifies the lower limit for the size of what the inliner con-
	      siders to be a large routine. It specifies the boundary between
	      what  the	 inliner  considers  to be medium and large-size rou-
	      tines. <n> is a positive integer	that  specifies	 the  minimum
	      size of a large routine.

	      The  inliner prefers to inline small routines. It has a prefer-
	      ence against inlining large routines. So, any large routine  is
	      highly unlikely to be inlined.

	      If  you  specify	-no-inline-max-size,  there are no large rou-
	      tines. Every routine is either a small or medium routine.

       -inline-max-total-size=<n>
	      Specifies how much larger a  routine  can	 normally  grow	 when
	      inline  expansion is performed. It limits the potential size of
	      the routine. <n> is a positive integer that specifies the	 per-
	      mitted increase in the size of the routine.

	      If  you specify -no-inline-max-total-size, there is no limit to
	      the size a routine may grow when inline expansion is performed.

       -inline-min-size=<n>
	      Specifies the upper limit for the size of what the inliner con-
	      siders to be a small routine. It specifies the boundary between
	      what  the	 inliner  considers  to be small and medium-size rou-
	      tines. <n> is a positive integer	that  specifies	 the  maximum
	      size of a small routine.

	      The inliner has a preference to inline small routines. So, when
	      a routine is smaller than or equal to the specified size, it is
	      very likely to be inlined.

	      If  you  specify	-no-inline-min-size, there is no limit to the
	      size of small routines. Every routine is a small routine; there
	      are no medium or large routines.

       -intconstant
	      Tells  the  compiler  to	use Fortran 77 semantics, rather than
	      Fortran 95/90 semantics, to  determine  the  KIND	 for  integer
	      constants.  The default is -nointconstant.

       -integer_size <size>
	      Defines  the  size of INTEGER and LOGICAL variables. <size> can
	      be 16, 32, or 64. The default is -integer_size 32.

       -ip    Enables additional  interprocedural  optimizations  for  single
	      file  compilation.  One of these optimizations enables the com-
	      piler to perform inline function expansion for calls  to	func-
	      tions defined within the current source file.

       -ip-no-inlining
	      Disables full and partial inlining enabled by -ip or -ipo.

       -ip-no-pinlining (i32 and i32em)
	      Disables partial inlining. To use this option, you must specify
	      -ip or -ipo.

       -IPF-flt-eval-method0 (i64 only; L*X only)
	      Tells the compiler to evaluate the expressions involving float-
	      ing-point	 operands  in the precision indicated by the variable
	      types declared in the program. By default, intermediate  float-
	      ing-point expressions are maintained in higher precision.

       -IPF-fltacc (i64 only; L*X only)
	      Disables optimizations that affect floating-point accuracy.  If
	      the default setting is used (-IPF-fltacc-),  the	compiler  may
	      apply  optimizations  that reduce floating-point accuracy.  You
	      can use -IPF-fltacc or  -fltconsistency  to  improve  floating-
	      point  accuracy,	but  at	 the cost of disabling some optimiza-
	      tions.

       -IPF_fp_relaxed (i64 only; L*X only)
	      Enables use of faster but slightly less accurate code sequences
	      for  math	 functions, such as divide and sqrt. When compared to
	      strict IEEE* precision, this option slightly reduces the	accu-
	      racy  of	floating-point	calculations performed by these func-
	      tions, usually limited to the least significant digit.

	      This option also enables the  performance	 of  more  aggressive
	      floating-point transformations, which may affect accuracy.

       -IPF-fp-speculation<mode> (i64 only; L*X only)
	      Tells  the  compiler to speculate on floating-point (FP) opera-
	      tions in one of the following <mode>s:

	      fast - Speculate on  floating-point  operations.	This  is  the
	      default.

	      safe - Speculate on floating-point operations only when safe.

	      strict - This is the same as specifying off.

	      off - Disables speculation of floating-point operations.

       -ipo[n]
	      Enables  multifile  interprocedural (IP) optimizations (between
	      files). When you specify this  option,  the  compiler  performs
	      inline  function	expansion  for	calls to functions defined in
	      separate files.

	      n is an optional integer that specifies the  number  of  object
	      files  the compiler should create.  Any integer greater than or
	      equal to 0 is valid.

	      If n is 0, the compiler decides whether to create one  or	 more
	      object  files  based on an estimate of the size of the applica-
	      tion.  It generates one object file for small applications, and
	      two or more object files for large applications.

	      If  n is greater than 0, the compiler generates n object files,
	      unless n exceeds the number of source files (m), in which	 case
	      the compiler generates only m object files.

	      If you do not specify n, the default is 0.

       -ipo-c Tells   the  compiler  to	 generate  a  multifile	 object	 file
	      (ipo_out.o) that can be used in further link steps.

       -ipo-S Tells the	 compiler  to  generate	 a  multifile  assembly	 file
	      (ipo_out.s) that can be used in further link steps.

       -ipo-separate
	      Tells the compiler to generate one object file per source file.
	      This option overrides any -ipo[n] specification.

       -isystem<dir>
	      Specifies a directory (dir) to add to the start of  the  system
	      include  path.   The  compiler searches the specified directory
	      for include files after it searches all  directories  specified
	      by  the  -I compiler option but before it searches the standard
	      system directories. This option is provided  for	compatibility
	      with gcc.

       -ivdep-parallel	(i64 only; L*X only)
	      Tells  the compiler that there is no loop-carried memory depen-
	      dency in any loop following an IVDEP directive.

       -Kpic (L*X only)
	      This is a deprecated option; it can also be specified as -KPIC.
	      Use -fpic instead.

       -L<dir>
	      Tells  the  linker  to  search  for  libraries  in <dir> before
	      searching the standard directories.

       -l<string>
	      Tells  the  linker  to   search	for   a	  specified   library
	      (lib<string>) when linking.

	      Because  the linker searches and processes libraries and object
	      files in the order they are specified, you should specify	 this
	      option following the last object file it applies to.

       -logo  Displays	the  compiler  version	information  (same  as the -V
	      option). The default is -nologo.

       -lowercase
	      Causes the compiler to ignore case differences  in  identifiers
	      and  to convert external names to lowercase (same as the -names
	      lowercase option).  This is the default.

       -map-opts  (L*X only)
	      Maps one or more Linux compiler options to their equivalent  on
	      a	 Windows  system  and outputs the result to stdout.  The tool
	      can be invoked from the compiler command line or it can be used
	      directly.	  No compilation is performed when the option mapping
	      tool is used.  Compiler options are mapped to their  equivalent
	      on the architecture you are using.

       -mcmodel=<mem_model> (i32em only; L*X only)
	      Tells  the  compiler to use a specific memory model to generate
	      code and store data.  This option can affect code size and per-
	      formance.

	      You can specify one of the following values for <mem_model>:

	      · small

		Restricts  code	 and  data to the first 2GB of address space.
		All accesses of code and data can be  done  with  Instruction
		Pointer (IP)-relative addressing.  This is the default.

	      · medium

		Restricts code to the first 2GB; it places no memory restric-
		tion on data. Accesses of code can be done  with  IP-relative
		addressing,  but  accesses of data must be done with absolute
		addressing.

	      · large

		Places no memory restriction on code or data. All accesses of
		code and data must be done with absolute addressing.

	      If  your	program has COMMON blocks and local data with a total
	      size smaller than 2GB, -mcmodel=small is	sufficient.   COMMONs
	      larger  than  2GB	 require  -mcmodel=medium  or -mcmodel=large.
	      Allocation of memory larger than 2GB can be done with any	 set-
	      ting of -mcmodel.

	      IP-relative  addressing requires only 32 bits, whereas absolute
	      addressing requires 64-bits.  IP-relative addressing  is	some-
	      what faster. So, the small memory model has the least impact on
	      performance.

	      Note: When the medium or large memory models are specified, you
	      must  also specify option -i-dynamic to ensure that the correct
	      dynamic versions of the Intel run-time libraries are used.

	      When shared objects (.so files) are built, Position-Independent
	      Code  (PIC)  is specified so that a single .so file can support
	      all three memory models. The compiler driver adds option	-fpic
	      to implement the PIC.

	      However, you must specify a memory model for code that is to be
	      placed in a static library or code that will be  linked  stati-
	      cally.

       -mieee-fp
	      Enables  improved	 floating-point	 consistency.  Floating-point
	      operations are not reordered and the result of  each  floating-
	      point  operation	is  stored in the target variable rather than
	      being kept in the floating-point processor for use in a  subse-
	      quent  calculation.  This is the same as specifying -fltconsis-
	      tency or -mp.

	      The default, -mno-ieee-fp, provides better  accuracy  and	 run-
	      time  performance	 at  the expense of less consistent floating-
	      point results.

       -mixed_str_len_arg
	      Tells the compiler that the hidden length passed for a  charac-
	      ter  argument is to be placed immediately after its correspond-
	      ing character argument in the argument list.   The  default  is
	      -nomixed_str_len_arg,   which  places  the  hidden  lengths  in
	      sequential order at the end of the argument list.

       -module <dir>
	      Specifies the directory <dir> where module (.mod) files  should
	      be  placed  when	created and where they should be searched for
	      (USE statement).

       -mp    Maintains floating-point precision (while disabling some	opti-
	      mizations).  The	-mp option restricts optimization to maintain
	      declared precision and to ensure that floating-point arithmetic
	      conforms more closely to the ANSI* and IEEE standards.  This is
	      the same as specifying -fltconsistency or -mieee-fp.

	      For most programs, specifying  this  option  adversely  affects
	      performance. If you are not sure whether your application needs
	      this option, try compiling and running your program  both	 with
	      and  without it to evaluate the effects on both performance and
	      precision.

       -mp1   Improves floating-point precision and consistency. This  option
	      disables fewer optimizations and has less impact on performance
	      than -fltconsistency or -mp.

       -mrelax	(i64 only; L*X only)
	      Tells the compiler to pass linker option -relax to the  linker.
	      The default is -mno-relax.

       -mtune=<processor>
	      Performs optimizations for a specified CPU.

	      On  IA-32	 systems, you can specify one of the following values
	      for <processor>:

	      · pentium

		Optimizes for Intel(R) Pentium(R) processors.

	      · pentiumpro

		Optimizes for Intel(R) Pentium(R) Pro, Intel Pentium II,  and
		Intel Pentium III processors.

	      · pentium4

		Optimizes  for	Intel  Pentium	4  processors.	This  is  the
		default.

	      · pentium-mmx

		Optimizes for Intel(R) Pentium(R) with MMX(TM) technology.

	      On Itanium(R)-based Linux systems, you can specify one  of  the
	      following values for <processor>:

	      · itanium

		Optimizes for Intel(R) Itanium(R) processors.

	      · itanium2

		Optimizes  for Intel(R) Itanium(R) 2 processors.  This is the
		default.

	      · itanium2-p9000

		Optimizes for Dual-Core Intel(R) Itanium(R) 2 Processor	 9000
		Sequence  processors.	This  option affects the order of the
		generated instructions, but the	 generated  instructions  are
		limited	 to  Intel(R)  Itanium(R)  2  processor	 instructions
		unless the program uses (executes) intrinsics specific to the
		Dual-Core  Intel(R) Itanium(R) 2 Processor 9000 Sequence pro-
		cessors.

       -names <keyword>
	      Specifies how source code identifiers and	 external  names  are
	      interpreted.  The following are -names options:

	      · -names as_is

		Causes	the compiler to distinguish case differences in iden-
		tifiers and to preserve the case of external names.

	      · -names lowercase

		Causes the compiler to ignore case differences in identifiers
		and  to	 convert  external  names  to lowercase.  This is the
		default.

	      · -names uppercase

		Causes the compiler to ignore case differences in identifiers
		and to convert external names to uppercase.

       -nbs   Tells the compiler to treat a backslash (\) as a normal charac-
	      ter in character literals, not an escape character (same as the
	      -assume nobscc option).  This is the default.

       -no-ansi-alias
	      Tells the compiler to assume the program does not adhere to the
	      Fortran 95 Standard type aliasability rules.   The  default  is
	      -ansi-alias,  which  tells  the  compiler	 to  assume  that the
	      program adheres to these aliasability rules.

       -no-cpprt
	      Tells the compiler to use the default  run-time  libraries  and
	      not  link to any additional C++ run-time libraries. This is the
	      same as specifying -no-cxxlib.

       -no-fp-port (i32 and i32em)
	      Tells the compiler to keep results of floating-point operations
	      in higher precision.  This provides better performance but less
	      consistent floating-point results.  The  default	is  -fp-port,
	      which rounds floating-point results after floating-point opera-
	      tions so rounding to user-declared precision occurs at  assign-
	      ments and type conversions. This has some impact on speed.

       -no-global-hoist
	      Disables certain optimizations, such as load hoisting and spec-
	      ulative loads, that can move memory loads to a point earlier in
	      the program execution than where they appear in the source.

	      This option is useful for some applications, such as those that
	      use shared or dynamically mapped memory, which can  fail	if  a
	      load  is	moved too early in the execution stream (for example,
	      before the memory is mapped).

	      In most cases, these optimizations are  safe  and	 can  improve
	      performance.  The	 default,  -global-hoist, enables these opti-
	      mizations.

       -no-IPF-fma (i64 only; L*X only)
	      Disables	the  combining	of  floating-point   multiplies	  and
	      add/subtract  operations.	 It  also disables the contraction of
	      floating-point multiply and add/subtract operations into a sin-
	      gle  operation.	The default is -IPF-fma, which tells the com-
	      piler to combine and contract these operations whenever  possi-
	      ble.  However, if you specify -mp and do not explicitly specify
	      -IPF-fma, the default is -no-IPF-fma.

       -no-prec-div  (i32 and i32em)
	      Enables optimizations that give slightly less  precise  results
	      than  full IEEE division.	 With some optimizations, such as -xN
	      and -xB, the compiler may change floating-point division compu-
	      tations  into multiplication by the reciprocal of the denomina-
	      tor. For example, A/B is computed as A * (1/B) to	 improve  the
	      speed of the computation.

	      The  default  is	-prec-div,  which provides fully precise IEEE
	      division.	 It improves precision of floating-point  divides  by
	      disabling	 floating-point	 division-to-multiplication optimiza-
	      tions, resulting in greater accuracy with some loss of  perfor-
	      mance.

       -no-prefetch  (i64 only; L*X only)
	      Disables	prefetch insertion optimization.  To use this option,
	      you must also specify -O3.  The default is -prefetch.

       -noalign
	      Prevents the alignment of data items. This is the same as spec-
	      ifying -align none.  The default is -align.

       -noaltparam
	      Specifies	 that the alternate form of parameter constant decla-
	      rations (without parentheses) should not be recognized (same as
	      the  -nodps  option).  This form has no parentheses surrounding
	      the list, and the form of the constant, rather than implicit or
	      explicit typing, determines the data type of the variable.  The
	      default is -altparam.

       -nobss-init
	      Places any variables that are explicitly initialized with zeros
	      in the DATA section.  By default, variables explicitly initial-
	      ized with zeros are placed in the BSS section.

       -nodefaultlibs
	      Prevents the compiler from using standard libraries when	link-
	      ing.

       -nodefine
	      Specifies	 that all preprocessor definitions apply only to -fpp
	      and not to Intel Fortran	conditional  compilation  directives.
	      This is the same as specifying -noD.

       -nodps Specifies	 that the alternate form of parameter constant decla-
	      rations (without parentheses) should not be recognized (same as
	      the -noaltparam option).	The default is -dps.

       -nofor_main
	      Specifies	 the main program is not written in Fortran, and pre-
	      vents the compiler from linking for_main.o  into	applications.
	      The default is -for_main.

       -noinclude
	      Prevents	the compiler from searching in /usr/include for files
	      specified in an INCLUDE statement.  You can specify the -I<dir>
	      option along with this option.  This option does not affect the
	      fpp preprocessor behavior, and is not related  to	 the  Fortran
	      95/90 USE statement.

       -nostartfiles
	      Prevents	the  compiler  from using standard startup files when
	      linking.

       -nostdinc
	      Removes standard directories from the include file search	 path
	      (same as the -X option).

       -nostdlib
	      Prevents the compiler from using standard libraries and startup
	      files when linking.

       -nus   Prevents the compiler from appending an underscore character to
	      external	user-defined  names.   This option is the same as the
	      -assume nounderscore option,  and is the opposite of -us.

       -o <file>
	      Specifies the name (<file>) for an output file as follows:

	      · If -c is specified, it specifies the name  of  the  generated
		object file.

	      · If  -S	is  specified, it specifies the name of the generated
		assembly listing file.

	      · If -preprocess_only or -P is specified, it specifies the name
		of the generated preprocessor file.

	      Otherwise, -o specifies the name of the executable file.

       -O0    Disables	all -O<n> optimizations.  On IA-32 and Intel(R) EM64T
	      systems, this option sets the -fp option.

       -O1    On IA-32 and Intel(R) EM64T systems, enables optimizations  for
	      speed.  Also disables intrinsic recognition and the -fp option.
	      This option is the same as the -O2 option.

	      On Itanium(R)-based systems, the -O1 option  enables  optimiza-
	      tions  for  server  applications (straight-line and branch-like
	      code with a flat profile).  Enables  optimizations  for  speed,
	      while  being  aware of code size. For example, this option dis-
	      ables software pipelining and loop unrolling.

       -O2  or	-O
	      This option is the default for optimizations.  However,  if  -g
	      is specified, the default is -O0.

	      On  Itanium(R)-based  systems, the -O2 option enables optimiza-
	      tions for speed, including  global  code	scheduling,  software
	      pipelining, predication, and speculation. It also enables:

	      · Inlining of intrinsics

	      · Intra-file   interprocedural  optimizations,  which  include:
		inlining, constant propagation, forward substitution, routine
		attribute  propagation, variable address-taken analysis, dead
		static function	 elimination,  and  removal  of	 unreferenced
		variables.

	      · The  following	capabilities  for  performance gain: constant
		propagation, copy propagation, dead-code elimination,  global
		register  allocation,  global instruction scheduling and con-
		trol speculation, loop unrolling, optimized  code  selection,
		partial	 redundancy elimination, strength reduction/induction
		variable simplification, variable  renaming,  exception	 han-
		dling optimizations, tail recursions, peephole optimizations,
		structure assignment lowering  and  optimizations,  and	 dead
		store elimination.

       -O3    Enables  -O2  optimizations plus more aggressive optimizations,
	      such as prefetching, scalar replacement, and  loop  transforma-
	      tions.  Enables  optimizations  for maximum speed, but does not
	      guarantee higher performance  unless  loop  and  memory  access
	      transformations take place.

	      On  IA-32	 and  Intel(R)	EM64T systems, when the -O3 option is
	      used with the -ax and -x options, it  causes  the	 compiler  to
	      perform  more aggressive data dependency analysis than for -O2,
	      which may result in longer compilation times.

	      On Itanium(R)-based systems, the -O3 option  enables  optimiza-
	      tions  for  technical  computing	applications  (loop-intensive
	      code): loop optimizations and data prefetch.

       -Ob<n> Specifies the level of  inline  function	expansion.   You  can
	      specify one of the following values for <n>:

	      0	 -  Disables  inlining	of  user-defined  functions. However,
	      statement functions are always inlined. This is the default  if
	      -O0 is specified.

	      1 - Enables inlining when an inline keyword or an inline direc-
	      tive is specified.

	      2 - Enables inlining of any function at the discretion  of  the
	      compiler.	 This is the default if option -O2 is specified or is
	      in effect by default.

       -onetrip
	      Tells the compiler to execute at	least  one  iteration  of  DO
	      loops (same as the -1 option).  This option has the same effect
	      as -f66.

       -openmp
	      Enables the parallelizer to generate multithreaded  code	based
	      on  OpenMP* directives. The code can be executed in parallel on
	      both  uniprocessor  and  multiprocessor  systems.	 The  -openmp
	      option  works with both -O0 (no optimization) and any optimiza-
	      tion level of -O<n>. Specifying -O0 with -openmp helps to debug
	      OpenMP applications.

       -openmp-profile	(L*X only)
	      Enables  analysis of OpenMP* applications.  To use this option,
	      you must have Intel(R) Thread Profiler installed, which is  one
	      of  the Intel(R) Threading Tools. If this threading tool is not
	      installed, this option has no effect.

       -openmp-report[n]
	      Controls the level of diagnostic messages of the OpenMP  paral-
	      lelizer. You can specify one of the following values for [n]:

	      0 - Displays no diagnostic information.

	      1	 -  Displays  diagnostics indicating loops, regions, and sec-
	      tions successfully parallelized.	This is the default.

	      2 - Displays the diagnostics specified by -openmp-report1	 plus
	      diagnostics  indicating  successful  handling  of	 MASTER	 con-
	      structs, SINGLE constructs, CRITICAL constructs,	ORDERED	 con-
	      structs, ATOMIC directives, etc.

       -openmp-stubs
	      Enables compilation of OpenMP programs in sequential mode.  The
	      OpenMP directives are ignored and	 a  stub  OpenMP  library  is
	      linked.

       -opt-mem-bandwidth<n>  (i64 only; L*X only)
	      Enables  performance  tuning and heuristics that control memory
	      bandwidth use among processors. It allows the  compiler  to  be
	      less  aggressive	with  optimizations  that  might consume more
	      bandwidth, so that the bandwidth can be well-shared among	 mul-
	      tiple processors for a parallel program.

	      For values of <n> greater than 0, the option tells the compiler
	      to enable a set of performance tuning and	 heuristics  in	 com-
	      piler optimizations such as prefetching, privatization, aggres-
	      sive code motion, and so forth, for reducing  memory  bandwidth
	      pressure	and balancing memory bandwidth traffic among threads.

	      <n> is the level of optimizing for memory bandwidth usage.  You
	      can specify one of the following values for <n>:

	      0	 - Enables a set of performance tuning and heuristics in com-
	      piler optimizations that is optimal for serial  code.  This  is
	      the default for serial code.

	      1	 - Enables a set of performance tuning and heuristics in com-
	      piler optimizations for multithreaded  code  generated  by  the
	      compiler.	 This  is the default if compiler option -parallel or
	      -openmp is specified, or Cluster OpenMP option  -cluster-openmp
	      is specified (see the Cluster OpenMP documentation).

	      2	 - Enables a set of performance tuning and heuristics in com-
	      piler optimizations for parallel code such as Windows  Threads,
	      pthreads, and MPI code, besides multithreaded code generated by
	      the compiler.

       -opt-report
	      Tells the	 compiler  to  generate	 an  optimization  report  to
	      stderr.

       -opt-report-file<file>
	      Tells  the  compiler  to	generate an optimization report named
	      <file>.

       -opt-report-help
	      Displays the logical names of optimizer  phases  available  for
	      report generation (using -opt-report-phase).

       -opt-report-level[level]
	      Specifies the detail level of the optimization report.  [level]
	      can be min, med, or max.	The default is	-opt-report-levelmin.

       -opt-report-phase<phase>
	      Specifies	 the  optimizer	 phase	(<phase>) to generate reports
	      for.  This option can be used multiple times on the  same	 com-
	      mand  line  to  generate reports for multiple optimizer phases.
	      Currently, the following optimizer phases are supported:

	      ipo - Interprocedural Optimizer

	      hlo - High Level Optimizer

	      ilo - Intermediate Language Scalar Optimizer

	      ecg - Code Generator (Itanium(R)-based systems only; Linux sys-
	      tems only)

	      ecg_swp  -  Software pipelining component of the Code Generator
	      (Itanium(R)-based systems only; Linux systems only)

	      pgo - Profile Guided Optimization

	      all - All phases

	      When one of these logical names for optimizer phases is  speci-
	      fied  for	 <phase>,  all	reports from that optimizer phase are
	      generated.

	      To use this option, you must also specify option -opt-report.

       -opt-report-routine[string]
	      Generates a report on the	 routines  containing  the  specified
	      <string>	as part of their name.	If <string> is not specified,
	      reports from all routines are generated.

       -p     Compiles and links for function profiling with gprof(1).	 This
	      is  the  same  as specifying -pg or -qp, except that -pg is not
	      available on Itanium(R)-based systems.

       -P     Causes the Fortran preprocessor to send output to a file	(same
	      as  the  -preprocess_only and -F options). Note that the source
	      file is not compiled.

       -pad   Enables the changing of the variable and array  memory  layout.
	      The default is -nopad.

       -pad-source
	      Specifies	 that  fixed-form  source  records  shorter  than the
	      statement field width are to be  padded  with  spaces  (on  the
	      right)  to  the  end  of the statement field.  This affects the
	      interpretation of character and  Hollerith  literals  that  are
	      continued across source records.	The default is -nopad-source.

       -par-report[n]
	      Controls the level of diagnostic messages	 of  the  auto-paral-
	      lelizer.	You can specify one of the following values for [n]:

	      0 - Displays no diagnostic information.

	      1	 -  Displays  diagnostics indicating loops successfully auto-
	      parallelized.  This is the default. Issues a "LOOP  AUTO-PARAL-
	      LELIZED" message for parallel loops.

	      2	 -  Displays  diagnostics indicating loops successfully auto-
	      parallelized, as well as unsuccessful loops.

	      3 - Displays the diagnostics  specified  by  -par-report2	 plus
	      additional information about any proven or assumed dependencies
	      inhibiting auto-parallelization (reasons	for  not  paralleliz-
	      ing).

       -par-threshold[n]
	      Sets a threshold for the auto-parallelization of loops based on
	      the probability of profitable execution of the loop  in  paral-
	      lel.  This option is used for loops whose computation work vol-
	      ume cannot be determined at compile-time. The threshold is usu-
	      ally  relevant  when the loop trip count is unknown at compile-
	      time.

	      [n] is an integer from 0 to 100.	The default value is 100.

	      The compiler applies a heuristic	that  tries  to	 balance  the
	      overhead of creating multiple threads versus the amount of work
	      available to be shared amongst the threads.

       -parallel
	      Tells the auto-parallelizer to generate multithreaded code  for
	      loops  that  can	be  safely  executed in parallel. To use this
	      option, you must also specify -O2 or -O3.

       -pc<n>  (i32 and i32em)
	      Enables control of floating-point significand  precision.	 Some
	      floating-point  algorithms are sensitive to the accuracy of the
	      significand, or fractional part of  the  floating-point  value.
	      For example, iterative operations like division and finding the
	      square root can run faster if you lower the precision with  the
	      -pc<n>  option. You can specify one of the following values for
	      <n>:

	      32 - Rounds the significand to 24 bits (single precision). Note
	      that a change of the default precision control or rounding mode
	      (for example, by using the -pc32 option or  by  user  interven-
	      tion) may affect the results returned by some of the mathemati-
	      cal functions.

	      64 - Rounds the significand to 53 bits (double precision).

	      80 - Rounds the significand to 64	 bits  (extended  precision).
	      This is the default.

       -pg  (i32 and i32em)
	      Compiles	and links for function profiling with gprof(1).	 This
	      is the same as specifying -p or -qp, except that they are	 also
	      available on Itanium(R)-based systems.

       -prec-sqrt  (i32 and i32em)
	      Improves	precision of square root implementations; it has some
	      speed impact.  This option inhibits any optimizations that  can
	      adversely	 affect	 the  precision of a square root computation.
	      The result is fully precise square root  implementations,	 with
	      some  loss  of performance.  This is the default setting if you
	      specify -O0, -mp, or -mp1.

       -preprocess_only
	      Causes the Fortran preprocessor to send output to a file	(same
	      as  the  -F  and	-P options). Note that the source file is not
	      compiled.

       -print-multi-lib
	      Prints information  about	 where	system	libraries  should  be
	      found,  but  no compilation occurs. It is provided for compati-
	      bility with gcc.

       -prof-dir <dir>
	      Specifies a directory (<dir>) for profiling output files (*.dyn
	      and *.dpi).

       -prof-file <file>
	      Specifies	 a file name (<file>) for the profiling summary file.

       -prof-format-32	(i32 and i64; L*X only)
	      Produces profile data with 32-bit counters; this option  allows
	      compatibility  with  earlier compilers.  The default is to pro-
	      duce profile data with 64-bit counters to handle large  numbers
	      of events.

       -prof-gen
	      Instruments a program for profiling.

       -prof-gen-sampling  (i32 only; L*X only)
	      Prepares	application  executables for hardware profiling (sam-
	      pling) and causes the compiler to generate source code  mapping
	      information.

       -prof-genx
	      Instruments  a program for profiling and gathers extra informa-
	      tion for code coverage tools.

       -prof-use
	      Enables use of profiling information during optimization.

       -Qinstall <dir>
	      Specifies the root directory (<dir>)where the compiler  instal-
	      lation was performed.  This option is useful if you want to use
	      a different compiler or if you did not use the ifortvars	shell
	      script to set your environment variables.

       -Qlocation,<string>,<dir>
	      Sets <dir> as the location of the tool specified by <string>.

       -Qoption,<string>,<opts>
	      Passes options <opts> to the tool specified by <string>.

       -qp    Compiles	and links for function profiling with gprof(1).	 This
	      is the same as specifying -p or -pg, except  that	 -pg  is  not
	      available on Itanium(R)-based systems.

       -r8    Makes  default  real  and	 complex variables 8 bytes long. REAL
	      declarations are treated as DOUBLE PRECISION (REAL(KIND=8)) and
	      COMPLEX  declarations  are  treated  as  DOUBLE  COMPLEX	(COM-
	      PLEX(KIND=8)). This option is the same as specifying -real_size
	      64 or -autodouble.

       -r16   Makes  default  real  and complex variables 16 bytes long. REAL
	      declarations   are   treated   as	  extended   precision	 REAL
	      (REAL(KIND=16);  COMPLEX	and  DOUBLE  COMPLEX declarations are
	      treated as extended precision COMPLEX (COMPLEX(KIND=16)).	 This
	      option is the same as specifying -real_size 128.

       -rcd  (i32 and i32em)
	      Enables  fast  float-to-integer  conversions.   This option can
	      improve the performance of code that  requires  floating-point-
	      to-integer   conversions.	 The  system  default  floating-point
	      rounding mode is round-to-nearest. However,  the	Fortran	 lan-
	      guage  requires  floating-point  values  to be truncated when a
	      conversion to an integer is involved. To do this, the  compiler
	      must  change the rounding mode to truncation before each float-
	      ing-point-to-integer conversion and change it back  afterwards.

	      The -rcd option disables the change to truncation of the round-
	      ing mode for all floating-point calculations, including  float-
	      ing  point-to-integer conversions. This option can improve per-
	      formance, but floating-point conversions to  integer  will  not
	      conform to Fortran semantics.

       -real_size <size>
	      Defines  the  size of REAL and COMPLEX declarations, constants,
	      functions, and intrinsics. <size> can be 32, 64, or  128.	  The
	      default is -real_size 32.

       -recursive
	      Specifies	 that  all  routines  should be compiled for possible
	      recursive execution.  This option sets the -auto	option.	  The
	      default is -norecursive.

       -reentrancy [keyword]
	      Specifies that the compiler should generate reentrant code that
	      supports a multithreaded application. The following are  -reen-
	      trancy options:

	      · -reentrancy async

		Tells the run-time library (RTL) that the program may contain
		asynchronous (AST) handlers that could	call  the  RTL.	 This
		causes the RTL to guard against AST interrupts inside its own
		critical regions.

	      · -reentrancy none

		Tells the run-time library (RTL) that the  program  does  not
		rely  on  threaded  or asynchronous reentrancy.	 The RTL will
		not guard against such interrupts  inside  its	own  critical
		regions.   This	 is  the default.  This option is the same as
		the -noreentrancy option.

	      · -reentrancy threaded

		Tells the run-time library (RTL) that the program  is  multi-
		threaded,  such	 as programs using the POSIX threads library.
		This causes the RTL to use thread locking to  guard  its  own
		critical regions.  If you do not specify a keyword for -reen-
		trancy, it is the same as specifying -reentrancy threaded.

       -S     Causes the compiler to compile to an assembly  file  (.s)	 only
	      and not link.

       -safe-cray-ptr
	      Specifies that Cray pointers do not alias other variables.

       -save  Places variables, except those declared as AUTOMATIC, in static
	      memory (same as -noauto or -noautomatic). The default is -auto-
	      scalar.	However,  if  you  specify -recursive or -openmp, the
	      default is -automatic.

       -scalar-rep  (i32 only)
	      Enables scalar replacement performed  during  loop  transforma-
	      tion.  To	 use  this  option,  you  must also specify -O3.  The
	      default is -no-scalar-rep.

       -shared	(L*X only)
	      Tells the compiler to produce a dynamic shared  object  instead
	      of an executable.

	      On  IA-32	 systems and Intel(R) EM64T systems, you must specify
	      -fpic for the compilation of  each  object  file	you  want  to
	      include in the shared library.

       -shared-libcxa  (L*X only)
	      Links  the Intel libcxa C++ library dynamically, overriding the
	      default behavior when -static is	used.	This  option  is  the
	      opposite of -static-libcxa.

       -sox   Tells  the  compiler  to	save the compiler options and version
	      number in the executable. The default is -no-sox.

       -ssp  (i32 only; L*X only)
	      Enables Software-based Speculative Pre-computation (SSP), which
	      is also called Helper-Threading optimization. It provides a way
	      to dynamically prefetch data  cache  blocks  to  counterbalance
	      ever-increasing  memory latency.	It exploits the properties of
	      source code constructs (such as delinquent loads	and  pointer-
	      chasing loops) in applications.

       -stand [keyword]
	      Causes the compiler to issue compile-time messages for nonstan-
	      dard language elements.  The following are -stand options:

	      · -stand f90

		Causes the compiler to issue messages for  language  elements
		that  are  not	standard  in  Fortran  90 (same as the -std90
		option).

	      · -stand f95

		Causes the compiler to issue messages for  language  elements
		that  are  not	standard in Fortran 95 (same as the -std95 or
		-std options). This option is set if you specify -warn stder-
		rors.	If you do not specify a keyword for -stand, it is the
		same as specifying -stand 95.

	      · -stand none

		Causes the compiler to issue no messages for nonstandard lan-
		guage  elements.   This	 is  the same as specifying -nostand.
		This is the default.

       -static	(L*X only)
	      Prevents linking with shared libraries. Causes  the  executable
	      to link all libraries statically.

       -static-libcxa  (L*X only)
	      Links  the  Intel libcxa C++ library statically. This option is
	      the opposite of -shared-libcxa.

       -std90 Causes the compiler to issue  messages  for  language  elements
	      that  are	 not  standard	in Fortran 90 (same as the -stand f90
	      option).

       -std95 or -std
	      Causes the compiler to issue  messages  for  language  elements
	      that  are	 not  standard	in Fortran 95 (same as the -stand f95
	      option). This option is set if you specify -warn stderrors.

       -syntax-only
	      Specifies that the source file should be checked only for	 cor-
	      rect  syntax  (same  as  the  -fsyntax-only,  -y,	 and  -syntax
	      options). No code is generated, no object file is produced, and
	      some  error  checking  done by the optimizer is bypassed.	 This
	      option lets you do a quick syntax check of your source file.

       -T <file> (L*X only)
	      Tells the linker to  read	 link  commands	 from  the  specified
	      <file>.

       -tcheck	(L*X only)
	      Enables analysis of threaded applications.  To use this option,
	      you must have Intel(R) Thread Checker installed, which  is  one
	      of the Intel(R) Threading Tools.

       -Tf <file>
	      Specifies	 that  <file>  should be compiled as a Fortran source
	      file.  This option is useful when you have a file with  a	 non-
	      standard filename suffix.

	      This  option assumes the file specified uses fixed source form.
	      If the file uses free source form, you must also specify option
	      -free.

       -threads
	      Specifies	 that  multithreaded libraries should be linked. This
	      is the default on Intel(R) EM64T systems.	 This option sets the
	      -reentrancy  threaded  option. On IA-32 and Intel(R) Itanium(R)
	      systems, the default is -nothreads.

       -tpp1  (i64 only; L*X only)
	      Optimizes for the Intel(R) Itanium(R) processor.

       -tpp2  (i64 only; L*X only)
	      Optimizes for the Intel(R) Itanium(R) 2 processor. This is  the
	      default on Itanium(R)-based systems.

       -tpp5  (i32 only; L*X only)
	      Optimizes for the Intel(R) Pentium(R) processor.

       -tpp6  (i32 only; L*X only)
	      Optimizes	 for the Intel(R) Pentium(R) Pro, Intel(R) Pentium(R)
	      II and Intel(R) Pentium(R) III processors.

       -tpp7  (i32 and i32em; L*X only)
	      Optimizes for the Intel(R) Core(TM)  Duo	processors,  Intel(R)
	      Core(TM)	Solo  processors,  Intel(R)  Pentium(R) 4 processors,
	      Intel(R) Xeon(R) processors, Intel Pentium  M  processors,  and
	      Intel  Pentium  4	 processors  with Streaming SIMD Extensions 3
	      (SSE3) instruction support.  This is the default on IA-32	 sys-
	      tems and Intel(R) EM64T systems.

       -traceback
	      Tells  the compiler to generate extra information in the object
	      file to allow the display of source file traceback  information
	      at  run  time  when  a  severe  error  occurs.   The default is
	      -notraceback.

       -tune <keyword> (i32 and i32em)
	      Determines the version of the architecture for which  the	 com-
	      piler generates instructions. The following are -tune options:

	      · -tune pn1

		Optimizes for the Intel(R) Pentium(R) processor.

	      · -tune pn2

		Optimizes  for	the  Intel(R)  Pentium(R)  Pro, Intel(R) Pen-
		tium(R) II, and Intel(R) Pentium(R) III processors.

	      · -tune pn3

		Optimizes for the  Intel(R)  Pentium(R)	 Pro,  Intel(R)	 Pen-
		tium(R)	 II, and Intel(R) Pentium(R) III processors.  This is
		the same as specifying the -tune pn2 option.

	      · -tune pn4

		Optimizes for the Intel(R) Pentium(R) 4	 processor.  This  is
		the default.

	      The  only	 option	 available on Intel(R) EM64T systems is -tune
	      pn4.

       -u     Sets the default type of	a  variable  to	 undefined  (IMPLICIT
	      NONE).   This  is	 the  same  as	specifying  the -implicitnone
	      option.

       -U<name>
	      Removes the predefined macro named <name>.

       -unroll[n]
	      Sets the maximum number of times to unroll loops. Use  -unroll0
	      to disable loop unrolling.  The default is -unroll, which tells
	      the compiler to use default heuristics. This  is	the  same  as
	      specifying -funroll-loops.

       -uppercase
	      Causes  the  compiler to ignore case differences in identifiers
	      and to convert external names to uppercase (same as the  -names
	      uppercase option).  The default is -lowercase (or -names lower-
	      case).

       -us    Tells the compiler to append an underscore character to  exter-
	      nal  user-defined	 names (opposite of -nus).  Specifying -us is
	      the same as specifying the -assume underscore option.

       -use-asm
	      Tells the compiler to produce objects through the assembler.

       -v     Tells the driver that tool commands should be  shown  and	 exe-
	      cuted.  See also -dryrun.

       -V     Displays	the  compiler  version information (same as the -logo
	      option).

       -vec-report[n] (i32 and i32em)
	      Specifies the amount of vectorizer  diagnostic  information  to
	      report.  You can specify one of the following values for [n]:

	      0 - Produces no diagnostic information.

	      1 - Indicates vectorized loops. This is the default.

	      2 - Indicates vectorized and non-vectorized loops.

	      3 - Indicates vectorized and non-vectorized loops and prohibit-
	      ing data dependence information.

	      4 - Indicates non-vectorized loops.

	      5 - Indicates non-vectorized loops and prohibiting data  depen-
	      dence information.

       -vms   Causes  the run-time system to behave like HP* Fortran on Open-
	      VMS* Alpha systems and VAX* systems (VAX FORTRAN*) in the	 fol-
	      lowing ways:

	      · Modifies certain defaults

		The -vms option sets the -check format and -check output_con-
		version options.  You can override  this  by  specifying  the
		option on the command line.  For example, if you specify -vms
		-check noformat, you get -check noformat.

	      · Alignment

		The -vms option does not affect the alignment  of  fields  in
		records	 or  items  in	COMMON.	 Use -align norecords to pack
		fields of records on the next byte boundary for compatibility
		with HP Fortran on OpenVMS systems.

	      · INCLUDE qualifiers

		/LIST and /NOLIST are recognized at the end of the file path-
		name in an INCLUDE statement at compile time.

		If the file name in the INCLUDE statement  does	 not  specify
		the complete path, the path used is the current directory.

	      · Quotation mark character (")

		A  quotation mark is recognized as starting an octal constant
		(such as "177) instead of a character literal ("...").

	      · Deleted records in relative files

		When a record in a relative file is deleted, the  first	 byte
		of  that  record is set to a known character (currently '@').
		Attempts to  read  that	 record	 later	result	in  ATTACCNON
		errors.	 The rest of the record (the whole record, if -vms is
		not specified) is set to  nulls	 for  unformatted  files  and
		spaces for formatted files.

	      · ENDFILE records

		When  an ENDFILE is performed on a sequential unit, an actual
		one byte record containing a Ctrl/Z is written to  the	file.
		If -vms is not specified, an internal ENDFILE flag is set and
		the file is truncated.

		The -vms option does not affect ENDFILE	 on  relative  files;
		such files are truncated.

	      · Reading deleted records and ENDFILE records

		The run-time direct access READ routine checks the first byte
		of the retrieved record. If this byte is '@' or NULL  ("\0"),
		then ATTACCNON is returned.

		The  run-time sequential access READ routine checks to see if
		the record it just read is  one	 byte  long  and  contains  a
		Ctrl/Z. If this is true, it returns EOF.

	      · OPEN statement effects

		Carriage  control  defaults to FORTRAN if the file is format-
		ted, and the unit is connected	to  a  terminal	 (checked  by
		means  of isatty(3)). Otherwise, carriage control defaults to
		LIST.

		The -vms option affects the record length for  direct  access
		and   relative	 organization  files.	The  buffer  size  is
		increased by one (to accommodate the deleted  record  charac-
		ter).

	      · Implied logical unit numbers

		Certain	 environment variables are recognized at run time for
		ACCEPT, PRINT, and TYPE statements, and for  READ  and	WRITE
		statements  that  do not specify a unit number, such as: READ
		(*,1000).

	      · Treatment of blanks in input

		The -vms option causes the defaults for keyword BLANK in OPEN
		statements  to become 'NULL' for an explicit OPEN, and 'ZERO'
		for an implicit OPEN of an external or internal file.

	      · Carriage control default

		If -vms -ccdefault default  is	specified,  carriage  control
		defaults  to FORTRAN if the file is formatted and the unit is
		connected to a terminal.

       -w     Disables all warning messages (same as the  -nowarn  and	-warn
	      nogeneral options).

       -W<n>  Disables warnings (n=0) or enables warnings (n=1).  The default
	      is -W1 (same as the -warn general option).  -W0 is the same  as
	      specifying -warn nogeneral, -nowarn, or -w.

       -Wa,<o1>[,<o2>,...]
	      Passes  options  <o1>, <o2>, and so forth, to the assembler for
	      processing.  If the assembler is not invoked, these options are
	      ignored.

       -warn [keyword]
	      Specifies	 the  level of diagnostic messages issued by the com-
	      piler. The following are -warn options:

	      · -warn all

		Enables all warning messages.  This is the same as specifying
		-warn with no keyword.

	      · -warn none

		Disables  all warning messages.	 This is the same as specify-
		ing -nowarn.

	      · -warn noalignments

		Disables warnings for data that	 is  not  naturally  aligned.
		The default is -warn alignments.

	      · -warn declarations

		Enables	 error	messages  about	 any undeclared symbols. This
		option makes the default data type of  a  variable  undefined
		(IMPLICIT NONE) rather than using the implicit Fortran rules.
		The default is -warn nodeclarations.

	      · -warn errors

		Tells the compiler to change all warning-level messages	 into
		error-level messages.  The default is -warn noerrors.

	      · -warn nogeneral

		Disables  all  information-level  and warning-level messages.
		The default is -warn general.

	      · -warn ignore_loc

		Enables warnings when %LOC is stripped from an argument.  The
		default is -warn noignore_loc.

	      · -warn interfaces

		Tells the compiler to check the interfaces of all SUBROUTINEs
		called and FUNCTIONs invoked in your  compilation  against  a
		set  of	 interface  blocks  stored separately from the source
		being compiled.

		The compiler generates a compile-time message if  the  inter-
		face  used  to	invoke a routine does not match the interface
		defined in a .mod file external to the source (that is, in  a
		.mod  generated	 by -gen-interfaces as opposed to a .mod file
		USEd in the source).  The compiler looks for these  .mods  in
		the  current  directory	 or in the directory specified by the
		include ( -I ) or -module option.  The default is -warn noin-
		terfaces.

	      · -warn stderrors

		Tells the compiler to change warnings about Fortran standards
		violations into error messages.	 This option sets the  -std95
		option.	  If  you  want	 Fortran  90  standards violations to
		become errors, you should specify -warn stderrors and -std90.
		The default is -warn nostderrors.

	      · -warn truncated_source

		Enables warnings when source exceeds the maximum columm width
		in fixed-format source files.  The default is  -warn  notrun-
		cated_source.

	      · -warn uncalled

		Enables	 warnings  when a statement function is never called.
		The default is -warn nouncalled.

	      · -warn unused

		Enables warnings about variables that are declared but	never
		used.  The default is -warn nounused.

	      · -warn nousage

		Disables  warnings  about questionable programming practices.
		The default is -warn usage.

       -watch [keyword]
	      Tells the compiler to display certain information to  the	 con-
	      sole output window.  The following are -watch options:

	      · -watch all

		Enables	 all  -watch options.  This is the same as specifying
		-watch with no keyword.

	      · -watch cmd

		Tells the compiler to display and execute  driver  tool	 com-
		mands.	The default is -watch nocmd.

	      · -watch source

		Tells the compiler to display the name of the file being com-
		piled.	The default is -watch nosource.

	      · -watch none

		Disables all -watch options.  This is the default.   This  is
		the same as specifying -nowatch.

       -WB    Turns  a	compile-time  bounds  check into a warning. Normally,
	      compile-time bounds checks are errors.

       -what  Displays the version strings of the  Fortran  command  and  the
	      compiler.

       -Wl,<o1>[,<o2>,...]
	      Passes options <o1>, <o2>, and so forth, to the linker for pro-
	      cessing.	If the linker  is  not	invoked,  these	 options  are
	      ignored.

       -Wp,<o1>[,<o2>,...]
	      Passes  options  <o1>, <o2>, and so forth, to the preprocessor.
	      If the preprocessor is not invoked, these options are  ignored.

       -X     Removes  standard directories from the include file search path
	      (same as the -nostdinc option).  You can use the -X option with
	      the  -I  option  to  prevent  the	 compiler  from searching the
	      default path for include files and direct it to use  an  alter-
	      nate path.

       -x<p> (i32 and i32em)
	      Generates specialized and optimized code for the processor that
	      executes your program.  The characters K, W, N, B, and P denote
	      the processor types (<p>).  The following are -x options:

	      · -xK

		Generates  code for Intel Pentium III processors and compati-
		ble Intel processors.

	      · -xW

		Generates code for Intel Pentium 4 processors and  compatible
		Intel processors.

	      · -xN

		Generates  code for Intel Pentium 4 and compatible Intel pro-
		cessors with Streaming SIMD Extensions 2. The resulting	 code
		may  contain  unconditional use of features that are not sup-
		ported on other processors.

		This option also enables new  optimizations  in	 addition  to
		Intel  processor-specific  optimizations  including  advanced
		data layout and code restructuring optimizations  to  improve
		memory accesses for Intel processors.

	      · -xB

		Generates  code for Intel Pentium M processors and compatible
		Intel processors.  Also enables new optimizations in addition
		to Intel processor-specific optimizations.

	      · -xP

		Generates code for Intel(R) Core(TM) Duo processors, Intel(R)
		Core(TM) Solo processors, Intel(R)  Pentium(R)	4  processors
		with  Streaming	 SIMD Extensions 3, and compatible Intel pro-
		cessors with Streaming SIMD Extensions 3. The resulting	 code
		may  contain  unconditional use of features that are not sup-
		ported on other processors.

		This option also enables new  optimizations  in	 addition  to
		Intel  processor-specific  optimizations  including  advanced
		data layout and code restructuring optimizations  to  improve
		memory accesses for Intel processors.

	      The  only	 options  available on Intel(R) EM64T systems are -xW
	      and -xP.

	      On Mac OS systems, the only valid option is -xP.	On these sys-
	      tems, it is the default and is always set.

	      If you specify more than one processor value, code is generated
	      for only the highest-performing processor specified. The	high-
	      est-performing to lowest-performing processor values are: P, B,
	      N, W, K.

	      Do not use these options if you are executing a  program	on  a
	      processor	 that is not an Intel(R) processor.  If you use these
	      options on a non-compatible processor to compile the main	 pro-
	      gram,  the  program may fail with an illegal instruction excep-
	      tion or display other unexpected behavior.

	      In particular, such programs compiled with processor values  N,
	      B,  or  P	 will display a fatal run-time error if they are exe-
	      cuted on unsupported processors. For more information, see your
	      Optimizing Applications guide.

       -Xlinker <value>
	      Passes <value> directly to the linker for processing.

       -y     Specifies	 that the source file should be checked only for cor-
	      rect syntax  (same  as  the  -syntax-only,  -fsyntax-only,  and
	      -syntax options).

       -zero  Initializes  to  zero  all  local scalar variables of intrinsic
	      type INTEGER, REAL, COMPLEX, or LOGICAL that are saved but  not
	      yet  initialized.	  The  default	is -nozero.  Use -save on the
	      command line to make all local variables specifically marked as
	      SAVE.

       -Zp[n] Aligns fields of records and components of derived types on the
	      smaller of the size boundary specified  or  the  boundary	 that
	      will  naturally  align  them  (same  as  the  -align rec<n>byte
	      option).	The [n] can be 1, 2, 4, 8, or  16.   If	 you  do  not
	      specify [n], you get -Zp16, which is the default.

EXAMPLES
       The  following  examples	 demonstrate  optimization and multiple input
       files:

       1)  ifort ax.f90

	   This command compiles  ax.f90  producing  executable	 file  a.out.
	   Optimizations occur by default.

       2)  ifort -o abc ax.f90 bx.f90 cx.f90 -ipo

	   This	 command  uses	option -o to name the executable file abc and
	   compiles ax.f90, bx.f90, and cx.f90 as one program with  interpro-
	   cedural analysis.

       3)  ifort -c ax.f90 bx.f90 cx.f90

	   This	 command uses option -c to suppress linking and produce indi-
	   vidual object files ax.o, bx.o, and	cx.o.  Interprocedural	opti-
	   mizations are prevented.

       4)  ifort -c -O1 sub2.f90
	   ifort -c -O1 sub3.f90
	   ifort -o main.exe -g -O0 main.f90 sub2.o sub3.o

	   The	first  two commands show incremental compilation with minimal
	   optimization. The first command generates an object file for sub2;
	   the second generates an object file for sub3.

	   The	last  command uses option -O0 to disable all compiler default
	   optimizations. It uses option -g to	generate  symbolic  debugging
	   information and line numbers in the object code, which can be used
	   by a source-level debugger.

RESTRICTIONS
       The standard libraries, like libc,  are	loaded	with  the  -l  loader
       option  and  not	 a full pathname.  The wrong library can be loaded if
       there are files with names like libc.a or libc.so in  the  directories
       specified  with	the  -L	 loader option, or in the default directories
       searched by the loader.

       For ifort, when multiple source files are  compiled  together  without
       the  -c	option,	 the  suffix  of the first source file determines the
       default source form for the entire compilation.

DIAGNOSTICS
       The ifort command produces diagnostic messages that are intended to be
       self-explanatory.  The loader can also produce occasional messages.

PREDEFINED SYMBOLS
       The driver defines symbols (or macros) at the start of compilation and
       when certain compiler options are specified during compilation.

       The following symbols are defined on all systems at the start of	 com-
       pilation:

       __INTEL_COMPILER=910
       __INTEL_COMPILER_BUILD_DATE=<YYYYMMDD>
       __i386__	 (i32 only)
       __i386	 (i32 only)
       i386	 (i32 only)

       The  following  symbols	are  defined on Linux systems at the start of
       compilation:

       __ELF__
       __linux__
       __linux
       linux
       __gnu_linux__
       __unix__
       __unix
       unix
       __ia64__	 (i64 only)
       __ia64	 (i64 only)
       ia64	 (i64 only; deprecated)
       __x86_64__  (i32em only)
       __x86_64	 (i32em only)

       The following symbols are defined on Mac OS systems at  the  start  of
       compilation:

       __APPLE__
       __MACH__
       __PIC__
       __pic__

       The following symbols are defined on all systems during compilation if
       certain compiler options are specified:

       _OPENMP=200505
	      Defined if option -openmp is specified.

       _PGO_INSTRUMENT
	      Defined if option -prof-gen is specified.

ENVIRONMENT VARIABLES
       You can customize your environment by using run-time and	 compile-time
       environment  variables, or by using OpenMP or Profile Guided Optimiza-
       tion (PGO) environment variables.

   Run-Time Environment Variables
       The following are run-time environment variables.  For  more  informa-
       tion  on	 these	variables, see the Intel(R) Fortran Building Applica-
       tions guide.

       Note that some environment variables are	 enabled  (set	to  true)  by
       specifying Y, y, T, t, or 1; they are disabled (set to false) by spec-
       ifying N, n, F, f, or 0.

       decfort_dump_flag
	      If set to true, a core dump will be taken when any severe Intel
	      Fortran  run-time	 error	occurs.	  If the program is executing
	      under a debugger, a signal will be raised, which will allow you
	      to trace back to where the error was detected.

       F_UFMTENDIAN
	      Lets  you	 specify the numbers of the units to be used for lit-
	      tle-endian-big-endian conversion purposes.

       FOR_ACCEPT
	      Lets you specify a file to be read from when the ACCEPT  state-
	      ment is used.

       FOR_DIAGNOSTIC_LOG_FILE
	      Lets  you specify a file where diagnostic information should be
	      written.

       FOR_DISABLE_DIAGNOSTIC_DISPLAY
	      If set to true, disables the display of all error	 information.

       FOR_DISABLE_STACK_TRACE
	      If  set to true, disables the call stack trace information that
	      follows the displayed severe error message text.

       FOR_IGNORE_EXCEPTIONS
	      If set to true, disables the default  run-time  exception	 han-
	      dling.

       FOR_NOERROR_DIALOGS
	      If  set to true, disables the display of dialog boxes when cer-
	      tain exceptions or errors occur.

       FOR_PRINT
	      Lets you specify a file to be written to when the PRINT  state-
	      ment is used.

       FOR_READ
	      Lets you specify a file to be read from when the READ statement
	      is used.

       FOR_TYPE
	      Lets you specify a file to be written to when the	 TYPE  state-
	      ment is used.

       FORT_BUFFERED
	      If  set to true, buffered I/O will be used at run time for out-
	      put of all Fortran I/O units, except those with output  to  the
	      terminal.

       FORT_CONVERTn
	      Lets  you specify the data format for an unformatted file asso-
	      ciated with a particular unit number (n).

       FORT_CONVERT.ext and FORT_CONVERT_ext
	      Lets you specify the data format for unformatted files  with  a
	      particular file extension (ext).

       FORTn  Lets  you	 specify  the  file name for a particular unit number
	      (n), when a file name is not specified in the OPEN statement or
	      an  implicit  OPEN is used, and option -fpscomp filesfromcmd is
	      not specified.

       NLSPATH
	      Lets you specify the path for the Intel Fortran run-time	error
	      message catalog.

       TBK_ENABLE_VERBOSE_STACK_TRACE
	      If  set to true, displays more detailed call stack trace infor-
	      mation in the event of an error.

       TBK_FULL_SRC_FILE_SPEC
	      If set to true, displays complete	 file  name  information  for
	      traceback output, including the path.

       TEMP, TMP, and TMPDIR
	      Lets you specify an alternate working directory where temporary
	      files are created.

   Compile-Time Environment Variables
       The following are compile-time environment variables.  For more infor-
       mation  on these variables, see the Intel(R) Fortran Building Applica-
       tions guide.

       FPATH  The path for include files.

       IFORTCFG
	      The configuration file to use instead of the default configura-
	      tion file.

       LD_LIBRARY_PATH
	      The path for shared (.so) library files on Linux* systems.

       DYLD_LIBRARY_PATH
	      The path for dynamic library files on Mac OS* systems.

       PATH   The path for compiler executable files.

       TMPDIR The  alternate  working  directory where scratch files are cre-
	      ated.

       INTEL_LICENSE_FILE
	      The path to the product license file.

   Standard OpenMP Environment Variables
       The following are standard OpenMP  environment  variables.   For	 more
       information  on	these  variables, see the Intel(R) Fortran Optimizing
       Applications guide.

       OMP_DYNAMIC
	      Enables (TRUE) or disables (FALSE) the  dynamic  adjustment  of
	      the number of threads. The default value is FALSE.

       OMP_NESTED
	      Enables  (TRUE)  or  disables  (FALSE)  nested parallelism. The
	      default value is FALSE.

       OMP_NUM_THREADS
	      Sets the number  of  threads  to	use  during  execution.	  The
	      default  is the number of processors currently installed in the
	      system while generating the executable.

       OMP_SCHEDULE
	      Specifies the type  of  run-time	scheduling.  The  default  is
	      static scheduling.

   Intel(R) Extensions to OpenMP Environment Variables
       The  following  are  Intel  extensions to the OpenMP environment vari-
       ables.  For more information on these variables, see the Intel(R) For-
       tran Optimizing Applications guide.

       KMP_LIBRARY
	      Selects the OpenMP run-time library throughput. The options for
	      the variable value are: serial, turnaround, or throughput indi-
	      cating the execution mode. The default value is throughput.

       KMP_STACKSIZE
	      Sets  the	 number of bytes to allocate for each parallel thread
	      to use as its private stack.  Use the optional suffix b, k,  m,
	      g,  or t, to specify bytes, kilobytes, megabytes, gigabytes, or
	      terabytes.  The default on IA-32 systems is 2m; the default  on
	      Intel(R) EM64T and Itanium(R)-based systems is 4m.

   Profile Guided Optimization Environment Variables
       The  following are Profile Guided Optimization (PGO) environment vari-
       ables.  For more information on these variables, see the Intel(R) For-
       tran Optimizing Applications guide.

       PROF_DIR
	      Specifies	 the directory in which dynamic information files are
	      created. This variable applies to all three phases of the	 pro-
	      filing process.

       PROF_DUMP_INTERVAL
	      Initiates	 Interval Profile Dumping in an instrumented applica-
	      tion. Normally, the  _PGOPTI_Set_Interval_Prof_Dump(int  inter-
	      val)  function  activates Interval Profile Dumping and sets the
	      approximate frequency at which dumps will occur.	The  interval
	      parameter	 is  measured  in milliseconds and specifies the time
	      interval at which profile dumping will occur.

	      You can use this environment variable as an alternative  method
	      of  initiating Interval Profile Dumping.	Set it to the desired
	      interval value before starting the application.

       PROF_NO_CLOBBER
	      Alters the feedback compilation  phase  slightly.	 By  default,
	      during  the feedback compilation phase, the compiler merges the
	      data from all dynamic  information  files	 and  creates  a  new
	      pgopti.dpi  file	if  .dyn  files	 are  newer  than an existing
	      pgopti.dpi file.

	      When this variable is set, the compiler does not overwrite  the
	      existing	pgopti.dpi file. Instead, the compiler issues a warn-
	      ing and you must remove the pgopti.dpi file if you want to  use
	      additional dynamic information files.

TECHNICAL SUPPORT
       The  Intel Fortran Compiler product web site offers timely and compre-
       hensive product information, including product features, white papers,
       and  technical  articles.  For  the  latest  information, please visit
       http://developer.intel.com/software/products/.

       Intel also provides a support web site that contains a rich repository
       of  self-help information, including getting started tips, known prod-
       uct issues, product errata,  license  information,  user	 forums,  and
       more.

       Registering your product entitles you to one year of technical support
       and product updates through Intel(R) Premier  Support.  Intel  Premier
       Support	is an interactive issue management and communication web site
       that enables you to submit issues and  review  their  status,  and  to
       download product updates anytime of the day.

       To  register  your  product, to contact Intel, or to seek product sup-
       port, please visit: http://www.intel.com/software/products/support.

SEE ALSO
       icc(1), gprof(1), ld(1)

       The Intel(R) Fortran Building Applications guide and the Intel Fortran
       Optimizing  Applications guide are the definitive sources for detailed
       information on using the Intel Fortran Compiler.

       In addition, see these other documents provided with the Intel Fortran
       Compiler:

       ·  Product Release Notes

       ·  The Intel Fortran Compiler Options guide

       ·  The Intel Fortran Language Reference

       ·  The Intel Fortran Libraries Reference

       You     can    access	these	 documents    from    <install-direc-
       tory>/doc/Doc_Index.htm.	      The	default	       path	   is
       /opt/intel/fc/9.x.xxx/doc/Doc_Index.htm (or .html).

COPYRIGHT INFORMATION
       Copyright (C) 1985-2006, Intel Corporation.
       *  Other brands and names are the property of their respective owners.

------------------------------------------------------------------
Other annotations
------------------------------------------------------------------

 dplace -  a tool for controlling placement of processes onto cpus

       -c Cpu_number(s)       Specified  as a list of cpu ranges:
              Example: "-c1", "-c2-4", "-c1,4-8,3".  Cpu  numbers
              are  NOT physical cpu numbers. They are logical cpu
              number that are relative to the cpus  that  are  in
              the set of allowed cpus as specified by the current
              cpumemset or "runon" command.  Cpu numbers start at
              0. If this option is not specified, all cpus of the
              current cpumemset are available. 

 taskset - retrieve or set a processes's CPU affinity (this tool 
           performs the same basic function as dplace, and for the 
           purposes of these benchmarks may be considered an alter-
           native to dplace)

        -c  -c, --cpu-list
              specifiy  a  numerical list of processors instead of 
              a bitmask.  The list may contain multiple items, 
              separated by comma, and ranges.  For example, 0,5,7,
              9-11.

 +FDO     this is shorthand notation to indicate that feedback opti-
          mization was used in the build.  The actual compiler flag
          used was -prof_gen for the first pass build, ie. before the 
          training run, and -prof_use  for the second pass build
          which is after the training run. 

 Extra Libraries:  libsmartheap64.a  
          this denotes that the 64 bit version of MicroQuill SmartHeap 
          Library 7.01 or later, from www.microquill.com,  was  used.
          The exact version used is documented under the Software 
          section  of each submission.
 

------------------------------------------------------------------
Portability flags for SPEC CPU2000:
------------------------------------------------------------------

-Dalloca=__builtin_alloca     Replace occurrences of alloca() with
                              __builtin_alloca. 
-DSPEC_CPU2000_LP64           Compile using LP64 programming model. 
-D_LIBC                       Don't nclude GNU C libraries 
-DLINUX_i386                  Linux Intel system, use "long long" as
                              64bit variable.  
-DHAS_ERRLIST                 Prog env provides specification for
                              "sys_errlist[]".  
-DSPEC_CPU2000_NEED_BOOL      Use SPEC provided definition of the boolean type.
-DSPEC_CPU2000_LINUX_IA64     Compile for an IA64 system running Linux.
-DPSEC_CPU2000_GLIBC22        Compatibility with 2.2 & later versions of glibc
-DSYS_IS_USG                  Specifies that the operating system is
                              USG compliant. 
-DSYS_HAS_TIME_PROTO          Do not explicitly declare  time().
-DSYS_HAS_SIGNAL_PROTO        Do not explicitly #include <signal.h>
-DSYS_HAS_IOCTL_PROTO         Do not explicitly declare  ioctl().
-DSYS_HAS_ANSI                System is ANSI compliant.
-DSYS_HAS_CALLOC_PROTO        Do not explicitly declare  calloc().
-FI                           Fixed-format F90 source code.