インテル® C++ コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
次の組込み関数は、インテル® ストリーミング SIMD 拡張命令 3 (インテル® SSE3) 対応インテル® Pentium® 4 プロセッサー用に設計されたものです。これらの組込み関数のプロトタイプは、ヘッダーファイル pmmintrin.h 内にあります。
これらの組込み関数を使用する場合、次のように immintrin.h ファイルをインクルードします。
#include <immintrin.h>
extern void _mm_monitor(void const *p, unsigned extensions, unsigned hints);
MONITOR 命令を生成します。論理アドレスを得るために p を使用してモニター・ハードウェア用のアドレス範囲をセットアップし、レジスター EAX でモニター命令に渡します。extensions 引数は、ECX で渡されるモニター・ハードウェアへの拡張オプションを含みます。hints 引数は、EDX で渡されるモニター・ハードウェアへのヒントを含みます。extensions でゼロ以外の値が指定されると、一般的な保護違反が発生します。
extern void _mm_mwait(unsigned extensions, unsigned hints);
MWAIT 命令を生成します。この命令は、プロセッサーが、実行を停止して、イベントのクラスが発生するまでインプリメンテーション依存の最適化された状態に入ることができるようにするヒントです。将来のプロセッサー設計では、extensions および hints 引数はプロセッサーに追加情報を伝えるために使用されます。extensions および hints のゼロ以外の値はすべて予約されています。extensions でゼロ以外の値が指定されると、一般的な保護違反が発生します。