http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58625
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> --- That said, I'd say that every conversion to double that would change the sign looks wrong to me, no matter of what the rounding mode is, except perhaps for NaN canonicalization and that sNaN could be signalled. So IMHO this is mostly an optimization thing, not correctness.