https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113759
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Reduced slightly further: ``` extern short t[]; int f(int c, int b) { if (b < 0) __builtin_unreachable(); if (c <= 0) __builtin_unreachable(); int d; for (; c >= 0; c--) { int a = b + c; d = t[a]; t[a] = 0; } return d; } ``` Note this requires IV-OPTS to get the IR that fails. It might be best if that IR is converted into a gimple testcase too.