https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93321
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I don't think this is a bug. You requested inlining a lot. And that increases the number of basic blocks by a lot because of recursive inlining. I can decrease the stack recusriveness slightly by peeling off the last iteration of the loop at the end of the function but I don't know how much it could help here ...