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

Syntax

extern void _mm256_maskstore_ps(float *a, __m256i mask, __m256 b);

extern void _mm_maskstore_ps(float *a, __m128i mask, __m128 b);

Arguments

*a

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

mask

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

b

a 256/128-bit float32 vector

Description

Performs a store operation by moving packed single-precision floating point (float32) 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 float32 vector is not loaded, and the corresponding field of the destination memory location is left unchanged.

Note

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

Returns

Nothing.

Для получения подробной информации о возможностях оптимизации компилятора обратитесь к нашему Уведомлению об оптимизации.