https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114729
--- Comment #8 from Jeffrey A. Law <law at gcc dot gnu.org> --- I didn't even notice you had that testcase attached! I haven't done a deep dive, but the first thing that jumps out is the number of instructions in the ready queue, most likely because of the addressing of objects in static storage. The highparts alone are going to take ~18 GPRs for the loop.