http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58416
--- Comment #4 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- On Mon, 16 Sep 2013, rguenth at gcc dot gnu.org wrote: > It looks wrong for DFmode move instructions to not preserve a IEEE defined > flag. I suppose it would be also wrong to not preserve the exact bit pattern > (think of canonicalizing NaNs). I think of the move problem for signaling NaNs as being bug 56831 - except that as expressed there it's only a bug for -fsignaling-nans, whereas the present bug is clearly a bug with or without -fsignaling-nans (the program makes no explicit use of signaling NaNs at all). In the absence of -fexcess-precision=standard, I suppose the move patterns do need to represent how to move DFmove values into x87 registers from memory (despite the lack of proper bit-pattern-preserving loads on the processor), but any move instruction that extends SFmode or DFmode implicitly to XFmode should be avoided except where actually needed for floating-point arithmetic to be carried out or because the ABI requires the value in an x87 register.