https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99395
--- Comment #11 from JuzheZhong <juzhe.zhong at rivai dot ai> --- It seems that we should fix this case (Richard gave) first which I think it's not the SCEV or value-numbering issue: double a[1024]; void foo () { for (int i = 0; i < 1022; i += 2) { double tem = a[i+1]; a[i] = tem * a[i]; a[i+1] = a[i+2] * tem; } } auto.c:13:21: missed: couldn't vectorize loop auto.c:15:14: missed: not vectorized: no vectype for stmt: tem_10 = a[_1]; scalar_type: double