https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96017
--- Comment #14 from Surya Kumari Jangala <jskumari at gcc dot gnu.org> --- Instead of using a non-volatile register to hold the value of foo, a volatile register (r9) is assigned to hold foo. This avoids setting up the stack frame in the fast path.