_mm256_maskstore_pd, _mm_maskstore_pd

Stores packed double-precision floating point values according to mask values. The corresponding Intel® AVX instruction is VMASKMOVPD.


extern void _mm256_maskstore_pd(double *a, __m256i mask, __m256d b);

extern void _mm_maskstore_pd(double *a, __m128i mask, __m128d b);



pointer to a 256/128-bit memory location that can hold constant double-precision floating point (float64) values


integer value calculated based on the most-significant-bit of each quadword of a mask register


a 256/128-bit float64 vector


Performs a store operation by moving packed double-precision floating point (float64) values from a vector, b, to a 256/128-bit memory location, pointed to by a, using a mask.

The mask is calculated from the most significant bit of each qword of the mask register. If any of the bits of the mask are set to zero, the corresponding value from the float64 vector is not loaded, and the corresponding field of the destination memory location is left unchanged.


Stores are atomic. Faults do not occur for memory locations for which all corresponding mask bits are set to zero.



Para obtener información más completa sobre las optimizaciones del compilador, consulte nuestro Aviso de optimización.