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

_xend

Restricted Transactional Memory (RTM) コード領域の終了を指定します。対応するインテル® AVX2 命令は XEND です。

構文

void _xend(void);

引数

なし。

説明

Restricted Transactional Memory (RTM) コード領域の終了を指定します。最外トランザクションの場合 (この xend 命令を含めて、xbegin 命令の数と xend 命令の数が一致する場合)、プロセッサーは自動的にプロセッサー・ステートをコミットしようとします。

コミットに失敗すると、プロセッサーは RTM 実行中に更新されたすべてのレジスターとメモリーをロールバックします。

論理プロセッサーは、xbegin 命令から計算されたフォールバック・アドレスから実行を再開します。EAX レジスターは、RTM アボート情報で更新されます。トランザクションの外側で xend が実行されると、一般的な保護違反 (#GP) が発生します。

xend の命令シーケンスモデルを以下に示します。

__inline void _xend() { 
  __asm { xend }
}

戻り値

問い合わせの結果。