SP must be a multiple of 16 bytes at all times on POSIX - even in leaf functions - so that signal handlers have a properly aligned stack.