https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108754
--- Comment #1 from Vladimir Makarov <vmakarov at gcc dot gnu.org> --- I think the problem is that cris uses the old reload pass. Could you check the following patch: diff --git a/gcc/ira.cc b/gcc/ira.cc index d0b6ea062e8..9f9af808f63 100644 --- a/gcc/ira.cc +++ b/gcc/ira.cc @@ -3773,7 +3773,7 @@ update_equiv_regs (void) { note = set_unique_reg_note (insn, REG_EQUIV, replacement); } - else + else if (ira_use_lra_p) { /* We still can use this equivalence for caller save optimization in LRA. Mark this. */