Intel® C++ Compiler Classic Developer Guide and Reference

ID 767249
Date 7/13/2023
Public
Document Table of Contents

march

Tells the compiler to generate code for processors that support certain features.

Syntax

Linux:

-march=processor

macOS:

-march=processor

Windows:

None

Arguments

processor

Tells the compiler the code it can generate. Possible values are:

alderlake
amberlake
broadwell
cannonlake
cascadelake
coffeelake
cooperlake
goldmont
goldmont-plus
haswell
icelake-client(or icelake)
icelake-server
ivybridge
kabylake
rocketlake
sandybridge
sapphirerapids
silvermont
skylake
skylake-avx512
tigerlake
tremont
whiskeylake

May generate instructions for processors that support the specified Intel® processor or microarchitecture code name.

Keyword silvermont is only available on Linux* systems.

Keyword icelake is deprecated and may be removed in a future release.

core-avx2

Generates 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

Generates 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

Generates code for processors that support Intel® Advanced Vector Extensions (Intel® AVX), Intel® SSE4.2, SSE4.1, SSE3, SSE2, SSE, and SSSE3 instructions.

corei7

Generates 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

Generates code for processors that support MOVBE instructions, depending on the setting of option -minstruction (Linux* and macOS) or /Qinstruction (Windows*). May also generate code for SSSE3 instructions and Intel® SSE3, SSE2, and SSE instructions.

core2

Generates code for the Intel® Core™2 processor family.

pentium4m

Generates for Intel® Pentium® 4 processors with MMX technology.

pentium-m
pentium4
pentium3
pentium

Generates code for Intel® Pentium® processors. pentium3 is only available on Linux* systems.

Default

OFF

If option -march is not specified, the compiler may generate Intel® SSE2 and SSE instructions.

Description

This option tells the compiler to generate code for processors that support certain features.

If you specify both the -ax and -march options, the compiler will not generate Intel-specific instructions.

Options -x and -march are mutually exclusive. If both are specified, the compiler uses the last one specified and generates a warning.

Specifying -march=pentium4 sets -mtune=pentium4.

For compatibility, a number of historical processor values are also supported, but the generated code will not differ from the default.

Product and Performance Information

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

Notice revision #20201201

IDE Equivalent

None

Alternate Options

-march=pentium3

Linux: -xSSE

macOS: None

Windows: None

-march=pentium4
-march=pentium-m

Linux: -xSSE2

macOS: None

Windows: None

-march=core2

Linux: -xSSSE3

macOS: None

Windows: None

See Also