https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119021
Bug ID: 119021 Summary: [15 Regression] RTL checking ICEs after r15-7700 Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: jakub at gcc dot gnu.org Target Milestone: --- I'm seeing some RTL checking ICEs since r15-7700-g2341f675edadd6370147d2bc55ca7761a7ecfaa1 : +FAIL: gcc.target/i386/pr84876.c (internal compiler error: RTL check: expected elt 3 type 'e' or 'u', have '0' (rtx note) in PATTERN, at rtl.h:1515) +FAIL: gcc.target/i386/pr84876.c (test for excess errors) +FAIL: gcc.target/i386/pr88414.c (internal compiler error: RTL check: expected elt 3 type 'e' or 'u', have '0' (rtx note) in PATTERN, at rtl.h:1515) +FAIL: gcc.target/i386/pr88414.c (test for excess errors) on x86_64-linux and +FAIL: gcc.target/i386/pr109137.c (internal compiler error: RTL check: expected elt 3 type 'e' or 'u', have '0' (rtx note) in PATTERN, at rtl.h:1515) +FAIL: gcc.target/i386/pr109137.c (test for excess errors) +FAIL: gcc.target/i386/pr88414.c (internal compiler error: RTL check: expected elt 3 type 'e' or 'u', have '0' (rtx note) in PATTERN, at rtl.h:1515) +FAIL: gcc.target/i386/pr88414.c (test for excess errors) on i686-linux. All these tests have in common are inline asms that are impossible to reload, so gcc emits error: ‘asm’ operand has impossible constraints or there are not enough registers diagnostics and turns the inline asm into NOTE_INSN_DELETED note. The ICE is then in lra_split_hard_reg_for 1858 lra_asm_insn_error (insn); 1859 if (JUMP_P (insn)) 1860 ira_nullify_asm_goto (insn); 1861 else 1862 PATTERN (insn) = gen_rtx_USE (VOIDmode, const0_rtx); where lra_asm_insn_error does emit that error and /* Avoid further trouble with this insn. */ if (JUMP_P (insn)) { ira_nullify_asm_goto (insn); lra_update_insn_regno_info (insn); } else { PATTERN (insn) = gen_rtx_USE (VOIDmode, const0_rtx); lra_set_insn_deleted (insn); } so I fail to see the point of the lines 1859-1862 because it is already nullified or pattern changed and insn deleted.