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