delorie.com/archives/browse.cgi   search  
Mail Archives: pgcc/1999/04/29/13:37:14

Message-Id: <4.1.19990429110059.04980c10@hamlet.ucs.indiana.edu>
X-Sender: dhart AT hamlet DOT ucs DOT indiana DOT edu
X-Mailer: QUALCOMM Windows Eudora Pro Version 4.1
Date: Thu, 29 Apr 1999 12:29:46 -0500
To: pgcc AT delorie DOT com
From: Dave Hart <dhart AT indiana DOT edu>
Subject: mpich compile problems
In-Reply-To: <Pine.LNX.4.10.9904281936460.16107-100000@billabong.demon.c
o.uk>
References: <19990428201537 DOT A27287 AT win DOT tue DOT nl>
Mime-Version: 1.0
Reply-To: pgcc AT delorie DOT com

I've been comparing NAS Parallel Benchmarks on identical systems running
LINUX and WinNT. 
So far, the WinNT tests have run faster, and I'm thinking that an
optimizing compiler might 
make a difference.

I'm testing pgcc-1.1.3 for linux 2.2.5 by compiling mpich 1.1.2, and it
doesn't seem to 
like _any_ optimizations: 

> cat config.csh
configure -cc=gcc -c++=g++ -fc=pgf77 -optcc="-O2 -mcpu=pentiumpro
-march=pentiumpro" -optf77=fast -nodevdebug -rsh=ssh
> gcc --version
pgcc-2.91.66
> g++ --version
pgcc-2.91.66
> grep fatal make.log
/scr/PGCC/egcs-1.1.2/gcc/toplev.c:1438: Internal compiler error in function
fatal_insn
/scr/PGCC/egcs-1.1.2/gcc/toplev.c:1438: Internal compiler error in function
fatal_insn

[pgf77 is Portland Group f77]

Here's an extract [not necessarily the same run] with more detail:
...
gcc -DFORTRANUNDERSCORE -DHAVE_MPICHCONF_H
-I../../build/LINUX/ch_p4/include -O2 -mcpu=pentiumpro -march=pentiumpro
-ffast-math  -I../../mpid/ch_p4 -I../../include -DMPI_LINUX   -c global_ops.c
global_ops.c: In function `MPIR_MAXF':
global_ops.c:129: internal error--insn does not satisfy its constraints:
(insn:HI 760 764 830 (set (reg:DI 0 %eax)
        (if_then_else:DI (ge:DI (reg:DI 2 %ecx)
                (reg:DI 0 %eax))
            (reg:DI 2 %ecx)
            (reg:DI 0 %eax))) 405 {movdicc+2} (insn_list 205 (insn_list 207
(nil)))
    (expr_list:REG_DEAD (mem:DI (plus:SI (reg:SI 6 %ebp)
                (const_int -12)))
        (nil)))
/scr/PGCC/egcs-1.1.2/gcc/toplev.c:1438: Internal compiler error in function
fatal_insn
make[2]: *** [global_ops.o] Error 1
Exit status from make was 0
...

---

I've tried a lot of variations without luck, but this *almost* worked:

>  cat config.csh
configure -cc=gcc -c++=g++ -fc=pgf77 -opt=-O -optcc="-mcpu=pentiumpro
-march=pentiumpro" -optf77=fast -nodevdebug -rsh=ssh

Unfortunately, it doesn't look like I'm getting a lot of pentium optimization, 
for my efforts, and it still doesn't quite work. Does pgcc-1.1.3 support
prototypes?

Any advice would be appreciated. 

-- 
David Hart                        http://php.indiana.edu/~dhart
Research Computing Support                         812-855-2632
University Information Technology Services   Indiana University

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019