次の方法で共有


_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. の許可を得て再現

関連項目

_mm_stream_ss
_mm_store_sd
_mm_sfence
コンパイラの組み込み