Developer Guide and Reference

Contents

mtune, tune

Performs optimizations for specific processors but does not cause extended instruction sets to be used (unlike -march).

Syntax

Linux:
-mtune
=
processor
Windows:
/tune
:
processor
Arguments
processor
Is the processor for which the compiler should perform optimizations. Possible values are:
generic
Optimizes code for the compiler's default behavior.
alderlake
amberlake
broadwell
cannonlake
cascadelake
coffeelake
cooperlake
goldmont
goldmont-plus
haswell
icelake-client
(or
icelake
)
icelake-server
ivybridge
kabylake
knl
knm
rocketlake
sandybridge
sapphirerapids
silvermont
skylake
skylake-avx512
tigerlake
tremont
whiskeylake
Optimizes code for processors that support the specified Intel® processor or microarchitecture code name.
Keywords
knl
and
silvermont
are only available on Windows* and Linux* systems.
Keyword
icelake
is deprecated and may be removed in a future release.
core-avx2
Optimizes code for processors that support Intel® Advanced Vector Extensions 2 (Intel® AVX2), Intel® AVX, SSE4.2, SSE4.1, SSE3, SSE2, SSE, and SSSE3 instructions.
core-avx-i
Optimizes code for processors that support
Float-16 conversion instructions and
the RDRND instruction, Intel® Advanced Vector Extensions (Intel® AVX), Intel® SSE4.2, SSE4.1, SSE3, SSE2, SSE, and SSSE3 instructions.
corei7-avx
Optimizes code for processors that support Intel® Advanced Vector Extensions (Intel® AVX), Intel® SSE4.2, SSE4.1, SSE3, SSE2, SSE, and SSSE3 instructions.
corei7
Optimizes code for processors that support Intel® SSE4 Efficient Accelerated String and Text Processing instructions. May also generate code for Intel® SSE4 Vectorizing Compiler and Media Accelerator, Intel® SSE3, SSE2, SSE, and SSSE3 instructions.
atom
Optimizes code for processors that support MOVBE instructions. May also generate code for SSSE3 instructions and Intel® SSE3, SSE2, and SSE instructions.
core2
Optimizes for the Intel® Core™2 processor family, including support for MMX™, Intel® SSE, SSE2, SSE3 and SSSE3 instruction sets.
pentium-mmx
Optimizes for Intel® Pentium® with MMX technology.
pentiumpro
Optimizes for Intel® Pentium® Pro, Intel Pentium II, and Intel Pentium III processors.
pentium4m
Optimizes for Intel® Pentium® 4 processors with MMX technology.
pentium-m
pentium4
pentium3
pentium
Optimizes code for Intel® Pentium® processors. Value
pentium3
is only available on Linux* systems.
Default
generic
Code is generated for the compiler's default behavior.
Description
This option performs optimizations for specific processors but does not cause extended instruction sets to be used (unlike
-march
).
The resulting executable is backwards compatible and generated code is optimized for specific processors. For example, code generated with
-mtune=core2
or
/tune:core2
will run correctly on 4th Generation Intel® Core™ processors, but it might not run as fast as if it had been generated using
-mtune=haswell
or
/tune:haswell
. Code generated with
-mtune=haswell
(
/tune:haswell
) or
-mtune=core-avx2
(
/tune:core-avx2
) will also run correctly on Intel® Core™2 processors, but it might not run as fast as if it had been generated using
-mtune=core2
or
/tune:core2
. This is in contrast to code generated with
-march=core-avx2
, which will not run correctly on older processors such as Intel® Core™2 processors.
Product and Performance Information
Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.
Notice revision #20201201
IDE Equivalent
Visual Studio:
Code Generation [Intel C++] >Intel Processor Microarchitecture-Specific Optimization
Eclipse:
Code Generation > Intel Processor Microarchitecture-Specific Optimization
Xcode:
Code Generation > Intel Processor Microarchitecture-Specific Optimization
Alternate Options
-mtune
Linux:
-mcpu
(this is a deprecated option)
Windows: None

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.