https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109137
--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Ah, but 1690 if (flag_checking 1691 && (lra_assignment_iter_after_spill 1692 > LRA_MAX_ASSIGNMENT_ITERATION_NUMBER)) 1693 internal_error 1694 ("maximum number of LRA assignment passes is achieved (%d)", 1695 LRA_MAX_ASSIGNMENT_ITERATION_NUMBER); is guarded with -fchecking. So it really hangs with -fno-checking. Now, on the error: ‘asm’ operand has impossible constraints errors the problematic insns are removed: 1864 PATTERN (insn) = gen_rtx_USE (VOIDmode, const0_rtx); 1865 lra_set_insn_deleted (insn); or nulified in case of asm goto, so wonder whether some LRA state shouldn't be reset at that point as well or what is the reason for the > 30 iterations.