x64 コード生成用に 1 つ以上のアーキテクチャ機能を有効にします。
Note
/feature:APX サポートは試験的であり、変更される可能性があります。
Syntax
/feature:<arg>
Arguments
x64 ターゲットでサポートされている 1 つ以上の機能を有効にするには、次の機能引数のうち 1 つ以上を指定します。
| 機能引数 | Description | バージョンでサポートされています |
|---|---|---|
APX |
Intel APX (Advanced Performance Extensions) のプレビュー サポートを有効にします。 コンパイラが拡張 General-Purpose レジスタ (EPR)、新しいデータ変換先 (NDD)、No-Flags Update (NF)、新しい条件付き ISA、最適化されたレジスタの保存/復元操作など、さまざまな APX 機能を対象とできるようにします。 詳細については、「 Intel Advanced Performance Extensions (APX)」を参照してください。 | MSVC ビルド ツール 14.51 (プレビュー サポート) |
注釈
使用例: APX を有効にするには、 /feature:APXを指定します。
/feature:APXを指定すると、__APX_F__、__CCMP__、__CF__、__EGPR__、__NDD__、__NF__、__PPX__、__PUSH2POP2__、および__ZU__のプリプロセッサ マクロが定義されます。 詳細については、「Microsoft 固有の定義済みマクロを参照してください。
APX は x64 アーキテクチャを新しいレジスタと命令で拡張します。これは、コンパイラによる呼び出しの生成方法に影響を与え、関数の境界を越えて状態を保持し、アンワインド メタデータを出力します。 次の記事では、APX に関連する x64 規則とアンワインド情報について説明します。
-
呼び出し元/呼び出し先の保存済みレジスタ
呼び出し先が保持する必要がある登録先と、呼び出し元が x64 の呼び出し間での保存を担当する方法について説明します。 -
setjmp/longjmp
非ローカル ジャンプが、ジャンプ バッファーに参加するレジスタを含め、x64 で不揮発性レジスタの状態をキャプチャおよび復元する方法について説明します。 -
ボラティリティと保持を登録する
揮発性および不揮発性汎用、XMM、YMM、およびZMMレジスタの x64 ソフトウェア規則を要約し、それらを保持するために呼び出し側が従う必要がある規則を示します。 -
例外処理アンワインド情報 V3
APX によって導入された拡張状態を含む、x64 コードのプロローグ、エピローグ、フレーム レイアウトを記述するために使用される V3 アンワインド情報形式のプレビュー仕様。
Visual Studio で /feature コンパイラ オプションを設定するには
- プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳しくは、「Visual Studio で C++ コンパイラとビルド プロパティを設定する」をご覧ください。
- [構成プロパティ]>[C/C++]>[コマンド ライン] プロパティ ページを選択します。
- [ その他のオプション ] ボックスで、
/feature:APXを追加します。 [OK] を選択して変更を保存します。
このコンパイラ オプションをコードから設定するには
- AdditionalOptionsを参照してください。
こちらも参照ください
/arch (x64)
/arch (最小 CPU アーキテクチャ)
MSVC コンパイラ オプション
MSVC コンパイラのコマンド ライン構文