https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116550
denisc at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |denisc at gcc dot gnu.org --- Comment #2 from denisc at gcc dot gnu.org --- Probably I found a bug in lra-constraints.cc I can explain it later. Johan can you test the patch ? diff --git a/gcc/lra-constraints.cc b/gcc/lra-constraints.cc index fdcc07764a2..1f63113f321 100644 --- a/gcc/lra-constraints.cc +++ b/gcc/lra-constraints.cc @@ -680,7 +680,8 @@ get_reload_reg (enum op_type type, machine_mode mode, rtx original, used by reload instructions. */ if (REG_P (original) && (int) REGNO (original) >= new_regno_start - && INSN_UID (curr_insn) >= new_insn_uid_start + && (INSN_UID (curr_insn) >= new_insn_uid_start + || ira_former_scratch_p (REGNO (original))) && in_class_p (original, rclass, &new_class, true)) { unsigned int regno = REGNO (original);