Поделиться через


_mm_stream_ss

Только для систем Microsoft

Записывает 32 бита данных в расположение в памяти без polluting кэши.

void _mm_stream_ss(
   float * Dest,
   __m128 Source
);

Параметры

  • [исходящий] Dest
    Указатель на место, где исходные данные записываются.

  • [входящий] Source
    128 Бита, содержащее значение float чисел, записываемое в его битах снизу 32.

Возвращаемое значение

Отсутствует.

Требования

Встроенный объект

Архитектура

_mm_stream_ss

SSE4a

Файл заголовка <intrin.h>

Заметки

Этот встроенный создает инструкцию movntss. Чтобы определить аппаратную поддержку этой инструкции вызовите внутреннего элемента __cpuid с InfoType=0x80000001 и контрольным двоичные разрядом 6 CPUInfo[2] (ECX). Этот бит равен 1, если инструкция поддерживается, и 0 в противном случае.

Если запустить код, который использует внутренние _mm_stream_ss на оборудовании, не поддерживает инструкцию movntss результаты становятся непредсказуемыми.

Пример

// 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[1] = " << f[1] << ", f[3] = " << f[3] << endl;
}
  

ЭЛЕМЕНТ, относящийся Майкрософт

Авторские права 2007 предварительными микро- Устройствами, Inc все права защищены. Воспроизведено с разрешением от предварительных микро- Устройств, Inc

См. также

Ссылки

_mm_stream_sd

Встроенные объекты компилятора

Другие ресурсы

_mm_stream_ps

_mm_store_ss

_mm_sfence

Расширения SIMD потоковой передачи, которые поддерживают кэширование