次の変換組み込み関数とそれに対応する命令は、ストリーミング 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 |