New Options

This topic lists the options that provide new functionality in this release.

Some compiler options are only available on certain systems, as indicated by these labels:

Label Meaning
i32 The option is available on systems using IA-32 architecture.
i64em The option is available on systems using IntelŪ 64 architecture.
i64 The option is available on systems using IA-64 architecture.

If no label appears, the option is available on all supported systems.

If "only" appears in the label, the option is only available on the identified system.

For more details on the options, refer to the Alphabetical Compiler Options section.

For information on conventions used in this table, see Notation Conventions.

New compiler options are listed in tables below:

Windows* Options Description Default
/assume:[no]old_boz Determines whether the binary, octal, and hexadecimal constant arguments in the intrinsic functions INT, REAL, DBLE, and CMPLX are treated as signed integer constants. /assume:noold_boz
/assume:[no]old_unit_star Determines whether READs or WRITEs to UNIT=* go to stdin or stdout, respectively. /assume:old_unit_star
/assume:[no]old_xor Determines whether .XOR. is defined by the compiler as an intrinsic operator. /assume:old_xor
/assume:[no]realloc_lhs Determines whether allocatable objects on the left hand side of an assignment are treated according to Fortran 95/90 rules or Fortran 2003 rules. /assume:norealloc_lhs
/assume:[no]std_mod_proc_name Determines whether the names of module procedures are allowed to conflict with user external symbol names. /assume:nostd_mod_proc_name
/check:[no]pointers Determines whether checking occurs for certain disassociated or uninitialized pointers or unallocated allocatable objects. /check:nopointers
/heap-arrays[:size] Puts automatic arrays and arrays created for temporary computations on the heap instead of the stack. OFF
/help [category] Displays all available compiler options or a category of compiler options. OFF
/QaxS
(i32, i64em)
Can generate specialized code paths using IntelŪ Streaming SIMD Extensions 4 (SSE4) Vectorizing Compiler and Media Accelerators instructions for future Intel processors that support the instruction set and it can optimize for the architecture. OFF
/Qdiag-type:diag-list Controls the display of diagnostic information. OFF
/Qdiag-dump Tells the compiler to print all enabled diagnostic messages and stop compilation. OFF
/Qdiag-enable:sv-include Tells the Static Verifier to analyze include files and source files when issuing diagnostic message. OFF
/Qdiag-file[:file] Causes the results of diagnostic analysis to be output to a file. OFF
/Qdiag-file-append[:file] Causes the results of diagnostic analysis to be appended to a file. OFF
/Qdiag-id-numbers[-] Tells the compiler to display diagnostic messages by using their ID number values. ON
/Qfnalign[:n]
(i32, i64em)
Tells the compiler to align functions on an optimal byte boundary. /Qfnalign-
/Qfp-speculation=mode Tells the compiler the mode in which to speculate on floating-point operations. /Qfp-speculation=fast
/Qinline-dllimport[-] Determines whether dllimport functions are inlined. /Qinline-dllimport
/Qinstrument-functions[-] Determines whether function entry and exit points are instrumented. /Qinstrument-functions-
/Qipo-jobs:n Specifies the number of commands to be executed simultaneously during the link phase of Interprocedural Optimization (IPO). /Qipo-jobs:1
/Qkeep-static-consts[-] Tells the compiler to preserve allocation of variables that are not referenced in the source. /Qkeep-static-consts-
/Qopenmp-lib:type Lets you specify an OpenMP* run-time library to use for linking. /Qopenmp-lib:legacy
/Qopt-multi-version-aggressive[-]
(i32, i64em)
Tells the compiler to use aggressive multi-versioning to check for pointer aliasing and scalar replacement. /Qopt-multi-version-aggressive-
/Qopt-ra-region-strategy[:keyword]
(i32, i64em)
Selects the method that the register allocator uses to partition each routine into regions. /Qopt-ra-region-strategy:default
/Qopt-streaming-stores
(i32, i64em)
Enables generation of streaming stores for optimization. /Qopt-streaming-stores:auto
/Qpar-adjust-stack:n
(i32, i64em)
Tells the compiler to generate code to adjust the stack size for a fiber-based main thread. /Qpar-adjust-stack:0
/Qpar-runtime-control[-] Generates code to perform run-time checks for loops that have symbolic loop bounds. /Qpar-runtime-control-
/Qpar-schedule-keyword[[:]n] Specifies a scheduling algorithm for DO loop iterations. OFF
/Qsave-temps[-] Tells the compiler to save intermediate files created during compilation. .obj files are saved
/Qtcollect Inserts instrumentation probes calling the IntelŪ Trace Collector API. OFF
/Qtprofile Generates instrumentation to analyze multi-threading performance. OFF
/Qunroll-aggressive[-]
(i32, i64em)
Tells the compiler to use aggressive, complete unrolling for loops with small constant trip counts. /Qunroll-aggressive-
/Qvec-guard-write[-]
(i32, i64em)
Tells the compiler to perform a conditional check in a vectorized loop. /Qvec-guard-write-
/QxO
(i32, i64em)
Can generate SSE3, SSE2, and SSE instructions, and it can optimize for Intel processors based on IntelŪ Core™ microarchitecture and Intel NetburstŪ microarchitecture. OFF
/QxS
(i32, i64em)
Can generate SSE4 Vectorizing Compiler and Media Accelerators instructions for future Intel processors that support the instructions. OFF
/stand:f03 or /std03 Causes the compiler to issue messages for language elements that are not standard in Fortran 2003. /nostand

 

Linux* and Mac OS* X Options Description Default
-assume [no]old_boz Determines whether the binary, octal, and hexadecimal constant arguments in intrinsic functions INT, REAL, DBLE, and CMPLX are treated as signed integer constants. -assume noold_boz
-assume [no]old_unit_star Determines whether READs or WRITEs to UNIT=* go to stdin or stdout, respectively. -assume old_unit_star
-assume [no]old_xor Determines whether .XOR. is defined by the compiler as an intrinsic operator. -assume old_xor
-assume [no]realloc_lhs Determines whether allocatable objects on the left hand side of an assignment are treated according to Fortran 95/90 rules or Fortran 2003 rules. -assume norealloc_lhs
-assume [no]std_mod_proc_name Determines whether the names of module procedures are allowed to conflict with user external symbol names. -assume nostd_mod_proc_name
-axS
(i32, i64em)
Can generate specialized code paths using IntelŪ Streaming SIMD Extensions 4 (SSE4) Vectorizing Compiler and Media Accelerators instructions for future Intel processors that support the instruction set and it can optimize for the architecture. OFF
-check [no]pointers Determines whether checking occurs for certain disassociated or uninitialized pointers or unallocated allocatable objects. -check nopointers
-cxxlib-nostd Prevents the compiler from linking with the standard C++ library. OFF
-diag-type diag-list Controls the display of diagnostic information. OFF
-diag-dump Tells the compiler to print all enabled diagnostic messages and stop compilation. OFF
-diag-enable sv-include Tells the Static Verifier to analyze include files and source files when issuing diagnostic message. OFF
-diag-file[=file] Causes the results of diagnostic analysis to be output to a file. OFF
-diag-file-append[=file] Causes the results of diagnostic analysis to be appended to a file. OFF
-[no-]diag-id-numbers Tells the compiler to display diagnostic messages by using their ID number values. -diag-id-numbers
-dumpmachine Displays the target machine and operating system configuration. OFF
-f[no-]align-functions[=n]
(i32, i64em)
Tells the compiler to align functions on an optimal byte boundary. -no-falign-functions
-f[no-]instrument-functions Determines whether function entry and exit points are instrumented. -fno-instrument-functions
-f[no-]keep-static-consts Tells the compiler to preserve allocation of variables that are not referenced in the source. -fno-keep-static-consts
-fp-speculation=mode Tells the compiler the mode in which to speculate on floating-point operations. -fp-speculation=fast
-[no-]func-groups
(i32, i64em; Linux only)
Enables or disables function grouping if profiling information is enabled. -no-func-groups
-heap-arrays [size] Puts automatic arrays and arrays created for temporary computations on the heap instead of the stack. OFF
-help [category] Displays all available compiler options or a category of compiler options. OFF
-ipo-jobsn Specifies the number of commands to be executed simultaneously during the link phase of Interprocedural Optimization (IPO). -ipo-jobs1
-m32
(i32, i64em; Mac OS X only)
Tells the compiler to generate code for IA-32 architecture. OFF
-m64
(i32, i64em; Mac OS X only)
Tells the compiler to generate code for IntelŪ 64 architecture. OFF
-march=processor
(i32, i64em; Linux only)
Tells the compiler to generate code for a specified processor. i32: OFF
i64em: pentium4
-mssen
(i32, i64em)
Tells the compiler to generate code for certain IntelŪ PentiumŪ processors. OFF
-mtune=core2
(i32, i64; Linux only)
Optimizes for the IntelŪ Core™2  processor family. i32: pentium4
i64: itanium2
-openmp-lib type
(Linux only)
Lets you specify an OpenMP* run-time library to use for linking. -openmp-lib legacy
-opt-malloc-options=n
(i32, i64em)
Lets you specify an alternate algorithm for malloc(). -opt-malloc-options=0
-[no-]opt-multi-version-aggressive
(i32, i64em)
Tells the compiler to use aggressive multi-versioning to check for pointer aliasing and scalar replacement. -no-opt-multi-version-aggressive
-[no-]opt-ra-region-strategy[=keyword]
(i32, i64em)
Selects the method that the register allocator uses to partition each routine into regions. -opt-ra-region-strategy:default
-opt-streaming-stores
(i32, i64em)
Enables generation of streaming stores for optimization. -opt-streaming-stores auto
-[no-]par-runtime-control Generates code to perform run-time checks for loops that have symbolic loop bounds. -no-par-runtime-control
-par-schedule-keyword[=n] Specifies a scheduling algorithm for DO loop iterations. OFF
-[no-]save-temps Tells the compiler to save intermediate files created during compilation. -no-save-temps
-shared-intel Causes Intel-provided libraries to be linked in dynamically. OFF
-shared-libgcc

(Linux only)

Links the GNU libgcc library dynamically. OFF
-stand f03 or -std03 Causes the compiler to issue messages for language elements that are not standard in Fortran 2003. -nostand
-static-intel Causes Intel-provided libraries to be linked in statically. OFF
-static-libgcc

(Linux only)

Links the GNU libgcc library statically. OFF
-tcollect
(Linux only)
Inserts instrumentation probes calling the IntelŪ Trace Collector API. OFF
-tprofile Generates instrumentation to analyze multi-threading performance. OFF
-[no-]unroll-aggressive
(i32, i64em)
Tells the compiler to use aggressive, complete unrolling for loops with small constant trip counts. -no-unroll-aggressive
-[no-]vec-guard-write
(i32, i64em)
Tells the compiler to perform a conditional check in a vectorized loop. -no-vec-guard-write
-xO
(i32, i64em)
Can generate SSE3, SSE2, and SSE instructions, and it can optimize for Intel processors based on IntelŪ Core™ microarchitecture and Intel NetburstŪ microarchitecture. OFF
-xS
(i32, i64em)
Can generate SSE4 Vectorizing Compiler and Media Accelerators instructions for future Intel processors that support the instructions. OFF