ストリーミング SIMD 拡張命令 2 の整数移動操作

次の変換組み込み関数とそれに対応する命令は、ストリーミング SIMD 拡張命令 2 (SSE2) をサポートするプロセッサー上で有効です。

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

各組み込み関数演算の結果はレジスターに配置されます。各レジスターに配置される値については、次の表の関数名の詳細で示します。R、R0、R1、R2、R3 は、結果が配置されるレジスターを表します。

SSE2 の組み込み関数のプロトタイプは、ヘッダーファイル emmintrin.h 内にあります。

組み込み関数名 操作 命令
_mm_cvtsi32_si128 最下位 64 ビットに移動し、上位ビットを 0 に設定する MOVD
_mm_cvtsi64_si128 最下位 64 ビットに移動し、上位ビットを 0 に設定する MOVQ
_mm_cvtsi128_si32 最下位 32 ビットを移動する MOVD
_mm_cvtsi128_si64 最下位 64 ビットを移動する MOVQ

 

__m128i _mm_cvtsi32_si128(int a)

32 ビット整数 a__m128i オブジェクトの最下位 32 ビットに移動し、__m128i オブジェクトの上位 96 ビットを 0 に設定します。

R0 R1 R2 R3
a 0x0 0x0 0x0

 

__m128i _mm_cvtsi64_si128(__int64 a)

64 ビット整数 a__m128i オブジェクトの下位 64 ビットに移動し、上位ビットを 0 に設定します。

R0 R1
a 0x0

 

int _mm_cvtsi128_si32(__m128i a)

a の最下位 32 ビットを、32 ビット整数に移動します。

R
a0

 

__int64 _mm_cvtsi128_si64(__m128i a)

a の最下位 64 ビットを、64 ビット整数に移動します。

R
a0