_mm_stream_ss
Microsoft 特定的
將 32 位數據寫入記憶體位置,而不會污染快取。
語法
void _mm_stream_ss(
float * Destination,
__m128 Source
);
參數
目的地
[out]寫入源數據之位置的指標。
來源
[in]128 位的數位,其中包含 float
要寫入其底部 32 位的值。
傳回值
無。
需求
內建 | 架構 |
---|---|
_mm_stream_ss |
SSE4a |
頭檔<intrin.h>
備註
內部函數會產生 movntss
指令。 若要判斷此指令的硬體支援,請使用呼叫 __cpuid
內部函數, InfoType=0x80000001
並檢查的 CPUInfo[2] (ECX)
位 6。 當支援指令時,此位為 1,否則為 0。
如果您在不支援movntss
指令的硬體上執行使用_mm_stream_ss
內部函數的程式代碼,則結果無法預測。
範例
// Compile this sample with: /EHsc
#include <iostream>
#include <intrin.h>
using namespace std;
int main()
{
__m128 vals;
float f[4];
f[0] = -1.;
f[1] = -2.;
f[2] = -3.;
f[3] = -4.;
vals.m128_f32[0] = 0.;
vals.m128_f32[1] = 1.;
vals.m128_f32[2] = 2.;
vals.m128_f32[3] = 3.;
_mm_stream_ss(&f[3], vals);
cout << "f[0] = " << f[0] << ", f[1] = " << f[1] << endl;
cout << "f[2] = " << f[2] << ", f[3] = " << f[3] << endl;
}
f[0] = -1, f[1] = -2
f[2] = -3, f[3] = 3
END Microsoft 特定的
部分著作權 2007 由 Advanced Micro Devices, Inc.保留所有權利。 由 Advanced Micro Devices, Inc. 的許可權重現。