This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/32349] New: ICE in df_refs_verify with -O2 -fmodulo-sched for spec tests
- From: "janis at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 Jun 2007 21:09:04 -0000
- Subject: [Bug middle-end/32349] New: ICE in df_refs_verify with -O2 -fmodulo-sched for spec tests
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Multiple tests in SPEC CPU2000 ICE when compiled with -O2 -fmodulo-sched on
powerpc64-linux with either -m32 or -m64; there are more failures with -m64.
Here's a cut-down testcase, which I'm sure someone will be able to minimize
even more:
extern long *x1, *x2, *x3;
int
foo ()
{
/* Switching the following two lines prevents the ICE. */
long *p1, *p2;
long m, n, i;
p1 = x1;
p2 = x2;
n = 0;
for (i = *x3; 0 < i; i--)
{
m = (*p1++) ^ (*p2++);
m = (m & 0x55555555) + ((m >> 1) & 0x55555555);
m = (m & 0x33333333) + ((m >> 2) & 0x33333333);
m = (m + (m >> 4)) & 0x0f0f0f0f;
m = (m + (m >> 8));
n += m;
}
return n;
}
Output when compiled with trunk revision 125693 (default is -m32):
elm3b145% /opt/gcc-nightly/trunk-20070614/bin/gcc -O2 -fmodulo-sched -c
bug0614-1.c
bug0614-1.c: In function ?foo?:
bug0614-1.c:23: internal compiler error: in df_refs_verify, at df-scan.c:4066
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
--
Summary: ICE in df_refs_verify with -O2 -fmodulo-sched for spec
tests
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: janis at gcc dot gnu dot org
GCC target triplet: powerpc-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32349