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 は定数にしてください。