CVFPU incorrectly sets inexact flag on `F2F` conversions of infinity
Created by: michael-platzer
According to IEEE 754-2008, operations on infinite operands usually do not signal exceptions:
However, CVFPU sets the NX
flag on F2F
conversions of infinite values.
The expression above suppresses the NX
flag upon overflow if the operand is infinity, but not if any of the fp_round_sticky_bits
are set. These sticky bits are extracted from the destination mantissa, which in turn is derived from preshift_mant
:
However, the bits of preshift_mant
are all '1
if the operand is infinity:
As a result, the bits in fp_round_sticky_bits
are always set if the operand is infinity and consequently the NX
flag is incorrectly set.