MMX(R) テクノロジーのパックド算術演算組み込み関数

MMX(R) テクノロジーの組み込み関数のプロトタイプは、ヘッダーファイル mmintrin.h 内にあります。

次の表の組み込み関数名をクリックすると、その組み込み関数の詳細が表示されます。

組み込み関数名 操作 対応する MMX 命令
_mm_add_pi8 加算 PADDB
_mm_add_pi16 加算 PADDW
_mm_add_pi32 加算 PADDD
_mm_adds_pi8 加算 PADDSB
_mm_adds_pi16 加算 PADDSW
_mm_adds_pu8 加算 PADDUSB
_mm_adds_pu16 加算 PADDUSW
_mm_sub_pi8 減算 PSUBB
_mm_sub_pi16 減算 PSUBW
_mm_sub_pi32 減算 PSUBD
_mm_subs_pi8 減算 PSUBSB
_mm_subs_pi16 減算 PSUBSW
_mm_subs_pu8 減算 PSUBUSB
_mm_subs_pu16 減算 PSUBUSW
_mm_madd_pi16 積和 PMADDWD
_mm_mulhi_pi16 乗算 PMULHW
_mm_mullo_pi16 乗算 PMULLW

 

__m64 _mm_add_pi8(__m64 m1, __m64 m2)

m1 の 8 つの 8 ビット値を、m2 の 8 つの 8 ビット値に加算します。

 

__m64 _mm_add_pi16(__m64 m1, __m64 m2)

m1 の 4 つの 16 ビット値を、m2 の 4 つの 16 ビット値に加算します。

 

__m64 _mm_add_pi32(__m64 m1, __m64 m2)

m1 の 2 つの 32 ビット値を、m2 の 2 つの 32 ビット値に加算します。

 

__m64 _mm_adds_pi8(__m64 m1, __m64 m2)

飽和演算を使用して、m1 の 8 つの符号付き 8 ビット値を、m2 の 8 つの符号付き 8 ビット値に加算します。

 

__m64 _mm_adds_pi16(__m64 m1, __m64 m2)

飽和演算を使用して、m1 の 4 つの符号付き 16 ビット値を、m2 の 4 つの符号付き 16 ビット値に加算します。

 

__m64 _mm_adds_pu8(__m64 m1, __m64 m2)

飽和演算を使用して、m1 の 8 つの符号なし 8 ビット値を、m2 の 8 つの符号なし 8 ビット値に加算します。

 

__m64 _mm_adds_pu16(__m64 m1, __m64 m2)

飽和演算を使用して、m1 の 4 つの符号なし 16 ビット値を、m2 の 4 つの符号なし 16 ビット値に加算します。

 

__m64 _mm_sub_pi8(__m64 m1, __m64 m2)

m1 の 8 つの 8 ビット値から、m2 の 8 つの 8 ビット値を引きます。

 

__m64 _mm_sub_pi16(__m64 m1, __m64 m2)

m1 の 4 つの 16 ビット値から、m2 の 4 つの 16 ビット値を引きます。

 

__m64 _mm_sub_pi32(__m64 m1, __m64 m2)

m1 の 2 つの 32 ビット値から、m2 の 2 つの 32 ビット値を引きます。

 

__m64 _mm_subs_pi8(__m64 m1, __m64 m2)

飽和演算を使用して、m1 の 8 つの符号付き 8 ビット値から、m2 の 8 つの符号付き 8 ビット値を引きます。

 

__m64 _mm_subs_pi16(__m64 m1, __m64 m2)

飽和演算を使用して、m1 の 4 つの符号付き 16 ビット値から、m2 の 4 つの符号付き 16 ビット値を引きます。

 

__m64 _mm_subs_pu8(__m64 m1, __m64 m2)

飽和演算を使用して、m1 の 8 つの符号なし 8 ビット値から、m2 の 8 つの符号なし 8 ビット値を引きます。

 

__m64 _mm_subs_pu16(__m64 m1, __m64 m2)

飽和演算を使用して、m1 の 4 つの符号なし 16 ビット値から、m2 の 4 つの符号なし 8 ビット値を引きます。

 

__m64 _mm_madd_pi16(__m64 m1, __m64 m2)

m1 の 4 つの 16 ビット値に m2 の 4 つの 16 ビット値を掛けて、4 つの 32 ビット即値を求め、それらを 2 つずつ合計して 2 つの 32 ビットの結果を求めます。

 

__m64 _mm_mulhi_pi16(__m64 m1, __m64 m2)

m1 の 4 つの符号付き 16 ビット値に m2 の 4 つの符号付き 16 ビット値を掛けて、4 つの結果の上位 16 ビットを求めます。

 

__m64 _mm_mullo_pi16(__m64 m1, __m64 m2)

m1 の 4 つの 16 ビット値に m2 の 4 つの 16 ビット値を掛けて、4 つの結果の下位 16 ビットを求めます。