https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114659
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Richard Biener from comment #10) > I'm not sure if we can > look at the hardreg for the FP mode in question and decide based on its mode > for example. I think not just the mode, but would need to look at the targetm.c.excess_precision and whether the mode it promotes to has any padding bits or something similar. Though, I'm afraid targetm.c.excess_precision reflects mostly what the FEs should do, rather than what the hw instructions do with the mode, so maybe it would be better to have a target hook which says for a floating point scalar mode whether moves using it preserve all bits or not, default to yes (I think that is the behavior on most of the arches) and deal with the exceptions (i?86, ia64, m68k, what else). Are there some other targets which say canonicalize NaNs on simple moves?