https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85669
--- Comment #42 from Douglas Mencken <dougmencken at gmail dot com> --- (In reply to Wilco from comment #41) > So what is the disassembly now? $ /Developer/GCC/8.2p/PowerPC/32bit/bin/gcc -O2 -fno-inline pr78468.c -save-temps $ mv pr78468.s ~/ $ diff -u ~/8.2patched-pr78468.s ~/pr78468.s Shows nothing, so they are identical > The 2nd diff still shows the original unaligned STACK_DYNAMIC_OFFSET. Second is vanilla 8.2, unpatched, which is marked with “-” in diff I posted Possible problem is that in - if (size_align > known_align) - size_align = known_align; + if (extra && size_align > BITS_PER_UNIT) + size_align = BITS_PER_UNIT; you forgot if (extra /* assumed >0 */