組み込み関数は、アセンブリー・コードの関数で、アセンブリー命令の代わりに C++ 関数呼び出しと変数を使用できます。
組み込み関数はインライン展開され、関数呼び出しのオーバーヘッドを減少します。インライン・アセンブリーと同様の利点を提供する組み込み関数は、コードの読みやすさを向上し、命令スケジューリングを支援し、デバッグの労力を軽減するのに役立ちます。
組み込み関数によって、C および C++ 言語の標準的な構文では生成できない命令を利用できます。
インテル C++ コンパイラーでは、組み込み関数を使用して、アセンブリー命令を簡単に実装することができます。インテル(R) ストリーミング SIMD 拡張命令 4 (SSE4)、ストリーミング SIMD 拡張命令 3 補足命令 (SSSE3)、ストリーミング SIMD 拡張命令 3 (SSE3)、ストリーミング SIMD 拡張命令 2 (SSE2)、およびストリーミング SIMD 拡張命令 (SSE) 用の組み込み関数が提供されています。IA-64 アーキテクチャー用インテル C++ コンパイラーでは、アーキテクチャー専用の組み込み関数も提供されています。
インテル C++ コンパイラーは、特定のアーキテクチャー上で動作する組み込み関数と、IA-32、インテル(R) 64、IA-64 アーキテクチャーすべてで動作する組み込み関数が提供されています。ほとんどの組み込み関数は、対応するアセンブリー命令に直接マップし、一部の組み込み関数は複数のアセンブリー命令にマップします。
インテル C++ コンパイラーは、Microsoft* Visual Studio* 2005 の組み込み関数 (x86 および x64 アーキテクチャー) をサポートし、IA-32 およびインテル 64 アーキテクチャーをベースとしたインテル(R) プロセッサー上で命令を生成します。Microsoft 組み込み関数の詳細は、http://msdn2.microsoft.com/en-us/library/26td21ds.aspx (英語) を参照してください。
すべてのインテル・プロセッサーで組み込み関数がすべてサポートされているわけではないことに注意してください。インテル・プロセッサーでサポートされている組み込み関数の詳細は、http://processorfinder.intel.com (英語) を参照してください。プロセッサー・スペック・ファインダー・ツールで、すべてのプロセッサー・ドキュメントと、各プロセッサーによりサポートされている組み込み関数を含む機能をリストしたデーターシートにアクセスできます。