This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

alpha bug w/ spec99




------- 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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]