march

Tells the compiler to generate code for a specified processor.

IDE Equivalent

None

Architectures

IA-32, Intel® 64 architectures

Syntax

Linux and Mac OS X:

-march=processor

Windows:

None

Arguments

processor

Is the processor for which the compiler should generate code. Possible values are:

core-avx2

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

core-avx-i

Generates code for processors that support Intel® Advanced Vector Extensions (Intel® AVX), including instructions in Intel® Core 2™ processors in process technology smaller than 32nm, Intel® SSE4.2, SSE4.1, SSSE3, SSE3, SSE2, and SSE instructions.

corei7-avx

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

corei7

Generates code for Intel® Core™ i7 processors that support Intel(R) SSE4 Efficient Accelerated String and Text Processing instructions. May also generate Intel® SSE4 Vectorizing Compiler and Media Accelerator, Intel® SSSE3, SSE3, SSE2, and SSE instructions and it may optimize for the Intel® Core™ processor family.

atom

Generates code for processors that support MOVBE instructions, depending on the setting of option -minstruction (Linux* OS and Mac OS* X) or /Qinstruction (Windows* OS). May also generate Intel® SSSE3, SSE3, SSE2, and SSE instructions for Intel processors. Optimizes for the Intel® Atom™ processor and Intel® Centrino® Atom™ Processor Technology.

core2

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

pentium-m

Generates code for Intel® Pentium® M processors.

pentium4

Generates code for Intel® Pentium® 4 processors. This value is only available on

pentium3

Generates code for Intel® Pentium® III processors. This value is only available on Linux* OS.

Default

OFF or
-march=pentium4

On systems using IA-32 architecture, the compiler does not generate processor-specific code unless it is told to do so. On systems using Intel® 64 architecture, the compiler generates code for Intel Pentium 4 processors.

Description

This option tells the compiler to generate code for a specified processor.

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.

Optimization Notice

Intel’s compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804

Alternate Options

-march=pentium3

Linux: -xSSE

Mac OS X: None

Windows: None

-march=pentium4
-march=pentium-m

Linux: -xSSE2

Mac OS X: None

Windows: None

-march=core2

Linux: -xSSSE3

Mac OS X: None

Windows: None

See Also


Submit feedback on this help topic

Copyright © 1996-2011, Intel Corporation. All rights reserved.