_mm_stream_sd
Seção específica da Microsoft
Grava dados de 64 bits em um local de memória sem poluir os caches.
Sintaxe
void _mm_stream_sd(
double * Dest,
__m128d Source
);
Parâmetros
dest
[in] Um ponteiro para o local onde os dados de origem serão gravados.
Origem
[in] Um valor de 128 bits que contém o valor double
a ser gravado nos 64 bits inferiores dele.
Valor retornado
Nenhum.
Requisitos
Intrinsic | Arquitetura |
---|---|
_mm_stream_sd |
SSE4a |
Arquivo de cabeçalho<intrin.h>
Comentários
O intrínseco gera a instrução movntsd
. Para determinar o suporte de hardware para esta instrução, chame o intrínseco __cpuid
com InfoType=0x80000001
e verifique o bit 6 de CPUInfo[2] (ECX)
. Esse bit será 1 se o hardware der suporte a essa instrução e, caso contrário, 0.
Se você executar o código que usa o intrínseco _mm_stream_sd
em hardware que não dá suporte à instrução movntsd
, os resultados serão imprevisíveis.
Exemplo
// 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
Fim da seção específica da Microsoft
Partes com Copyright 2007 da Advanced Micro Devices, Inc. Todos os direitos reservados. Reproduzido com permissão da Advanced Micro Devices, Inc.
Confira também
_mm_stream_ss
_mm_store_sd
_mm_sfence
Intrínsecos do compilador