https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114270

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |enhancement

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
The rules for this to be done are a bit more complex than what is described
here.

1) Significand precision of the floating point type needs to be >= precision of
the integer type
2) the 1/(multiplier) needs to be representable in the integer type
3) (I think this is required) no trapping math is enabled as inexact floating
point exception could happen
4) (maybe?) Significand only has the implicit 1 set.

Note there might be more rules on needed for this to be done and I have not
thought about all of them currently.

Reply via email to