8555 – [3.2 regression] ICE in gen_split_1231 (original) (raw)
Description kris.demuynck 2002-11-12 12:36:03 UTC
zz.c: In function `find_max': zz.c:19: Internal compiler error in gen_split_1231, at insn-emit.c:16727
Release: gcc version 3.2
Environment: Linux, RedHat 7.1, 2.4.9-31smp kernel Dell WS410, dual P3 450Mhz, 512MB SDRAM
How-To-Repeat: gcc -march=pentium3 -O2 -fomit-frame-pointer -ffast-math -funroll-loops -c zz.c
Comment 1 kris.demuynck 2002-11-12 12:36:03 UTC
Fix:
- Turning off any of the following optimization flags: -march=pentium3 -O2 -fomit-frame-pointer -ffast-math -funroll-loops
- Some simple recoding; See the problem file 'zz.c' for an example
Comment 2 Volker Reichelt 2002-11-12 14:57:50 UTC
State-Changed-From-To: open->analyzed State-Changed-Why: Confirmed. gcc 3.1 and mainline are not affected, but gcc 3.2 and the 3.2.1 prerelease produce an ICE.
Here's a shorter example that triggers the bug (just compile with
gcc -march=pentium3 -O -ffast-math -funroll-loops -c)
-------------------------snip here-----------------------
float foo (float *a)
{
int i, j;
float x=a[j=i-1], y;
for ( j=i; --j>=0; )
if( (y=a[j]) > x )
x = y;
return x;
}
-------------------------snip here-----------------------
Since the bug is a regression on the branch, I rate the PR "high priority".Comment 6 Eric Botcazou 2003-03-28 22:44:33 UTC
Responsible-Changed-From-To: unassigned->jakub Responsible-Changed-Why: Any reason why you didn't put the fix on the 3.2 branch?
Comment 7 Joe Buck 2003-04-25 21:21:47 UTC
State-Changed-From-To: analyzed->closed State-Changed-Why: Fixed for 3.3.