インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
ここでは、整数ロード操作用のインテル® ストリーミング SIMD 拡張命令 2 (インテル® SSE2) の組込み関数について説明します。インテル® SSE2 の組込み関数のプロトタイプは、ヘッダーファイル emmintrin.h 内にあります。
各組込み関数演算の結果はレジスターに配置されます。各レジスターに配置される値については、次の表の関数名の詳細で示します。R、R0、および R1 は、結果が配置されるレジスターを表します。
組込み関数名 |
演算 |
対応するインテル® SSE2 命令 |
---|---|---|
_mm_load_si128 |
ロード |
MOVDQA |
_mm_loadu_si128 |
ロード |
MOVDQU |
_mm_loadl_epi64 |
下位 64 ビットにロードし、結果の上位 64 ビットを 0 に設定する |
MOVQ |
__m128i _mm_load_si128(__m128i const*p);
128 ビット値をロードします。アドレス p は、16 バイトにアライメントが合っていなければなりません。
R |
---|
*p |
__m128i _mm_loadu_si128(__m128i const*p);
128 ビット値をロードします。アドレス p は、16 バイトにアライメントが合っていなくてもかまいません。
R |
---|
*p |
__m128i _mm_loadl_epi64(__m128i const*p);
p で指定された値の下位 64 ビットを結果の下位 64 ビットにロードし、結果の上位 64 ビットは 0 に設定します。
R0 |
R1 |
---|---|
*p[63:0] |
0x0 |