組み込み関数は、アセンブリー・コードの関数で、アセンブリー命令の代わりに C++ 関数呼び出しと変数を使用できます。
組み込み関数はインライン展開され、関数呼び出しのオーバーヘッドを減少します。インライン・アセンブリーと同様の利点を提供する組み込み関数は、コードの読みやすさを向上し、命令スケジューリングを支援し、デバッグの労力を軽減するのに役立ちます。
組み込み関数によって、C および C++ 言語の標準的な構文では生成できない命令を利用できます。
インテル® C++ コンパイラーでは、組み込み関数を使用して、アセンブリー命令を簡単に実装することができます。次の命令用の組み込み関数が提供されています。
SVML (Short Vector Mathematical Library) 組み込み関数については、このリファレンスで説明します。これらの組み込み関数に対応するアセンブリー命令はありません。
インテル® C++ コンパイラーでは、IA-32、インテル® 64、IA-64 アーキテクチャーすべてで動作する組み込み関数が提供されています。ほとんどの組み込み関数は、対応するアセンブリー命令に直接マップし、一部の組み込み関数は複数のアセンブリー命令にマップします。
インテル® C++ コンパイラーは、Microsoft* Visual Studio* 2005 および Visual Studio 2008 の組み込み関数 (x86 および x64 アーキテクチャー) をサポートし、IA-32 およびインテル® 64 アーキテクチャーをベースとしたインテル® プロセッサー上で命令を生成します。Microsoft の組み込み関数の詳細は、http://msdn2.microsoft.com/en-us/library/26td21ds.aspx (英語) を参照してください。
© 1996-2010 Intel Corporation. 無断での引用、転載を禁じます。