https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105363

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization
          Component|c                           |tree-optimization
   Last reconfirmed|                            |2022-04-25
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
                 CC|                            |rguenth at gcc dot gnu.org,
                   |                            |rsandifo at gcc dot gnu.org

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
t.c:12:14: note: Cost model analysis:
_8 1 times scalar_store costs 12 in body
_4 1 times scalar_store costs 12 in body
*_7 1 times scalar_load costs 12 in body
*_3 1 times scalar_load costs 12 in body
*_3 1 times vec_perm costs 4 in body
*_7 1 times unaligned_load (misalign -1) costs 12 in body
_8 1 times unaligned_store (misalign -1) costs 12 in body
*_7 1 times vec_to_scalar costs 4 in epilogue
*_3 1 times vec_to_scalar costs 4 in epilogue
t.c:12:14: note: Cost model analysis for part in loop 2:
  Vector cost: 36
  Scalar cost: 48
t.c:12:14: note: Basic block will be vectorized using SLP

which generally looks OK-ish.  It's true that GCC could take into account
the containing loop which could make it detect the store forwarding problem
but currently we are not analyzing data references with respect to any loop
for non-loop vectorization.

Reply via email to