インテル® C++ コンパイラー XE 13.1 ユーザー・リファレンス・ガイド
組込み関数名 |
演算子 |
対応する MMX® 命令 |
---|---|---|
_mm_empty |
MM ステートを空にする |
EMMS |
_mm_cvtsi32_si64 |
int からの変換 |
MOVD |
_mm_cvtsi64_si32 |
int への変換 |
MOVD |
_mm_cvtsi64_m64 |
__int64 からの変換 |
MOVQ |
_mm_cvtm64_si64 |
__int64 への変換 |
MOVQ |
_mm_packs_pi16 |
パック |
PACKSSWB |
_mm_packs_pi32 |
パック |
PACKSSDW |
_mm_packs_pu16 |
パック |
PACKUSWB |
_mm_unpackhi_pi8 |
インターリーブ |
PUNPCKHBW |
_mm_unpackhi_pi16 |
インターリーブ |
PUNPCKHWD |
_mm_unpackhi_pi32 |
インターリーブ |
PUNPCKHDQ |
_mm_unpacklo_pi8 |
インターリーブ |
PUNPCKLBW |
_mm_unpacklo_pi16 |
インターリーブ |
PUNPCKLWD |
_mm_unpacklo_pi32 |
インターリーブ |
PUNPCKLDQ |
__m64 _mm_packs_pi16(__m64 m1, __m64 m2)
符号付き飽和処理を使用して、m1 の 4 つの 16 ビット値を、結果の下位 4 つの 8 ビット値にパックします。符号付き飽和処理を使用して、m2 の 4 つの 16 ビット値を、結果の上位 4 つの 8 ビット値にパックします。
__m64 _mm_packs_pi32(__m64 m1, __m64 m2)
符号付き飽和処理を使用して、m1 の 2 つの 32 ビット値を、結果の下位 2 つの 16 ビット値にパックします。符号付き飽和処理を使用して、m2 の 2 つの 32 ビット値を、結果の上位 2 つの 16 ビット値にパックします。
__m64 _mm_packs_pu16(__m64 m1, __m64 m2)
符号なし飽和処理を使用して、m1 の 4 つの 16 ビット値を、結果の下位 4 つの 8 ビット値にパックします。符号なし飽和処理を使用して、m2 の 4 つの 16 ビット値を、結果の上位 4 つの 8 ビット値にパックします。
__m64 _mm_unpackhi_pi8(__m64 m1, __m64 m2)
m1 の上位半分の 4 つの 8 ビット値と、m2 の上位半分の 4 つの値をインターリーブ (交互に配置) します。 インターリーブは m1 のデータから始めます。
__m64 _mm_unpackhi_pi16(__m64 m1, __m64 m2)
m1 の上位半分の 2 つの 16 ビット値と、m2 の上位半分の 2 つの値をインターリーブします。 インターリーブは m1 のデータから始めます。
__m64 _mm_unpackhi_pi32(__m64 m1, __m64 m2)
m1 の上位半分の 32 ビット値と、m2 の上位半分の 32 ビット値をインターリーブします。 インターリーブは m1 のデータから始めます。
__m64 _mm_unpacklo_pi8(__m64 m1, __m64 m2)
m1 の下位半分の 4 つの 8 ビット値と、m2 の下位半分の 4 つの値をインターリーブします。 インターリーブは m1 のデータから始めます。