[Bug tree-optimization/37686] [4.4 Regression] Building of CPU2000's bzip2 with peak flags with -mcpu=power4 fails with an ICE.
pinskia at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Wed Oct 1 21:57:00 GMT 2008
------- Comment #12 from pinskia at gcc dot gnu dot org 2008-10-01 21:55 -------
This is far as reduced testcase I could get, if I remove anything that is
unrelated the ICE goes away:
unsigned char inUse[256];
unsigned char len[6][258];
int code[6][258];
unsigned int crc32Table[256] = { };
unsigned int getGlobalCRC (void) { }
int bsLive;
void bsW (int n, unsigned int v) {
while (bsLive >= 8) {}
}
void hbAssignCodes (int * code, unsigned char * length, int minLen,
int maxLen, int alphaSize) {
int n, vec, i;
for (n = minLen;n <= maxLen;n++)
for (i = 0; i < alphaSize;i++)
code[i] = vec;
}
void sendMTFValues (void) {
int v, t, i, j, gs, ge, totc, bt, bc, iter;
int nSelectors, alphaSize, minLen, maxLen, selCtr;
int nGroups, nBytes;
{
while (1)
{
break;
}
hbAssignCodes (&code[t][0], &len[t][0], minLen, maxLen, alphaSize);
unsigned char inUse16[16];
for (i = 0;i < 16;i++)
if (inUse16[i])
{
for (j = 0;j < 16;j++)
if (inUse[i * 16 + j]) { }
}
}
for (i = 0; i < nSelectors;i++) { }
for (t = 0; t < nGroups;t++)
{
int curr = len[t][0];
for (i = 0; i < alphaSize;i++)
while (curr < len[t][i]) { }
}
while (1)
for (i = gs; i <= ge;i++) { }
}
--- CUT ---
I had to use -m64 to get the ICE.
I was able to get the ICE with:
-mcpu=power4 -m64 -mtune=cell -O3 -ftree-loop-linear --param ggc-min-expand=0
--param ggc-min-heapsize=0 -funroll-loops -fpreprocessed
Note -fpreprocessed is really needed, I don't know why though.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2008-10-01 21:55:56
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37686
More information about the Gcc-bugs
mailing list