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

--- Comment #2 from Arne Juul <arnej at pvv dot ntnu.no> ---
emitting a "call __extendbfsf2" is bad no matter how efficient it's
implemented.

Looking at the gcc sources it's clear to me that the problem is in gcc/expr.cc
where the following code:

          if (to_mode == SFmode
              && !HONOR_NANS (from_mode)
              && !HONOR_NANS (to_mode)
              && optimize_insn_for_speed_p ())
            {
              /* If we don't expect sNaNs, for BFmode -> SFmode we can just
                 shift the bits up.  */

should use HONOR_SNANS instead, the comment even explains why.

Reply via email to