分享方式:


_mm_stream_sd

Microsoft 特定的

將 64 位數據寫入記憶體位置,而不會污染快取。

語法

void _mm_stream_sd(
   double * Dest,
   __m128d Source
);

參數

Dest
[out]將寫入源數據之位置的指標。

來源
[in]128 位值, double 其中包含要寫入其底部 64 位的值。

傳回值

無。

需求

內建 架構
_mm_stream_sd SSE4a

頭檔<intrin.h>

備註

內部函數會產生 movntsd 指令。 若要判斷此指令的硬體支援,請使用呼叫 __cpuid 內部函數, InfoType=0x80000001 並檢查的 CPUInfo[2] (ECX)位 6。 如果硬體支援此指令,則此位為 1,否則為 0。

如果您在不支援movntsd指令的硬體上執行使用_mm_stream_sd內部函數的程式代碼,則結果無法預測。

範例

// 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

END Microsoft 特定的

部分著作權 2007 由 Advanced Micro Devices, Inc.保留所有權利。 由 Advanced Micro Devices, Inc. 的許可權重現。

另請參閱

_mm_stream_ss
_mm_store_sd
_mm_sfence
編譯程式內部函數