http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43546
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |uros at gcc dot gnu.org --- Comment #15 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Yet another option, perhaps better, would be to add a new predicate, that would return true for a MEM operand for which avoid_constant_pool_reference returns a CONST_DOUBLE floating point constant (other than signalling NaN?), and add another define_insn before *extendsfdf2_i387 that would use that predicate on the second operand and would do what *extendsfdf2_i387 does, but have also a "=x", "m" alternative that would be later on split into a load of the constant widened to DFmode in memory. Then we should get better code when trying to load a DFmode constant into a DFmode register and compress_float_constant decided to compress it, while it isn't a win in the end. Or both my patch and this change.