インテルの組込み関数については、『インテル® C++ コンパイラー・クラシック・デベロッパー・ガイドおよびリファレンス』 (英語) を参照してください。『インテルの組込み関数ガイド』 (英語) は、インテルの組込み関数の詳細情報と、利用可能なインテルの組込み関数を見つけるためのルックアップ・ツールを提供します。
以下は、一般的な情報です。
組込み関数は、アセンブリー・コードの関数で、アセンブリー命令の代わりに C++ 関数呼び出しと変数を使用できます。
組込み関数はホストでのみ利用可能です。
組込み関数はインライン展開され、関数呼び出しのオーバーヘッドを減少します。インライン・アセンブリーと同様の利点を提供する組込み関数は、コードの読みやすさを向上し、命令スケジュールを支援し、デバッグの労力を軽減するのに役立ちます。
組込み関数によって、C および C++ 言語の標準的な構文では生成できない命令を利用できます。
インテル® oneAPI DPC++/C++ コンパイラーで組込み関数を利用するコードを使用するには、次の操作を行います。
コンパイラーがプロセッサー/アーキテクチャー固有の組込み関数を認識できるように、march コンパイラー・オプションを使用します。
組込み関数を定義する immintrin.h ヘッダーファイルをインクルードします。
すべてのインテル® プロセッサーで組込み関数がすべてサポートされているわけではないことに注意してください。インテル® プロセッサーでサポートされている組込み関数の詳細は、「製品仕様」の「プロセッサー」ページを参照してください。プロセッサー・スペック・ファインダー・ツールで、すべてのプロセッサー・ドキュメントと、各プロセッサーでサポートされている組込み関数を含む機能をリストしたデータシートにアクセスできます。