インテル® C++ コンパイラー 19.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 (英語) を参照してください。プロセッサー・スペック・ファインダー・ツールで、すべてのプロセッサー・ドキュメントと、各プロセッサーによりサポートされている組込み関数を含む機能をリストしたデーターシートにアクセスできます。

インテルの組込み関数ガイド

参考資料として、インテルの組込み関数命令用のインタラクティブな組込み関数ガイドが提供されています。https://software.intel.com/sites/landingpage/IntrinsicsGuide/ (英語) から利用できます。