インテル(R) C++ コンパイラーの組み込み関数について

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

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

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

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

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

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

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

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

X

N/A

 

X

Pentium 4 プロセッサー

X

X

X

X

N/A

Pentium III プロセッサー

X

X

N/A

 

N/A

Pentium II プロセッサー

X

N/A

N/A

 

N/A

MMX テクノロジー インテル Pentium プロセッサー

X

N/A

N/A

 

N/A

Pentium Pro プロセッサー

N/A

N/A

N/A

 

N/A

Pentium プロセッサー

N/A

N/A

N/A

 

N/A