http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57393
--- Comment #27 from Easwaran Raman <eraman at google dot com> --- These two test cases pass for me (compiles with -O3) with the attached patch (http://gcc.gnu.org/bugzilla/attachment.cgi?id=30690). gcc --version returns: gcc (GCC) 4.9.0 20130821 (experimental) At what revision are you still getting the ICEs? The patch attached to this bug subsumes the one posted in http://gcc.gnu.org/ml/gcc-patches/2013-07/msg01584.html . (In reply to Joost VandeVondele from comment #24) > Also the other 'dup' PRs still fail (gcc -O3) . Collecting testcases here: > > > cat PR58018.c > > int a, b, c, d, e; > > void bar (int p) > { > int f = b; > e &= p <= (f ^= 0); > } > > void foo () > { > for (; d; d++) > { > bar (a && c); > bar (0); > bar (1); > } > } > > > > cat PR58131.c > > short a; > int b, c; > int d[1][4][2]; > > void foo () > { > int *e; > for (b = 1;; b--) > { > if (*e) > break; > for (c = 2; c >= 0; c--) > { > *e |= d[0][3][b] != a; > int *f = &d[0][3][b]; > *f = 0; > } > } > }