https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118328
--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Ken Jin from comment #5) > 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. Can you provide the preproccessed source where you think the extraneous push and pops happen? It might a different issue and preserve_none might not solve it.