_mm_stream_sd
Блок, относящийся только к системам Майкрософт
Записывает 64-разрядные данные в расположение памяти без загрязнения кэшей.
Синтаксис
void _mm_stream_sd(
double * Dest,
__m128d Source
);
Параметры
Dest
[out] Указатель на расположение, в котором будут записываться исходные данные.
Источник
[in] 128-разрядное значение, double
содержащее значение, записанное в нижней части 64 бита.
Возвращаемое значение
Нет.
Требования
Intrinsic | Архитектура |
---|---|
_mm_stream_sd |
SSE4a |
Файл<заголовка intrin.h>
Замечания
Встроенная функция создает инструкцию movntsd
. Чтобы определить поддержку оборудования для этой инструкции, вызовите __cpuid
встроенную функцию и InfoType=0x80000001
проверьте бит 6 CPUInfo[2] (ECX)
. Этот бит равен 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
Завершение блока, относящегося только к системам Майкрософт
Части авторских прав 2007 от Advanced Micro Devices, Inc. Все права защищены. Воспроизводится с разрешением от Advanced Micro Devices, Inc.
См. также
_mm_stream_ss
_mm_store_sd
_mm_sfence
Встроенные компоненты компилятора