https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105517
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target| |i?86-*-* --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- I can reproduce on x86_64 with -m32. T (p->a1x[-1].a1); and the both failing T (p->a1x[DIFF_MAX].a1); T (p->a1x[SIZE_MAX].a1); resolve to the same value now. At FRE1 we still have &p_74(D)->a1x[-1].a1; and &p_74(D)->a1x[2147483647].a1; &p_74(D)->a1x[4294967295].a1; the address calculations overflow in ways that make the addresses appear the same.