This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/80689] 128 loads generated for structure copying with gcc 7.1.0 and leads to STLF stalls in avx2 targets.
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 10 May 2017 07:35:32 +0000
- Subject: [Bug target/80689] 128 loads generated for structure copying with gcc 7.1.0 and leads to STLF stalls in avx2 targets.
- Auto-submitted: auto-generated
- References: <bug-80689-4@http.gcc.gnu.org/bugzilla/>
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).