https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118328
Bug ID: 118328
Summary: Implement preserve_none for AArch64
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Keywords: ABI
Severity: enhancement
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: rsandifo at gcc dot gnu.org
Target Milestone: ---
Target: aarch64*-*-*
We should consider implementing Clang's preserve_none attribute for AArch64
GCC. It should be relatively simple to do, since we already have the
infrastructure to handle multiple ABIs. The main difficulty is likely to be
the extra argument registers.
See https://github.com/python/cpython/issues/128563 for one potential use case
(HT to Diego Russo).
There is already PR110899 for preserve_all and preserve_most, but this seemed
worth putting in its own PR rather than adding to that one. There is no reason
in principle why we need to implement all three attributes at once.