https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70127
--- Comment #15 from Martin Jambor <jamborm at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #14) > but if you keep the e = a[0]; assignment, I really don't understand the last > two statements. The kept statement already copied them, the extra stores > don't cover the whole structure, so the old one has to be kept anyway, and > the stores don't store anything that isn't already there. True. That however stems from the flow-insensitiveness of SRA. I've already started thinking of a flow-sensitive rewrite but it will take a while.