インテル® C++ コンパイラー 17.0 デベロッパー・ガイドおよびリファレンス

march

特定の機能をサポートするプロセッサー専用のコードを生成するようにコンパイラーに指示します。

アーキテクチャーの制限

インテル® Xeon Phi™ コプロセッサー x100 製品ファミリー (開発コード名 Knights Corner) をターゲットとするインテル® 64 アーキテクチャーでは利用できません。

構文

Linux* および OS X*:

-march=processor

Windows®:

なし

引数

processor

生成するコードをコンパイラーに指示します。設定可能な値は以下のとおりです。

generic

コンパイラーのデフォルト動作をサポートするコードが生成されます。

broadwell

haswell

ivybridge

knl

sandybridge

silvermont

skylake

指定した開発コード名のインテル® マイクロアーキテクチャーをサポートするプロセッサー向けに最適化されたコードを生成します。

キーワード knlsilvermont は Linux* でのみ利用できます。

core-avx2

インテル® アドバンスト・ベクトル・エクステンション 2 (インテル® AVX2)、インテル® AVX、SSE4.2、SSE4.1、SSSE3、SSE3、SSE2、SSE 命令をサポートするプロセッサー向けのコードを生成します。

core-avx-i

Float-16 変換命令および RDRND 命令、インテル® AVX、SSE4.2、SSE4.1、SSSE3、SSE3、SSE2、SSE 命令をサポートするプロセッサー向けのコードを生成します。

corei7-avx

インテル® アドバンスト・ベクトル・エクステンション (インテル® AVX)、インテル® SSE4.2、SSE4.1、SSSE3、SSE3、SSE2、SSE 命令をサポートするプロセッサー向けのコードを生成します。

corei7

インテル® SSE4 高効率および高速な文字列処理命令をサポートするプロセッサー向けのコードを生成します。 インテル® SSE4 ベクトル化コンパイラー命令およびメディア・アクセラレーター命令、インテル® SSSE3、SSE3、SSE2、SSE 命令をサポートするプロセッサー向けのコードも生成します。

atom

-minstruction オプション (Linux* および OS X*) または /Qinstruction オプション (Windows®) の設定に応じて、MOVBE 命令をサポートするプロセッサー向けのコードを生成します。インテル® SSSE3、SSE3、SSE2、SSE 命令をサポートするプロセッサー向けのコードも生成します。

core2

インテル® Core™2 プロセッサー・ファミリー向けのコードを生成します。

pentium-mmx

MMX® テクノロジー インテル® Pentium® プロセッサー向けのコードを生成します。

pentiumpro

インテル® Pentium® Pro プロセッサー、インテル® Pentium® II プロセッサー、およびインテル® Pentium® III プロセッサー向けのコードを生成します。

pentium4m

MMX® テクノロジー インテル® Pentium® 4 プロセッサー向けのコードを生成します。

pentium-m

pentium4

pentium3

pentium

インテル® Pentium® プロセッサー向けのコードを生成します。pentium3 は、Linux* でのみ利用できます。

デフォルト

pentium4

アーキテクチャー・オプションが指定されない場合、コンパイラーは pentium4 でコードを生成します。

説明

このオプションは、特定の機能をサポートするプロセッサー専用のコードを生成するようにコンパイラーに指示します。

-ax オプションと -march オプションの両方を指定すると、コンパイラーはインテル固有の命令を生成しません。

-march=pentium4 を指定すると -mtune=pentium4 が設定されます。

互換性のために、以前の processor の値もサポートされますが、生成されるコードはデフォルトと同じです。

IDE オプション

なし

代替オプション

-march=pentium3

Linux*: -xSSE

OS X*: なし

Windows®: なし

-march=pentium4

-march=pentium-m

Linux*: -xSSE2

OS X*: なし

Windows®: なし

-march=core2

Linux*: -xSSSE3

OS X*: なし

Windows®: なし

最適化に関する注意事項

インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリーミング SIMD 拡張命令 2、インテル® ストリーミング SIMD 拡張命令 3、インテル® ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロセッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。

注意事項の改訂 #20110804

関連情報