pub unsafe fn _mm256_cvtps_ph(a: __m256, const IMM_ROUNDING: i32) -> __m128i
🔬 This is a nightly-only experimental API. (stdsimd #48556)
Available on x86-64 and target feature f16c only.
Expand description

Converts the 8 x 32-bit float values in the 256-bit vector a into 8 x 16-bit half-precision float values stored in a 128-bit wide vector.

Rounding is done according to the imm_rounding parameter, which can be one of:

  • _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC: round to nearest and suppress exceptions,
  • _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC: round down and suppress exceptions,
  • _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC: round up and suppress exceptions,
  • _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC: truncate and suppress exceptions,
  • _MM_FROUND_CUR_DIRECTION: use MXCSR.RC - see _MM_SET_ROUNDING_MODE.