Uložení registrů do stacku

Překladač automaticky při vstupu do funkce uschová pouze regstry, které bude ve funkci používat. Pro uschování všech registrů lze funkci vytvořit jako “naked” a registry si inline assemblerem uložit/načíst ručně. V manuálu GCC potřebné informace jsou.
K čemu by to bylo dobré? (kromě multitaskingu, na což je lepší použít něco hotového, třeba FreeRTOS)