https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92550
--- Comment #3 from Martin Jambor <jamborm at gcc dot gnu.org> --- Almost certainly started with new IPA-SRA (r275982 or as we now call it gcc-10-3311-gff6686d2e5f). I looked at dumps from a cross-compiler and the funny bit is, however, that new IPA-SRA simply does nothing. That is not as it should be. Because foo is not versionable, the pass does not even look at it and then cannot do anything because it has not seen a call to get_a. But of course it should still analyze outgoing calls to allow IPA-SRA of callees. But that is merely a missed optimization, not this miscompilation. I looks almost as if it was simply the expand of misaligned structure copy that is broken on (this?) strict-aliasing target. I also believe the test case does not successfuly run when compiled with earlier revisions and option -fno-ipa-sra.