Export (0) Print
Expand All
Expand Minimize
This topic has not yet been rated - Rate this topic


Microsoft Specific

Writes 64-bit data to a memory location without polluting the caches.

void _mm_stream_sd(
   double * Dest,
   __m128d Source
[out] Dest

A pointer to the location where the source data will be written.

[in] Source

A 128-bit value containing the double value to be written in its bottom 64 bits..





Header file <intrin.h>

This intrinsic generates the movntsd instruction. To determine hardware support for this instruction, call the __cpuid intrinsic with InfoType=0x80000001 and check bit 6 of CPUInfo[2] (ECX). This bit is 1 if the hardware supports this instruction, and 0 otherwise.

If you run code that uses the _mm_stream_sd intrinsic on hardware that does not support the movntsd instruction, the results are unpredictable.

// 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

Copyright 2007 by Advanced Micro Devices, Inc. All rights reserved. Reproduced with permission from Advanced Micro Devices, Inc.

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

© 2014 Microsoft. All rights reserved.