https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85057
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |missed-optimization
Status|WAITING |NEW
Blocks| |53947
Known to fail| |7.3.1, 8.0
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
The issue lies in dependence analysis which faces
_21 = (sizetype) i_24;
_22 = _21 * 8;
_2 = &a + _22;
_13 = MEM[(const Type_t &)&a][i_24].v[0];
_14 = _13 * 5.0e-1;
MEM[(double &)_2] = _14;
marks the two refs for a runtime alias test and then when doing that
figures they always alias (but doesn't handle the distance == 0 case
specially).
This is a dup of another existing bug that dependence analysis doesn't
cope very well with a mix of pointer vs. array accesses.
Referenced Bugs:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53947
[Bug 53947] [meta-bug] vectorizer missed-optimizations