I'm hitting the following on 6 SPEC CPU2006 benchmarks, some with pre_inc others with pre_modify.
run/build_base_gcc411-base.0001> cat junk.c extern double cos (double x); extern double sin (double x); double pre_inc_ice (int n) { int i; double sc, ss, arg; sc = ss = 0.0; for (i = 0; i < n; i++) { arg = 1.0 / n; sc += cos (arg); ss += sin (arg); } return sc + ss; } run/build_base_gcc411-base.0001> /opt/biarch/gcc433-xlc-perf-2/bin/gcc -S -m32 -O2 junk.c junk.c: In function 'pre_inc_ice': junk.c:18: error: unrecognizable insn: (insn 84 80 85 4 junk.c:11 (set (reg/f:SI 155) (pre_inc:SI (reg/f:SI 139))) -1 (expr_list:REG_INC (reg/f:SI 139) (nil))) junk.c:18: internal compiler error: in extract_insn, at recog.c:1990 Please submit a full bug report, with preprocessed source if appropriate. -- Summary: Invalid insn with pre_inc Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pthaugen at gcc dot gnu dot org GCC build triplet: powerpc64-linux GCC host triplet: powerpc64-linux GCC target triplet: powerpc64-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33151