Visible to Intel only — GUID: GUID-B8B61FA8-224D-4B91-B5F2-F13CB33261F5
Visible to Intel only — GUID: GUID-B8B61FA8-224D-4B91-B5F2-F13CB33261F5
_mm_maskstore_epi32/64, _mm256_maskstore_epi32/64
Conditionally stores dwords/qwords from the source vector to the specified memory location, depending on the given mask bits associated with each data element. The corresponding Intel® AVX2 instruction is VPMASKMOVD or VPMASKMOVQ.
Syntax
extern void _mm_maskstore_epi32(int * addr, __m128i vmask, __m128i val); |
extern void _mm256_maskstore_epi32(int * addr, __m256i vmask, __m256i val); |
extern void _mm_maskstore_epi64(__int64 * addr, __m128i vmask, __m128i val); |
extern void _mm256_maskstore_epi64(__int64 * addr, __m256i vmask, __m256i val); |
Arguments
addr |
pointer to data to be loaded |
vmask |
vector mask. If element of vmask is 0, then the value in the memory is unchanged |
val |
location from where the elements are written to vector located in memory and referenced by "addr" |
Description
Conditionally stores 32/64-bit data elements from the source vector into the corresponding elements of the vector in memory referenced by addr. If an element of mask is 0, corresponding element of the result vector in memory stays unchanged. Only the most significant bit of each element in the vector mask is used.
Returns
Result of the masked store operation.