https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110247
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |documentation --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The way I read the documentation, it will NOT be used when dealing with calls to that function but rather the function that has that attribute will save all registers and restore them at the end. And it is used only for calls from an interrupt handler (e.g. directly from assembly). and even more you need to use -mgeneral-regs-only too.