[Bug tree-optimization/65206] Vectorized version of loop is removed.
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Feb 26 12:15:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65206
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
Created attachment 34882
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34882&action=edit
hack just for the masked load/store case
Incomplete special-casing for the masked load/store case. We need to mark
the masked load/store IFN calls somehow to mark the forwarding as valid.
A "real" fix would "duplicate" dr->indices to always have an alternate
analysis for *&dr->ref in case dr->ref is not a pointer evolution. We
could then pick the one with compatible dr->indices.base_object. Of course
that may still not handle all cases, if the ptr evolution is not enough
(like for having a[2][j] vs. *(&a[3][j])). But at least it could help in
some general cases.
More information about the Gcc-bugs
mailing list