Intel® C++ Compiler 16.0 User and Reference Guide
Scales rounded float32 vectors. Corresponding instruction is VSCALEPS. This intrinsic only applies to Intel® Many Integrated Core Architecture (Intel® MIC Architecture).
Without Mask extern __m512 __cdecl _mm512_scale_round_ps(_m512 v2, _m512i v3, int rc); |
With Mask extern __m512 __cdecl _mm512_mask_scale_round_ps(_m512 v1_old, __mmask16 k1, _m512 v2, _m512i v3, int rc); |
Performs an element-by-element scale of float32 vector v2 by multiplying it by 2**exponent, where exponent is the corresponding element of vector v3. Intermediate values are rounded according to rc value.
This intrinsic is required for scaling 'u' and 'v' coordinates according to the mipmap size, which is 2**mipmap level, and for the evaluation of Exp2. Where the exponent goes out of range, the operation is handled as if a multiplication of float32 vectors with 2**exp is performed.
The masked variant has one additional argument: k1. Only those elements in the source vectors with the corresponding bit set in vector mask k1 are used for computing.
Returns the result of the scaling operation.