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

インテル® MMX® テクノロジーのシフト組込み関数

インテル® MMX® テクノロジーのシフト組込み関数のプロトタイプは、ヘッダーファイル 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

_mm_sll_pi16

__m64 _mm_sll_pi16(__m64 m, __m64 count);

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

_mm_slli_pi16

__m64 _mm_slli_pi16(__m64 m, int count);

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

_mm_sll_pi32

__m64 _mm_sll_pi32(__m64 m, __m64 count);

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

_mm_slli_pi32

__m64 _mm_slli_pi32(__m64 m, int count);

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

_mm_sll_pi64

__m64 _mm_sll_pi64(__m64 m, __m64 count);

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

_mm_slli_pi64

__m64 _mm_slli_pi64(__m64 m, int count);

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

_mm_sra_pi16

__m64 _mm_sra_pi16(__m64 m, __m64 count);

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

_mm_srai_pi16

__m64 _mm_srai_pi16(__m64 m, int count);

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

_mm_sra_pi32

__m64 _mm_sra_pi32(__m64 m, __m64 count);

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

_mm_srai_pi32

__m64 _mm_srai_pi32(__m64 m, int count);

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

_mm_srl_pi16

__m64 _mm_srl_pi16(__m64 m, __m64 count);

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

_mm_srli_pi16

__m64 _mm_srli_pi16(__m64 m, int count);

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

_mm_srl_pi32

__m64 _mm_srl_pi32(__m64 m, __m64 count);

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

_mm_srli_pi32

__m64 _mm_srli_pi32(__m64 m, int count);

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

_mm_srl_pi64

__m64 _mm_srl_pi64(__m64 m, __m64 count);

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

_mm_srli_pi64

__m64 _mm_srli_pi64(__m64 m, int count);

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