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