_mm_stream_sd
Microsoft 专用
将 64 位数据写入内存位置,而不会污染缓存。
语法
void _mm_stream_sd(
double * Dest,
__m128d Source
);
参数
Dest
[out] 指向将写入源数据的位置的指针。
Source
[in] 一个 128 位值,其中包含要写入其底部 64 位的 double
值。
返回值
无。
要求
Intrinsic | 体系结构 |
---|---|
_mm_stream_sd |
SSE4a |
头文件<intrin.h>
备注
内部函数生成 movntsd
指令。 若要确定此指令的硬件支持,请调用 InfoType=0x80000001
的 __cpuid
内部函数,并检查 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
结束 Microsoft 专用
超威半导体公司保留 2007 部分版权。 经超威半导体公司许可转载