Function tracing_core::stdlib::arch::x86_64::_mm512_getmant_ph
source · pub unsafe fn _mm512_getmant_ph<const NORM: i32, const SIGN: i32>(
a: __m512h,
) -> __m512h
🔬This is a nightly-only experimental API. (
stdarch_x86_avx512_f16
#127213)Available on x86-64 only.
Expand description
Normalize the mantissas of packed half-precision (16-bit) floating-point elements in a, and store
the results in dst. This intrinsic essentially calculates ±(2^k)*|x.significand|
, where k depends
on the interval range defined by norm and the sign depends on sign and the source sign.
The mantissa is normalized to the interval specified by interv, which can take the following values:
_MM_MANT_NORM_1_2 // interval [1, 2)
_MM_MANT_NORM_p5_2 // interval [0.5, 2)
_MM_MANT_NORM_p5_1 // interval [0.5, 1)
_MM_MANT_NORM_p75_1p5 // interval [0.75, 1.5)
The sign is determined by sc which can take the following values:
_MM_MANT_SIGN_src // sign = sign(src)
_MM_MANT_SIGN_zero // sign = 0
_MM_MANT_SIGN_nan // dst = NaN if sign(src) = 1