[Bug target/80689] 128 loads generated for structure copying with gcc 7.1.0 and leads to STLF stalls in avx2 targets.
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed May 10 07:36:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80689
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |uros at gcc dot gnu.org
--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
That's interesting. Most heavy lifting of block copying happens in the
middle-end, so doing member-wise copying would need to be implemented there
(generally GIMPLE is too lax to always allow this, it just requires same
object sizes on LHS and RHS for aggregate copies, but where types match
this could be a heuristic that will likely avoid STLF issues). It would need
quite some benchmarking on when this is reasonable (factoring in store queue
size -- for large aggregates it's unlikely a win).
More information about the Gcc-bugs
mailing list