[Bug target/43546] [4.7/4.8/4.9 Regression] ICE: in assign_stack_local_1, at function.c:353 with -mpreferred-stack-boundary=2 -msseregparm

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Feb 12 12:18:00 GMT 2014


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.



More information about the Gcc-bugs mailing list