alpha bug w/ spec99
Jeffrey A Law
law@cygnus.com
Mon Oct 19 17:30:00 GMT 1998
------- Forwarded Message
Sender: law@cygnus.com
From: ezolt@perf.zko.dec.com
To: law@cygnus.com
Date: Mon, 19 Oct 1998 13:19:52 -0700
Subject: ICE w/using Optimizations
Path: cygnus.com!newsgate-cygnus!perf.zko.dec.com!ezolt
From: ezolt@perf.zko.dec.com (Phillip Ezolt)
Newsgroups: cygnus.bug-gcc
Subject: ICE w/using Optimizations
Date: 19 Oct 1998 10:47:49 -0700
Organization: Cygnus Solutions news/mail gateway
Lines: 76
Message-ID: <Pine.OSF.3.96.981019133053.8171A-100000.cygnus.bug-gcc@perf.zko.de
c.com>
NNTP-Posting-Host: runyon.cygnus.com
Mime-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: bug-gcc@gnu.org
Xref: cygnus.com cygnus.bug-gcc:9623
Hi,
I was working on porting the upcoming SPEC CPU99 benchmark suite to
Alpha/Linux and I stumbled on the following compiler bug. (It is
really important that this is fixed, or we will never be able to compile
perl with optimizations. If that this the case, we will never be able
to release reasonable gcc alpha/linux numbers to the world. )
First, it is only appearant when compiling with optimizations.
(Since we are going for high-power numbers we NEED to use optimizations)
- -O..-O4 breaks compilation.
This file is part of "perl" (pp.c), so I am kind of surprised that nobody
else has jumped up screaming.
The Computer is an alpha ev5 running Redhat linux 5.1.
It has falied on the following alpha/linux compilers:
gcc version 2.7.2.3
gcc version 2.8.1
gcc version egcs-2.90.27 980315 (egcs-1.0.2 release)
gcc version egcs-2.91.57 19980901 (egcs-1.1 release)
It does NOT fail on the following i386/linux compilers:
gcc version 2.7.2.3
gcc version egcs-2.90.27 980315 (egcs-1.0.2 release)
[root@cpu98 gcc-2.8.1]# /usr/local/gcc281/bin/gcc -v --save-temps -O -o blah -c
temp.c
Reading specs from /usr/local/gcc281/lib/gcc-lib/alphaev5-unknown-linux-gnu/2.8
.1/specs
gcc version 2.8.1
/usr/local/gcc281/lib/gcc-lib/alphaev5-unknown-linux-gnu/2.8.1/cpp -lang-c -v
- -undef -D__GNUC__=2 -D__GNUC_MINOR__=8 -D__alpha -D__alpha__ -D__linux__ -D__li
nux -D_LONGLONG -Dlinux -Dunix -D__ELF__ -D__alpha -D__alpha__ -D__linux__ -D__
linux -D_LONGLONG
- -D__linux__ -D__unix__ -D__ELF__ -D__linux -D__unix -Asystem(linux) -Acpu(alpha
) -Amachine(alpha) -D__OPTIMIZE__ -D__LANGUAGE_C__ -D__LANGUAGE_C -DLANGUAGE_C
temp.c temp.i
GNU CPP version 2.8.1 (Alpha GNU/Linux with ELF)
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/usr/local/gcc281/alphaev5-unknown-linux-gnu/include
/usr/local/gcc281/lib/gcc-lib/alphaev5-unknown-linux-gnu/2.8.1/include
/usr/include
End of search list.
/usr/local/gcc281/lib/gcc-lib/alphaev5-unknown-linux-gnu/2.8.1/cc1 temp.i -qui
et -dumpbase temp.c -O -version -o temp.s
GNU C version 2.8.1 (alphaev5-unknown-linux-gnu) compiled by GNU C version egcs
- -2.91.57 19980901 (egcs-1.1 release).
temp.c: In function `seed':
temp.c:7: internal error--unrecognizable insn:
(insn 48 20 21 (set (reg:DI 3 $3)
(mult:DI (reg:DI 30 $30)
(const_int 4))) -1 (nil)
(nil))
gcc: Internal compiler error: program cc1 got fatal signal 6
And the corresponding temp.i file:
# 1 "temp.c"
static unsigned long seed(void)
{
unsigned long u;
u = getpid();
u = 26107 * (unsigned long)&u;
return u;
}
If you need any more info (Or need me to test something out..) feel free to con
tact me.
Thanks,
- --Phil
Digital/Compaq High Performance Servers/Benchmark Engineering
Phillip.Ezolt@compaq.com
------- End of Forwarded Message
More information about the Gcc-bugs
mailing list