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 .