概要: 組み込み関数リファレンス

組み込み関数は、アセンブリー・コードの関数で、アセンブリー命令の代わりに C++ 関数呼び出しと変数を使用できます。

組み込み関数はインライン展開され、関数呼び出しのオーバーヘッドを減少します。インライン・アセンブリーと同様の利点を提供する組み込み関数は、コードの読みやすさを向上し、命令スケジューリングを支援し、デバッグの労力を軽減するのに役立ちます。

組み込み関数によって、C および C++ 言語の標準的な構文では生成できない命令を利用できます。

インテル(R) C++ コンパイラーの組み込み関数

インテル(R) C++ コンパイラーでは、組み込み関数を使用して、アセンブリー命令を簡単に実装することができます。次の命令用の組み込み関数が提供されています。

インテル(R) C++ コンパイラーでは、IA-64 アーキテクチャー専用の組み込み関数と、IA-32、インテル(R) 64、IA-64 アーキテクチャーすべてで動作する組み込み関数が提供されています。ほとんどの組み込み関数は、対応するアセンブリー命令に直接マップし、一部の組み込み関数は複数のアセンブリー命令にマップします。

インテル(R) C++ コンパイラーは、Microsoft* Visual Studio* 2005 および Visual Studio 2008 の組み込み関数 (x86 および x64 アーキテクチャー) をサポートし、IA-32 およびインテル(R) 64 アーキテクチャーをベースとしたインテル(R) プロセッサー上で命令を生成します。Microsoft の組み込み関数の詳細は、http://msdn2.microsoft.com/en-us/library/26td21ds.aspx (英語) を参照してください。

各インテル(R) プロセッサーの組み込み関数への対応

すべてのインテル(R) プロセッサーで組み込み関数がすべてサポートされているわけではないことに注意してください。インテル(R) プロセッサーでサポートされている組み込み関数の詳細は、http://processorfinder.intel.com (英語) を参照してください。

プロセッサー・スペック・ファインダー・ツールで、すべてのプロセッサー・ドキュメントと、各プロセッサーによりサポートされている組み込み関数を含む機能をリストしたデーターシートにアクセスできます。