概要: 組み込み関数リファレンス

一部のインテル(R) プロセッサーでは、以前に実装した命令を拡張し、最適化されたマルチメディア・アプリケーションを開発することができます。SIMD (Single Instruction, Multiple Data) 命令を使用してデータ要素を並列処理すると、大量のマルチメディア・データ・ストリームを処理するアプリケーションのパフォーマンスが大きく向上します。

これらの命令を使用する最も直接的な方法は、ソースコード内でインライン・アセンブリー言語命令を使用することです。しかし、これは時間のかかる作業です。また、一部のコンパイラーは、アセンブリー言語のインライン・プログラミングに対応していません。インテル(R) C++ コンパイラーでは、コンパイラーに組み込まれている API 拡張機能セットを使用して、これらの命令を簡単に実装することができます。この拡張機能セットを組み込み関数と呼びます。

インテル C++ コンパイラーは、特定のアーキテクチャー上で動作する組み込み関数と、すべての IA-32 プラットフォームおよび IA-64 プラットフォーム上で動作する組み込み関数の両方をサポートします。

組み込み関数には次のような利点があります。

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

次の表に、各プロセッサーでサポートされる組み込み関数を示します。

ストリーミング SIMD 拡張命令 2 (SSE2) 命令をサポートせず、MMX(R) テクノロジーをサポートするプロセッサーでは、sse2mmx.h エミュレーション・パックを使用して SSE2 命令をサポートすることができます。次のプロセッサーでは、sse2mmx.h ヘッダーファイルを使用することができます。

プロセッサー MMX テクノロジー命令 ストリーミング SIMD 拡張命令 ストリーミング SIMD 拡張命令 2 ストリーミング SIMD 拡張命令 3 IA-64 命令
Itanium プロセッサー O O X

 

O
Pentium 4 プロセッサー O O O O X
Pentium III プロセッサー O O X X X
Pentium II プロセッサー O X X X X
MMX テクノロジー インテル Pentium プロセッサー O X X X X
Pentium Pro プロセッサー X X X X X
Pentium プロセッサー X X X X X
インテル(R) Core(TM) マイクロアーキテクチャー・ベースのプロセッサー O O O O X