https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78348
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rguenth at gcc dot gnu.org Target Milestone|--- |7.0 --- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- Note that -O3 enables -floop-distribute-patterns which detects open-coded memcpy/memmove/memset. The idea is that canonicalizing leads to optimal inline expansion or library code. I'm not sure I would count this as two vs. three memory streams as usually improving things on the store side helps (this is how the current heuristic works). CPUs are usually more store-bandwith limited. But yes, some sort of target specific parameter might help here (number of store streams we can handle).