https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79584
Alan Modra <amodra at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2017-02-21 CC| |amodra at gmail dot com Assignee|unassigned at gcc dot gnu.org |amodra at gmail dot com Ever confirmed|0 |1 --- Comment #2 from Alan Modra <amodra at gmail dot com> --- I don't see a -mno-lra ICE with r245619 (plus a few local patches), but do reproduce the lra ICE. Coming out of ira the following insn sets the reg that feeds into the insn that ICEs (the reg doesn't get a hard reg so the mem equiv is used). (insn 7 8 11 2 (set (reg:SI 155 [ i.0_1 ]) (mem/c:SI (lo_sum:SI (reg/f:SI 158) (symbol_ref:SI ("i") [flags 0xc4] <var_decl 0x7f4f8f40d7e0 i>)) [1 i+0 S4 A32])) "/home/alan/src/gcc.git/gcc/testsuite/c-c++-common/dfp/pr35620.c":18 480 {*movsi_internal1} (expr_list:REG_DEAD (reg/f:SI 158) (expr_list:REG_EQUIV (mem/j/c:SI (lo_sum:SI (reg/f:SI 160) (symbol_ref:SI ("u") [flags 0x84] <var_decl 0x7f4f8f40d870 u>)) [2 u.b+0 S4 A32]) (nil)))) The REG_EQUIV is one from add_store_equivs. It looks quite bogus to me.