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 Conventions.

New compiler options are listed in tables below:

Windows* OS Options

Description

Default

/arch:IA32
(i32 only)

Generates code that will run on any Pentium or later processor.

OFF

/arch:SSE3 (i32, i64em)

Optimizes for Intel® Streaming SIMD Extensions 3 (Intel® SSE3).

OFF

/arch:SSSE3 (i32, i64em)

Optimizes for Intel® Supplemental Streaming SIMD Extensions 3 (Intel® SSSE3).

OFF

/arch:SSE4.1 (i32, i64em)

Optimizes for Intel® Streaming SIMD Extensions 4 Vectorizing Compiler and Media Accelerators.

OFF

/bigobj

Increases the number of sections that an object file can contain.

OFF

/debug:[no]expr-source-pos

Generates source position information at the statement level of granularity.

OFF

/debug:[no]parallel(i32, i64em)

Generates parallel debug code instrumentations needed for the thread data sharing and reentrant call detection of the Intel® Parallel Debugger Extension.

OFF

/homeparams

Tells the compiler to store parameters passed in registers to the stack.

OFF

/hotpatch
(i32, i64em)

Tells the compiler to prepare a routine for hotpatching

OFF

/MP

Creates multiple processes that can be used to compile large numbers of source files at the same time.

OFF

/QaxSSE2
(i32, i64em)

Can generate Intel® SSE2 and SSE instructions for Intel processors, and it can optimize for Intel® Pentium® 4 processors, Intel® Pentium® M processors, and Intel® Xeon® processors with Intel® SSE2.

OFF

/QaxSSE3
(i32, i64em)

Can generate Intel® SSE3, SSE2, and SSE instructions for Intel processors and it can optimize for processors based on Intel® Core™ microarchitecture and Intel NetBurst® microarchitecture.

OFF

/QaxSSSE3
(i32, i64em)

Can generate Intel® SSSE3, SSE3, SSE2, and SSE instructions for Intel processors and it can optimize for the Intel® Core™2 Duo processor family.

OFF

/QaxSSE4.1
(i32, i64em)

Can generate Intel® SSE4 Vectorizing Compiler and Media Accelerator instructions for Intel processors. Can generate Intel® SSSE3, SSE3, SSE2, and SSE instructions and it can optimize for Intel® 45nm Hi-k next generation Intel® Core™ microarchitecture.

OFF

/QaxSSE4.2
(i32, i64em)

Can generate Intel® SSE4 Efficient Accelerated String and Text Processing instructions supported by Intel® Core™ i7 processors. Can generate Intel® SSE4 Vectorizing Compiler and Media Accelerator, Intel® SSSE3, SSE3, SSE2, and SSE instructions and it can optimize for the Intel® Core™ processor family.

OFF

/Qcov-dir dir
(i32, i64em)

Specifies a directory for profiling information output files that can be used with the codecov or tselect tool.

OFF

/Qcov-file file
(i32, i64em)

Specifies an alternate file name for the profiling summary files that can be used with the codecov or tselect tool.

OFF

/Qdiag-enable:sc-parallel
(i32, i64em)

Enables analysis of parallelization in source code (parallel lint diagnostics).

OFF

/Qdiag-error-limit:n

Specifies the maximum number of errors allowed before compilation stops.

n=30

/Qdiag-once:id[,id,...]

Tells the compiler to issue one or more diagnostic messages only once.

OFF

/Qdiag-error-limit:n

Specifies the maximum number of errors allowed before compilation stops.

n=30

/Qdiag-once:id[,id,...]

Tells the compiler to issue one or more diagnostic messages only once.

OFF

/Qfast-transcendentals

Enables the compiler to replace calls to transcendental functions with faster but less precise implementations.

OFF

/Qfma
(i64 only)

Enables the combining of floating-point multiplies and add/subtract operations.

ON

/Qfp-relaxed
(i64 only)

Enables use of faster but slightly less accurate code sequences for math functions.

OFF

/Qfreestanding

Ensures that compilation takes place in a freestanding environment.

OFF

/Qhelp-pragma
(i32, i64em)

Displays all supported pragmas.

OFF

/Qinstruction:[no]movbe
(i32, i64em)

Determines whether MOVBE instructions are generated for Intel processors.

OFF

/Qipp

Tells the compiler to link to the some or all of the Intel® IPP libraries.

OFF

/Qmkl

Tells the compiler to link to certain parts of the Intel® Math Kernel Library.

OFF

/Qopenmp-link:library

Controls whether the compiler links to static or dynamic OpenMP run-time libraries.

/Qopenmp-link:dynamic

/Qopenmp-task:model

Lets you choose an OpenMP* tasking model.

/Qopenmp-task:omp

/Qopenmp-threadprivate:type

Lets you specify an OpenMP* threadprivate implementation.

/Qopenmp-threadprivate:legacy

/Qopt-block-factor:n

Lets you specify a loop blocking factor.

OFF

/Qopt-jump-tables:keyword

Enables or disables generation of jump tables for switch statements.

/Qopt-jump-tables:default

/Qopt-loadpair
(i64 only)

Enables loadpair optimization.

/Qopt-loadpair-

/Qopt-mod-versioning
(i64 only)

Enables versioning of modulo operations for certain types of operands.

/Qopt-mod-versioning-

/Qopt-prefetch-initial-values
(i64 only)

Enables or disables prefetches that are issued before a loop is entered.

/Qopt-prefetch-initial-values

/Qopt-prefetch-issue-excl-hint
(i64 only)

Determines whether the compiler issues prefetches for stores with exclusive hint.

/Qopt-prefetch-issue-excl-hint-

/Qopt-prefetch-next-iteration
(i64 only)

Enables or disables prefetches for a memory access in the next iteration of a loop.

/Qopt-prefetch-next-iteration

/Qopt-subscript-in-range
(i32, i64em)

Determines whether the compiler assumes no overflows in the intermediate computation of subscript expressions in loops.

/Qopt-subscript-in-range-

/Qpar-affinity:[modifier,...]type[,permute][,offset]

Specifies thread affinity.

OFF

/Qpar-num-threads:n

Specifies the number of threads to use in a parallel region.

OFF

/Qprof-data-order

Enables or disables data ordering if profiling information is enabled.

/Qprof-data-order

/Qprof-func-order

Enables or disables function ordering if profiling information is enabled.

/Qprof-func-order

/Qprof-hotness-threshold

Lets you set the hotness threshold for function grouping and function ordering.

OFF

/Qprof-src-dir

Determines whether directory information of the source file under compilation is considered when looking up profile data records.

/Qprof-src-dir

/Qprof-src-root

Lets you use relative directory paths when looking up profile data and specifies a directory as the base.

OFF

/Qprof-src-root-cwd

Lets you use relative directory paths when looking up profile data and specifies the current working directory as the base.

OFF

/Qtbb

Tells the compiler to link to the Intel® TBB libraries.

OFF

/Qtcollect-filter

Lets you enable or disable the instrumentation of specified functions.

OFF

/Quse-intel-optimized-headers
(i32, i64em)

Determines whether the performance headers directory is added to the include path search list.

OFF

/Quse-msasm-symbols
(i32, i64em)

Tells the compiler to use a dollar sign ("$") when producing symbol names.

OFF

/Qvc9
(i32, i64em)

Specifies compatibility with Microsoft* Visual Studio 2008.

varies

/Qvec
(i32, i64em)

Enables or disables vectorization and transformations enabled for vectorization.

/Qvec

/Qvec-threshold
(i32, i64em)

Sets a threshold for the vectorization of loops.

/Qvec-threshold100

/QxHost
(i32, i64em)

Can generate instructions for the highest instruction set available on the compilation host processor.

OFF

/QxAVX
(i32, i64em)

Optimizes for Intel processors that support Intel® Advanced Vector Extensions (Intel® AVX).

OFF

/QxSSE2
(i32, i64em)

Can generate Intel® SSE2 and SSE instructions for Intel processors, and it can optimize for Intel® Pentium® 4 processors, Intel® Pentium® M processors, and Intel® Xeon® processors with Intel® SSE2.

ON

/QxSSE3
(i32, i64em)

Can generate Intel® SSE3, SSE2, and SSE instructions for Intel processors, and it can optimize for processors based on Intel® Core™ microarchitecture and Intel NetBurst® microarchitecture.

OFF

/QxSSE3_ATOM
(i32, i64em)

Optimizes for the Intel® Atom™ processor and Intel® Centrino® Atom™ Processor Technology.

OFF

/QxSSSE3
(i32, i64em)

Can generate Intel® SSSE3, SSE3, SSE2, and SSE instructions for Intel processors and it can optimize for the Intel® Core™2 Duo processor family.

OFF

/QxSSE4.1
(i32, i64em)

Can generate Intel® SSE4 Vectorizing Compiler and Media Accelerator instructions for Intel processors. Can generate Intel® SSSE3, SSE3, SSE2, and SSE instructions and it can optimize for Intel® 45nm Hi-k next generation Intel® Core™ microarchitecture.

OFF

/QxSSE4.2
(i32, i64em)

Can generate Intel® SSE4 Efficient Accelerated String and Text Processing instructions supported by Intel® Core™ i7 processors. Can generate Intel® SSE4 Vectorizing Compiler and Media Accelerator, Intel® SSSE3, SSE3, SSE2, and SSE instructions and it can optimize for the Intel® Core™ processor family.

OFF

/Werror-all

Changes all warnings and remarks to errors.

OFF

/Yd

Tells the compiler to add complete debugging information in all object files created from a precompiled header (.pch) file when option /Zi or /Z7 is specified.

OFF

/Zx
(i64)

Disables certain optimizations, such as software pipelining and global scheduling optimizations, that make it difficult to debug optimized code.

OFF

Linux* OS and Mac OS* X Options

Description

Default

-axSSE2
(i32, i64em; Linux only)

Can generate Intel® SSE2 and SSE instructions for Intel processors, and it can optimize for Intel® Pentium® 4 processors, Intel® Pentium® M processors, and Intel® Xeon® processors with Intel® SSE2.

OFF

-axSSE3
(i32, i64em)

Can generate Intel® SSE3, SSE2, and SSE instructions for Intel processors, and it can optimize for processors based on Intel® Core microarchitecture and Intel NetBurst® microarchitecture. On Mac OS* X systems, this option is only available on IA-32 architecture.

OFF

-axSSSE3
(i32, i64em)

Can generate Intel® SSSE3, SSE3, SSE2, and SSE instructions for Intel processors and it can optimize for the Intel® Core™2 Duo processor family. On Mac OS* X systems, this option is only available on Intel® 64 architecture.

OFF

-axSSE4.1
(i32, i64em)

Can generate Intel® SSE4 Vectorizing Compiler and Media Accelerator instructions for Intel processors. Can generate Intel® SSSE3, SSE3, SSE2, and SSE instructions and it can optimize for Intel® 45nm Hi-k next generation Intel® Core™ microarchitecture.

OFF

-axSSE4.2
(i32, i64em)

Can generate Intel® SSE4 Efficient Accelerated String and Text Processing instructions supported by Intel® Core™ i7 processors. Can generate Intel® SSE4 Vectorizing Compiler and Media Accelerator, Intel® SSSE3, SSE3, SSE2, and SSE instructions and it can optimize for the Intel® Core™ processor family.

OFF

-debug parallel(i32, i64em; Linux* OS only)

Generates parallel debug code instrumentations needed for the thread data sharing and reentrant call detection of the Intel® Parallel Debugger Extension.

OFF

-diag-enable sc-parallel
(i32, i64em)

Enables analysis of parallelization in source code (parallel lint diagnostics).

OFF

-diag-error-limit n

Specifies the maximum number of errors allowed before compilation stops.

n=30

-diag-once id[,id,...]

Tells the compiler to issue one or more diagnostic messages only once.

OFF

-falign-stack
(i32 only)

Tells the compiler the stack alignment to use on entry to routines.

-falign-stack=default

-fasm-blocks
(i32, i64em; Mac OS* X only)

Enables the use of blocks and entire functions of assembly code within a C or C++ file.

OFF

-fast-transcendentals

Enables the compiler to replace calls to transcendental functions with faster but less precise implementation.

OFF

-ffreestanding

Ensures that compilation takes place in a freestanding environment.

OFF

-fma
(i64 only; Linux* OS only)

Enables the combining of floating-point multiplies and add/subtract operations.

ON

fnon-call-exceptions
(i32, i64em)

Allows trapping instructions to throw C++ exceptions.

-fno-non-call-exceptions

-fp-relaxed
(i64 only; Linux* OS only)

Enables use of faster but slightly less accurate code sequences for math functions.

OFF

-fpie
(Linux* OS only)

Tells the compiler to generate position-independent code to link into executables.

OFF

-fstack-protector
(i32, i64em)

Determines whether the compiler generates code that detects some buffer overruns. Same as option -fstack-security-check.

-fno-stack-protector

-help-pragma
(i32, i64em)

Displays all supported pragmas.

OFF

-ipp

Tells the compiler to link to the some or all of the Intel® IPP libraries.

OFF

-m32, -m64
(i32, i64em)

Tells the compiler to generate code for a specific architecture.

OFF

-mia32
(i32 only)

Generates code that will run on any Pentium or later processor.

OFF

-minstruction=[no]movbe
(i32, i64em)

Determines whether MOVBE instructions are generated for Intel processors.

OFF

-mkl

Tells the compiler to link to certain parts of the Intel® Math Kernel Library.

OFF

-mssse3
(i32, i64em)

Generates code for Intel® Supplemental Streaming SIMD Extensions 3 (Intel® SSSE3).

Linux systems: OFF Mac OS X systems using Intel® 64 architecture: ON

-msse4.1
(i32, i64em)

Generates code for Intel® Streaming SIMD Extensions 4 Vectorizing Compiler and Media Accelerators.

OFF

-multiple-processes

Creates multiple processes that can be used to compile large numbers of source files at the same time.

OFF

-openmp-link library

Controls whether the compiler links to static or dynamic OpenMP run-time libraries.

-openmp-link dynamic

-openmp-task model

Lets you choose an OpenMP* tasking model.

-openmp-task omp

-openmp-threadprivate=type
(Linux* OS only)

Lets you specify an OpenMP* threadprivate implementation.

-openmp-threadprivate=legacy

-opt-block-factor=n

Lets you specify a loop blocking factor.

OFF

-opt-calloc
(Linux* OS only)

Tells the compiler to substitute a call to _intel_fast_calloc() for a call to calloc().

OFF

-opt-jump-tables=keyword

Enables or disables generation of jump tables for switch statements.

-opt-jump-tables=default

-opt-loadpair
(i64 only; Linux* OS only)

Enables loadpair optimization.

-no-opt-loadpair

-opt-mod-versioning
(i64 only; Linux* OS only)

Enables versioning of modulo operations for certain types of operands.

-no-opt-mod-versioning

-opt-prefetch-initial-values
(i64 only; Linux* OS only)

Enables or disables prefetches that are issued before a loop is entered.

-opt-prefetch-initial-values

-opt-prefetch-issue-excl-hint
(i64 only)

Determines whether the compiler issues prefetches for stores with exclusive hint.

-no-opt-prefetch-issue-excl-hint

-opt-prefetch-next-iteration
(i64 only; Linux* OS only)

Enables or disables prefetches for a memory access in the next iteration of a loop.

-opt-prefetch-next-iteration

-opt-subscript-in-range
(i32, i64em)

Determines whether the compiler assumes no overflows in the intermediate computation of subscript expressions in loops.

-no-opt-subscript-in-range

-par-affinity=[modifier,...]type[,permute][,offset]
(Linux* OS only)

Specifies thread affinity.

OFF

-par-num-threads=n

Specifies the number of threads to use in a parallel region.

OFF

-pie
(Linux* OS only)

Produces a position-independent executable on processors that support it.

OFF

-prof-data-order
(Linux* OS only)

Enables or disables data ordering if profiling information is enabled.

-no-prof-data-order

-prof-func-groups
(i32, i64em; Linux* OS only)

Enables or disables function grouping if profiling information is enabled.

-no-prof-func-groups

-prof-func-order
(Linux* OS only)

Enables or disables function ordering if profiling information is enabled.

-no-prof-func-order

-prof-hotness-threshold
(Linux* OS only)

Lets you set the hotness threshold for function grouping and function ordering.

OFF

-prof-src-root

Lets you use relative directory paths when looking up profile data and specifies a directory as the base.

OFF

-prof-src-root-cwd

Lets you use relative directory paths when looking up profile data and specifies the current working directory as the base.

OFF

-staticlib
(i32, i64em; Mac OS* X only)

Invokes the libtool command to generate static libraries.

OFF

-tbb

Tells the compiler to link to the Intel® TBB libraries.

OFF

-tcollect-filter
(Linux* OS only)

Lets you enable or disable the instrumentation of specified functions.

OFF

-use-intel-optimized-headers
(i32, i64em)

Determines whether the performance headers directory is added to the include path search list.

OFF

-vec
(i32, i64em)

Enables or disables vectorization and transformations enabled for vectorization.

-vec

-vec-threshold
(i32, i64em)

Sets a threshold for the vectorization of loops.

-vec-threshold100

-Werror-all

Changes all warnings and remarks to errors.

OFF

-Wformat-security

Issues a warning when the use of format functions may cause security problems.

-Wno-format-security

-xHost
(i32, i64em)

Can generate instructions for the highest instruction set available on the compilation host processor.

OFF

-xAVX
(i32, i64em)

Optimizes for Intel processors that support Intel® Advanced Vector Extensions (Intel® AVX).

OFF

-xSSE2
(i32, i64em; Linux only)

Can generate Intel® SSE2 and SSE instructions for Intel processors, and it can optimize for Intel® Pentium® 4 processors, Intel® Pentium® M processors, and Intel® Xeon® processors with Intel® SSE2.

ON

-xSSE3
(i32, i64em)

Can generate Intel® SSE3, SSE2, and SSE instructions for Intel processors and it can optimize for processors based on Intel® Core™ microarchitecture and Intel NetBurst® microarchitecture. On Mac OS* X systems, this option is only available on IA-32 architecture.

Linux systems:OFF Mac OS X systems using IA-32 architecture: ON

-xSSE3_ATOM
(i32, i64em)

Optimizes for the Intel® Atom™ processor and Intel® Centrino® Atom™ Processor Technology.

OFF

-xSSSE3
(i32, i64em)

Can generate Intel® SSSE3, SSE3, SSE2, and SSE instructions for Intel processors and it can optimize for the Intel® Core™2 Duo processor family. On Mac OS* X systems, this option is only available on Intel® 64 architecture.

Linux systems:OFF Mac OS X systems using Intel® 64 architecture: ON

-xSSE4.1
(i32, i64em)

Can generate Intel® SSE4 Vectorizing Compiler and Media Accelerator instructions for Intel processors. Can generate Intel® SSSE3, SSE3, SSE2, and SSE instructions and it can optimize for Intel® 45nm Hi-k next generation Intel® Core™ microarchitecture.

OFF

-xSSE4.2
(i32, i64em)

Can generate Intel® SSE4 Efficient Accelerated String and Text Processing instructions supported by Intel® Core™ i7 processors. Can generate Intel® SSE4 Vectorizing Compiler and Media Accelerator, Intel® SSSE3, SSE3, SSE2, and SSE instructions and it can optimize for the Intel® Core™ processor family.

OFF