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

arch

生成する命令セットを含む、ターゲット機能をコンパイラーに指示します。

構文

Linux* および macOS*:

-arch code

Windows*:

/arch:code

引数

code

生成する命令セットを含む、ターゲット機能セットをコンパイラーに指示します。次の説明の多くは、インテル® ストリーミング SIMD 拡張命令 (インテル® SSE) およびインテル® ストリーミング SIMD 拡張命令補足命令 (インテル® SSSE) についてです。設定可能な値は以下のとおりです。

BROADWELL
CANNONLAKE
GOLDMONT
GOLDMONT-PLUS
HASWELL
ICELAKE-CLIENT (または ICELAKE)
ICELAKE-SERVER
IVYBRIDGE
KNL
KNM
SANDYBRIDGE
SILVERMONT
SKYLAKE
SKYLAKE-AVX512
TREMONT

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

キーワード ICELAKE は古いキーワード (非推奨) で、将来のバージョンで削除される可能性があります。

CORE-AVX2

インテル® アドバンスト・ベクトル・エクステンション 2 (インテル® AVX2)、インテル® AVX、インテル® SSE4.2、インテル® SSE4.1、インテル® SSSE3、インテル® SSE3、インテル® SSE2、インテル® SSE 命令を生成します。

CORE-AVX-I

RDRND 命令、インテル® AVX、インテル® SSE4.2、インテル® SSE4.1、インテル® SSSE3、インテル® SSE3、インテル® SSE2、インテル® SSE 命令を生成します。

AVX

インテル® AVX、インテル® SSE4.2、インテル® SSE4.1、インテル® SSSE3、インテル® SSE3、インテル® SSE2、インテル® SSE 命令を生成します。

SSE4.2

インテル® SSE4.2、インテル® SSE4.1、インテル® SSSE3、インテル® SSE3、インテル® SSE2、インテル® SSE 命令を生成します。

SSE4.1

インテル® SSE4.1、インテル® SSSE3、インテル® SSE3、インテル® SSE2、インテル® SSE 命令を生成します。

SSSE3

インテル® SSSE3、インテル® SSE3、インテル® SSE2、インテル® SSE 命令を生成します。

SSE3

インテル® SSE3、インテル® SSE2、インテル® SSE 命令を生成します。

SSE2

インテル® SSE2 およびインテル® SSE 命令を生成します。この値は、Linux* および Windows* システムでのみ利用できます。

SSE

これは古いオプション (非推奨) です。ia32 を指定した場合と同じです。

IA32

IA-32 アーキテクチャーと互換性のある x86/x87 汎用コードを生成します。デフォルト、および以前に設定された拡張命令設定を無効にします。また、機能固有の最適化と命令をすべて無効にします。この値は、IA-32 アーキテクチャー・ベースの Linux* および Windows* システムでのみ利用できます。

デフォルト

Windows* および Linux* システム: SSE2
IA-32 アーキテクチャー・ベースの macOS* システム: SSE3
インテル® 64 アーキテクチャー・ベースの macOS* システム: SSSE3

デフォルト値に関する詳細は、上記の「引数」を参照してください。

説明

このオプションは、生成する命令セットを含む、ターゲット機能をコンパイラーに指示します。

これらのオプションで生成されたコードは、対応する命令セットがサポートされている互換性のあるインテル以外のプロセッサーで動作します。

/arch オプションと /Qx オプションは互いに排他的であり、同時に両方を指定することはできません。両方指定すると、コンパイラーは後に指定されたオプションを使用し、警告を発行します。

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

Compaq* Visual Fortran との互換性のために、コンパイラーは次のキーワード値を受け付けます。しかし、推奨する代わりのオプションを使用するようにしてください。

互換値

推奨する代わりのオプション

pn1

-mia32 または /arch:IA32

pn2

-mia32 または /arch:IA32

pn3

-mia32 または /arch:IA32

pn4

-msse2 または /arch:SSE2

IDE オプション

Visual Studio*: [Code Generation (コード生成)] > [Enable Enhanced Instruction Set (拡張命令セットを有効にする)]

Eclipse*: なし

Xcode*: なし

代替オプション

Linux* および macOS*: -m

Windows*: なし

関連情報