https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92086
--- Comment #5 from Segher Boessenkool <segher at gcc dot gnu.org> --- A new attribute is not very enticing. First, it is yet another special-purpose attribute, which can also be surprisingly hard to define what it should do. Because it is a special attribute, the feature will be used a lot less than if functions get this automatically, simply by being no+no. This means that the feature is much less useful, and will be much less tested. Which is especially bad because... A big part of the support for this will be in target-specific code: the *logue code has to decide not to save and restore those registers.