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

組込み関数

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

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

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

プログラムの開発時またはデバッグ時に ‑D__INTEL_COMPILER_USE_INTRINSIC_PROTOTYPES を使用してコンパイルすると、改善された組込み関数のコンパイル時チェックを利用できます。このオプションは、コンパイル時間を増大させるため、使用後に必ず削除してください。

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

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

SVML (Short Vector Mathematical Library) 組込み関数については、このリファレンスで説明します。

svml ライブラリーの多くのルーチンは、互換マイクロプロセッサーよりもインテル製マイクロプロセッサーでより高度に最適化されます。

インテル® C++ コンパイラーは、Microsoft* Visual Studio* の組込み関数 (x86 および x64 アーキテクチャー) をサポートしています。Microsoft* の組込み関数の詳細は、http://msdn2.microsoft.com/ja-jp/library/26td21ds.aspx を参照してください。

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

すべてのインテル® プロセッサーで組込み関数がすべてサポートされているわけではないことに注意してください。インテル® プロセッサーでサポートされている組込み関数の詳細は、http://processorfinder.intel.com (英語) を参照してください。プロセッサー・スペック・ファインダー・ツールで、すべてのプロセッサー・ドキュメントと、各プロセッサーによりサポートされている組込み関数を含む機能をリストしたデーターシートにアクセスできます。