https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83487
--- Comment #5 from Marek Polacek <mpolacek at gcc dot gnu.org> --- This actually reproduces with C and C++ ABI 12, too. The problem is this: 4096 /* Stack must be properly aligned now. */ 4097 gcc_assert (!pass 4098 || !(stack_pointer_delta % preferred_unit_stack_boundary)); where stack_pointer_delta is 8, but preferred_unit_stack_boundary is 16. Without __attribute__ ((aligned)) stack_pointer_delta is 16 and the crash does not occur. No ideas so far.