Richard Henderson <richard.hender...@linaro.org> writes: > On 12/11/2017 04:57 AM, Alex Bennée wrote: >> These are considerably simpler as the lower order integers can just >> use the higher order conversion function. As the decomposed fractional >> part is a full 64 bit rounding and inexact handling comes from the >> pack functions. >> >> Signed-off-by: Alex Bennée <alex.ben...@linaro.org> <snip> >> >> static uint32_t uint32_pack_decomposed(decomposed_parts p, float_status *s) >> { >> uint64_t r = uint64_pack_decomposed(p, s); >> - return r > UINT32_MAX ? UINT32_MAX : r; >> + if (r > UINT32_MAX) { >> + s->float_exception_flags |= float_flag_invalid; >> + r = UINT32_MAX; >> + } >> + return r; >> } >> >> #define F > > Ah, the fix for the bug in patch 15 got squashed into the wrong patch. > ;-)
Hmm slip of the re-base... the fix has been moved. > >> +float16 int16_to_float16(int16_t a, float_status *status) >> +{ >> + return int64_to_float16((int64_t) a, status); >> +} > > Kill all of the redundant casts? Ack. > > Otherwise, as amended in your followup, > > Reviewed-by: Richard Henderson <richard.hender...@linaro.org> > > > r~ -- Alex Bennée