http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59927
Richard Henderson <rth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rth at gcc dot gnu.org --- Comment #5 from Richard Henderson <rth at gcc dot gnu.org> --- There's definitely a calls.c bug. We allocate 24 bytes of stack at line 2973, to make up the 32-byte preferred alignment from the 8 bytes that we "pushed". Except that we shouldn't pushing any bytes at all. Then we allocate 32 bytes of stack at line 3111 to allocate all the space for the arguments passed in registers. Then we ICE because (24+32) % 32 != 0.