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

core::arch::x86_64

# Function _mm256_stream_ps

1.27.0 · Source

    pub unsafe fn _mm256_stream_ps(mem_addr: *mut f32, a: __m256)

Available on (x86 or x86-64) and target feature `avx` and x86-64 only.
Expand description

Moves single-precision floating point values from a 256-bit vector of `[8 x float]` 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.