------- Comment #2 from philpem at philpem dot me dot uk 2010-04-19 20:33 ------- Admittedly removing -O2 does fix the ICE in this file, however a different source file (mm/filemap.c) causes a gcc ICE when it isn't built with -O2:
mm/filemap.c: In function do_generic_file_read: mm/filemap.c:1171:1: error: unrecognizable insn: (insn 402 401 403 20 mm/filemap.c:1029 (set (reg:SI 389) (subreg:SI (mem/c/i:DI (plus:SI (reg/f:SI 33 virtual-stack-vars) (const_int -52 [0xffffffffffffffcc])) [0 isize+0 S8 A64]) 4)) -1 (nil)) mm/filemap.c:1171:1: internal compiler error: in extract_insn, at recog.c:2103 So removing -O2 is *not* a viable workaround. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43805