https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118328
--- Comment #5 from Ken Jin <kenjin4096 at gmail dot com> --- However, it seems to me that there's still extraneous push and pops for function prologue/epilogue that could be removed with preserve_none. GCC's regalloc is definitely a lot better than Clang when both don't have preserve_none, but with preserve_none it seems that Clang does better regalloc. So I think this might still be worth looking at.