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

概要: インテル® ストリーミング SIMD 拡張命令 2 (インテル® SSE2)

このセクションでは、インテル® C++ コンパイラー内でストリーミング SIMD 拡張命令 (インテル® SSE) をサポートする、C++ 言語レベルの機能について説明します。これらの機能は、次の 2 種類に分類されます。

  1. 浮動小数点移動操作の組込み関数はありません。1 つのレジスターから別のレジストへデータを移動するには、A = B のように単に代入します。AB は移動操作のソースで対象レジスターです。
  2. インテル® SSE2 命令をサポートせず、インテル® MMX® テクノロジーをサポートするプロセッサーでは、sse2mmx.h エミュレーション・パックを使用してインテル® SSE2 命令をサポートすることができます。

次のプロセッサーでは、sse2mmx.h ヘッダーファイルを使用してください。

一部の組込み関数は、2 つ以上の命令で実行するため、"複合組込み関数" と呼ばれます。1 つの命令で実行する組込み関数は "単一組込み関数" と呼ばれます。

インテル® ストリーミング SSE2 拡張命令 (インテル® SSE) の組込み関数を使用してプログラムを作成する際は、インテル® SSE2 によって提供されるハードウェア機能についてよく理解している必要があります。特に、次の 3 つの点に注意してください。

インテル® SSE2 の組込み関数のプロトタイプは、ヘッダーファイル emmintrin.h 内にあります。

IA-32 アーキテクチャー・ベースの組込み関数に対して 1 つのヘッダーファイル ia32intrin.h を使用することもできます。