http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47372
--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> 2011-01-20 13:41:02 UTC --- A different crash: [hjl@gnu-6 ilp32-11]$ cat x.i typedef unsigned short ush; typedef ush Pos; extern ush prev[]; void fill_window( unsigned more, unsigned m) { unsigned n; for (n = 0; n < (unsigned)(1<<15); n++) { (prev+0x8000)[n] = (Pos)(m >= 0x8000 ? m-0x8000 : 0); } for (n = 0; n < 0x8000; n++) { prev[n] = (Pos)(m >= 0x8000 ? m-0x8000 : 0); } } [hjl@gnu-6 ilp32-11]$ make /export/build/gnu/gcc-x32/build-x86_64-linux/gcc/xgcc -B/export/build/gnu/gcc-x32/build-x86_64-linux/gcc/ -S -o x.s -mx32 -O2 -g -fPIC -dp x.i x.i: In function \u2018fill_window\u2019: x.i:13:1: internal compiler error: in loc_cmp, at var-tracking.c:2752 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. make: *** [x.s] Error 1 [hjl@gnu-6 ilp32-11]$