_mm256_stream_pd in core::arch::x86 - Rust
Description: Moves double-precision values from a 256-bit vector of `[4 x double]` to a 32-byte aligned memory location. To minimize caching, the data is flagged as non-temporal (unlikely to be used again soon).

Skip to main content

## _mm256_stream_pd

# Function _mm256_stream_pd

1.27.0 · Source

    pub unsafe fn _mm256_stream_pd(mem_addr: *mut f64, a: __m256d)

Available on x86 and target feature `avx` only.
Expand description

Moves double-precision values from a 256-bit vector of `[4 x double]` to a 32-byte aligned memory location. To minimize caching, the data is flagged as non-temporal (unlikely to be used again soon).

Intel’s documentation

## §Safety of non-temporal stores

After using this intrinsic, but before any other access to the memory that this intrinsic mutates, a call to `_mm_sfence` must be performed by the thread that used the intrinsic. In particular, functions that call this intrinsic should generally call `_mm_sfence` before they return.

See `_mm_sfence` for details.