Richard Henderson <[email protected]> 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 <[email protected]>
<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 <[email protected]>
>
>
> r~
--
Alex Bennée