https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78687
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- >From looking at the testcase, I think it is solely SRA that can help here, if it manages to scalarize everything, we are good, if not, you get terrible code. The classes are huge and largely uninitialized, as can be seen on the llvm's optimized code (first 40 bytes uninitialized, then 12 bytes initialized).