生成する命令セットを含む、ターゲット機能をコンパイラーに指示します。
Windows*: [Code Generation (コード生成)] > [Enable Enhanced Instruction Set (拡張命令セットを有効にする)]
Linux*: なし
OS X*: なし
IA-32 アーキテクチャーおよびインテル® 64 アーキテクチャー
Linux* および OS X*:
-arch code
Windows*:
/arch:code
code
生成する命令セットを含む、ターゲット機能セットをコンパイラーに指示します。次の説明の多くは、インテル® ストリーミング SIMD 拡張命令 (インテル® SSE) および SSE 補足命令 (SSSE) についてです。設定可能な値は以下のとおりです。
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* システム: SSE2IA-32 アーキテクチャー・ベースの OS X* システム: SSE3インテル® 64 アーキテクチャー・ベースの OS X* システム: SSSE3
デフォルト値に関する詳細は、上記の「引数」を参照してください。
このオプションは、生成する命令セットを含む、ターゲット機能をコンパイラーに指示します。
これらのオプションで生成されたコードは、対応する命令セットがサポートされている互換性のあるインテル以外のプロセッサーで動作します。
/arch オプションと /Qx オプションは互いに排他的であり、同時に両方を指定することはできません。両方指定すると、コンパイラーは後に指定されたオプションを使用し、警告を発行します。
Compaq* Visual Fortran との互換性のために、コンパイラーは次のキーワード値を受け付けます。しかし、推奨する代わりのオプションを使用するようにしてください。
互換値
推奨する代わりのオプション
pn1
-mia32 または /arch:IA32
pn2
pn3
pn4
-msse2 または /arch:SSE2
Linux* および OS X*: -m
Windows*: なし