https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100211
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Last reconfirmed| |2021-07-19 Summary|aarch64: OOB accesses in |[9/10/11/12 Regression] |aarch64_{save,restore}_call |aarch64: OOB accesses in |ee_saves |aarch64_{save,restore}_call | |ee_saves Known to work| |6.0 Status|UNCONFIRMED |NEW Target Milestone|--- |9.5 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The loop does: for (regno = aarch64_next_callee_save (start, limit); regno <= limit; regno = aarch64_next_callee_save (regno + 1, limit)) Really this: bool reg_is_wrapped_separately[LAST_SAVED_REGNUM]; Should be: bool reg_is_wrapped_separately[LAST_SAVED_REGNUM + 1]; In aarch64.h. It has been wrong since r7-5127 .