Intel® Fortran Compiler Classic and Intel® Fortran Compiler Developer Guide and Reference

ID 767251
Date 9/08/2022
Public

A newer version of this document is available. Customers should click here to go to the newest version.

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.

Keywords amberlake, coffeelake, icelake, kabylake, and whiskeylake are only available for ifort.

Keywordsilvermont is only available on Linux* systems.

Keyword icelake (ifort only) 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 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. Value pentium3 is only available on Linux* systems.

Default

pentium4

If no architecture option is specified, value pentium4 is used by the compiler to generate code.

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.

NOTE:

This option only applies to host compilation. When offloading is enabled, it does not impact device-specific compilation. Offloading can only be enabled when using ifx.

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