_mm_maskmoveu_si128

Function _mm_maskmoveu_si128 

1.27.0 · Source
pub unsafe fn _mm_maskmoveu_si128(a: __m128i, mask: __m128i, mem_addr: *mut i8)
Available on (x86 or x86-64) and target feature sse2 and x86-64 only.
Expand description

Conditionally store 8-bit integer elements from a into memory using mask flagged as non-temporal (unlikely to be used again soon).

Elements are not stored when the highest bit is not set in the corresponding element.

mem_addr should correspond to a 128-bit memory location and does not need to be aligned on any particular boundary.

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.