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

--- Comment #13 from Alexander Monakov <amonakov at gcc dot gnu.org> ---
(In reply to rguent...@suse.de from comment #12)
> As explained in comment#3 the issue is related to the tree alias oracle
> part that gets invoked on the MEM_EXPR for the load where there is
> no information that the load could be partial so it gets disambiguated
> against a decl that's off less size than the full vector.

With my example I'm trying to say that types in the IR are wrong if we
disambiguate like that. People writing C need to attach may_alias to vector
types for plain load/stores to validly overlap with scalar accesses, and when
vectorizer introduces vector accesses it needs to do something like that, or
else intermixed scalar accesses may be incorrectly disambiguated against new
vector ones.

Reply via email to