https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83390
David Binderman <dcb314 at hotmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |vmakarov at gcc dot gnu.org --- Comment #5 from David Binderman <dcb314 at hotmail dot com> --- (In reply to David Binderman from comment #4) > If I remove the -funroll-loops the problem goes away. And reappears later in the build. I put some debug statements in: if (full_p && insn != NULL_RTX && ep->to_rtx == stack_pointer_rtx) offset -= lra_get_insn_recog_data (insn)->sp_offset; fprintf( stderr, "dcb: 0 %d\n", XEXP (x, 1)); fprintf( stderr, "dcb: 1 %d\n", CONST_INT_P (XEXP (x, 1))); fprintf( stderr, "dcb: 2 %d\n", INTVAL (XEXP (x, 1))); fprintf( stderr, "dcb: 3 %d\n", -offset); if (CONST_INT_P (XEXP (x, 1)) && INTVAL (XEXP (x, 1)) == -offset) and got a match on the last debug statement, so I confirm that it is local variable "offset" that is going wrong. I'll dig deeper with some more debug statements.