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

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

組込み関数
別名
シフト
の方向
シフト
の種類
対応する
命令
_m_psllw _mm_sll_pi16 論理 PSLLW
_m_psllwi _mm_slli_pi16 論理 PSLLWI
_m_pslld _mm_sll_pi32 論理 PSLLD
_m_pslldi _mm_slli_pi32 論理 PSLLDI
_m_psllq _mm_sll_si64 論理 PSLLQ
_m_psllqi _mm_slli_si64 論理 PSLLQI
_m_psraw _mm_sra_pi16 算術 PSRAW
_m_psrawi _mm_srai_pi16 算術 PSRAWI
_m_psrad _mm_sra_pi32 算術 PSRAD
_m_psradi _mm_srai_pi32 算術 PSRADI
_m_psrlw _mm_srl_pi16 論理 PSRLW
_m_psrlwi _mm_srli_pi16 論理 PSRLWI
_m_psrld _mm_srl_pi32 論理 PSRLD
_m_psrldi _mm_srli_pi32 論理 PSRLDI
_m_psrlq _mm_srl_si64 論理 PSRLQ
_m_psrlqi _mm_srli_si64 論理 PSRLQI

__m64 _m_psllw(__m64 m, __m64 count)

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

__m64 _m_psllwi(__m64 m, int count)

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

__m64 _m_pslld(__m64 m, __m64 count)

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

__m64 _m_pslldi(__m64 m, int count)

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

__m64 _m_psllq(__m64 m, __m64 count)

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

__m64 _m_psllqi(__m64 m, int count)

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

__m64 _m_psraw(__m64 m, __m64 count)

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

__m64 _m_psrawi(__m64 m, int count)

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

__m64 _m_psrad(__m64 m, __m64 count)

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

__m64 _m_psradi(__m64 m, int count)

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

__m64 _m_psrlw(__m64 m, __m64 count)

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

__m64 _m_psrlwi(__m64 m, int count)

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

__m64 _m_psrld(__m64 m, __m64 count)

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

__m64 _m_psrldi(__m64 m, int count)

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

__m64 _m_psrlq(__m64 m, __m64 count)

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

__m64 _m_psrlqi(__m64 m, int count)

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