https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80293
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2017-04-03 CC| |alan.lawrence.arm at gmail dot com | |, jakub at gcc dot gnu.org, | |jamborm at gcc dot gnu.org, | |ktkachov at gcc dot gnu.org Target Milestone|--- |6.4 Summary|g++ 5.4 -> 6.1 regression: |[6/7 Regression] |unnecessary code at -O2 |unnecessary code at -O2 |(-O1 is fine) |(-O1 is fine) Ever confirmed|0 |1 --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Started with r227901, the complete scalarization is not really helpful here, and unfortunately gimple-ssa-store-merging.c only merges now adjacent constant stores, not adjacent loads followed by adjacent stores of the loaded values to undo the damage. Not sure what would be easier here, if some heuristics during SRA whether the scalarization is helpful or not, or improving gimple-ssa-store-merging.c.