_mm_cvtps_ph

Convert packed single-precision (32-bit) floating-point elements in a to packed half-precision (16-bit) floating-point elements USING NEAREST ROUNDING.

Normally rounding is done according to the imm8[2:0] parameter, which can be one of: - _MM_FROUND_TO_NEAREST_INT // round to nearest - _MM_FROUND_TO_NEG_INF // round down - _MM_FROUND_TO_POS_INF // round up - _MM_FROUND_TO_ZERO // truncate - _MM_FROUND_CUR_DIRECTION // use MXCSR.RC; see _MM_SET_ROUNDING_MODE

HOWEVER BUG: here only nearest rounding is supported, this is ensured statically. Note: Preserve infinities, sign of zeroes, and NaN-ness.

Meta