http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60452
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Can be simplified into: int a; int main () { int e[2] = { 0, 0 }, f = 0; if (a == 131072) f = e[a]; return f; } which then starts to crash even starting from 4.3 or so (in between r125500 and r126000). The problem is that ifcvt.c doesn't consider e[131072], clearly out of bound access to an automatic array, as possibly trapping/faulting.