_mm_stream_sd
Microsoft 固有の仕様
キャッシュを汚染することなく、メモリの場所に 64 ビット データを書き込みます。
構文
void _mm_stream_sd(
double * Dest,
__m128d Source
);
パラメーター
Dest
[out] ソース データが書き込まれる場所へのポインター。
ソース
[in]下位 64 ビットで書き込まれる double
値を含む 128 ビット値。
戻り値
ありません。
要件
Intrinsic | Architecture |
---|---|
_mm_stream_sd |
SSE4a |
ヘッダー ファイル<intrin.h>
解説
組み込みでは movntsd
命令が生成されます。 この命令のハードウェア サポートを判断するには、InfoType=0x80000001
で __cpuid
組み込みを呼び出し、CPUInfo[2] (ECX)
のビット 6 を確認します。 このビットは、ハードウェアでこの命令がサポートされている場合は 1、それ以外の場合は 0 です。
_mm_stream_sd
組み込みが使用されているコードを movntsd
命令がサポートされないハードウェアで実行すると、結果は予測できません。
例
// Compile this sample with: /EHsc
#include <iostream>
#include <intrin.h>
using namespace std;
int main()
{
__m128d vals;
double d[2];
d[0] = -1.;
d[1] = -2.;
vals.m128d_f64[0] = 0.;
vals.m128d_f64[1] = 1.;
_mm_stream_sd(&d[1], vals);
cout << "d[0] = " << d[0] << ", d[1] = " << d[1] << endl;
}
d[0] = -1, d[1] = 1
Microsoft 固有の仕様はここまで
部分的著作権 2007 年、Advanced Micro Devices, Inc.、無断転載を禁じます。 Advanced Micro Devices, Inc. の許可を得て再現