https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102043
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2021-08-25 Ever confirmed|0 |1 Known to fail| |11.2.1, 12.0, 7.5.0 Known to work| |4.3.5 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Testcase, FAILs at -O1, FRE concludes the idx(2:1:-1) load is always '2'. At -O2 we unroll the loop mitigating the issue. program main integer, dimension (2) :: idx, a, b a = (/ 0, 0 /) idx = (/ 1, 2 /) a(idx(2:1:-1)) = idx if (a(1).ne.2) STOP 1 end program main