MMX(R) テクノロジーのシフト組み込み関数

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

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

組み込み関数名 操作 対応する MMX
命令
_mm_sll_pi16 論理左シフト PSLLW
_mm_slli_pi16 論理左シフト PSLLWI
_mm_sll_pi32 論理左シフト PSLLD
_mm_slli_pi32 論理左シフト PSLLDI
_mm_sll_pi64 論理左シフト PSLLQ
_mm_slli_pi64 論理左シフト PSLLQI
_mm_sra_pi16 算術右シフト PSRAW
_mm_srai_pi16 算術右シフト PSRAWI
_mm_sra_pi32 算術右シフト PSRAD
_mm_srai_pi32 算術右シフト PSRADI
_mm_srl_pi16 論理右シフト PSRLW
_mm_srli_pi16 論理右シフト PSRLWI
_mm_srl_pi32 論理右シフト PSRLD
_mm_srli_pi32 論理右シフト PSRLDI
_mm_srl_pi64 論理右シフト PSRLQ
_mm_srli_pi64 論理右シフト PSRLQI

 

__m64 _mm_sll_pi16(__m64 m, __m64 count)

m の 4 つの 16 ビット値を、count で指定した値だけ左にシフトし、下位ビットを 0 で埋めます。

 

__m64 _mm_slli_pi16(__m64 m, int count)

m の 4 つの 16 ビット値を、count で指定した値だけ左にシフトし、下位ビットを 0 で埋めます。パフォーマンス上の理由で、count は定数にしてください。

 

__m64 _mm_sll_pi32(__m64 m, __m64 count)

m の 2 つの 32 ビット値を、count で指定した値だけ左にシフトし、下位ビットを 0 で埋めます。

 

__m64 _mm_slli_pi32(__m64 m, int count)

m の 2 つの 32 ビット値を、count で指定した値だけ左にシフトし、下位ビットを 0 で埋めます。パフォーマンス上の理由で、count は定数にしてください。

 

__m64 _mm_sll_pi64(__m64 m, __m64 count)

m の 64 ビット値を、count で指定した値だけ左にシフトし、下位ビットを 0 で埋めます。

 

__m64 _mm_slli_pi64(__m64 m, int count)

m の 64 ビット値を、count で指定した値だけ左にシフトし、下位ビットを 0 で埋めます。パフォーマンス上の理由で、count は定数にしてください。

 

__m64 _mm_sra_pi16(__m64 m, __m64 count)

m の 4 つの 16 ビット値を、count で指定した値だけ右にシフトし、上位ビットを符号ビットで埋めます。

 

__m64 _mm_srai_pi16(__m64 m, int count)

m の 4 つの 16 ビット値を、count で指定した値だけ右にシフトし、上位ビットを符号ビットで埋めます。パフォーマンス上の理由で、count は定数にしてください。

 

__m64 _mm_sra_pi32(__m64 m, __m64 count)

m の 2 つの 32 ビット値を、count で指定した値だけ右にシフトし、上位ビットを符号ビットで埋めます。

 

__m64 _mm_srai_pi32(__m64 m, int count)

m の 2 つの 32 ビット値を、count で指定した値だけ右にシフトし、上位ビットを符号ビットで埋めます。パフォーマンス上の理由で、count は定数にしてください。

 

__m64 _mm_srl_pi16(__m64 m, __m64 count)

m の 4 つの 16 ビット値を、count で指定した値だけ右にシフトし、上位ビットを 0 で埋めます。

 

__m64 _mm_srli_pi16(__m64 m, int count)

m の 4 つの 16 ビット値を、count で指定した値だけ右にシフトし、上位ビットを 0 で埋めます。パフォーマンス上の理由で、count は定数にしてください。

 

__m64 _mm_srl_pi32(__m64 m, __m64 count)

m の 2 つの 32 ビット値を、count で指定した値だけ右にシフトし、上位ビットを 0 で埋めます。

 

__m64 _mm_srli_pi32(__m64 m, int count)

m の 2 つの 32 ビット値を、count で指定した値だけ右にシフトし、上位ビットを 0 で埋めます。パフォーマンス上の理由で、count は定数にしてください。

 

__m64 _mm_srl_pi64(__m64 m, __m64 count)

m の 64 ビット値を、count で指定した値だけ右にシフトし、上位ビットを 0 で埋めます。

 

__m64 _mm_srli_pi64(__m64 m, int count)

m の 64 ビット値を、count で指定した値だけ右にシフトし、上位ビットを 0 で埋めます。パフォーマンス上の理由で、count は定数にしてください。