_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 проверка бит 6CPUInfo[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
Встроенные компоненты компилятора