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

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed.

At .optimization GCC produces:
```
  vect__5.13_42 = MEM <vector(4) int> [(int *)src_3(D) + ivtmp.34_19 * 1];
  _4 = src_3(D) + 16;
  vect__5.14_44 = MEM <vector(4) int> [(int *)_4 + ivtmp.34_19 * 1];
```

Which I think is a TARGET_MEM_REF.
Then move invariant on the RTL comes a long and moves `src_3(D) + 16` out of
the loop. And then LDP/STP looks like it does not look outside of the loop.

Reply via email to