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 ビットを求めます。