https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117709
--- Comment #6 from Andrew Stubbs <ams at gcc dot gnu.org> --- Yes, that fixes the issue, thanks. The only diff in the assembly now, compared to before the "else" patch, is the zero-initialization is gone. This is good; the mysterious extra code seemed like a step backwards. :)