[comp.unix.ultrix] New RISC compilers????

sritacco@hpdmd48.boi.hp.com (Steve Ritacco) (03/13/91)

Hi,

I have read that the DECstation 5000 SPEC mark went up to 19.something with
"new" compilers.  Could someone tell me if the new compilers are DEC or
Mips?

Thanks.

jg@jg.crl.dec.com (Jim Gettys) (03/13/91)

In article <15530012@hpdmd48.boi.hp.com> sritacco@hpdmd48.boi.hp.com (Steve Ritacco) writes:
>Hi,
>
>I have read that the DECstation 5000 SPEC mark went up to 19.something with
>"new" compilers.  Could someone tell me if the new compilers are DEC or
>Mips?

If memory serves, the new number is 19.9, or there abouts.

The compilers are new Digital compilers, the first of a new generation
of compiler technology (called "Gem") that has been under development 
for some time, done by the folks who did the very high quality VAX/VMS
compilers.
				- Jim




--
Digital Equipment Corporation
Cambridge Research Laboratory

grr@cbmvax.commodore.com (George Robbins) (03/13/91)

In article <1991Mar13.031200.29836@crl.dec.com> jg@jg.crl.dec.com (Jim Gettys) writes:
> In article <15530012@hpdmd48.boi.hp.com> sritacco@hpdmd48.boi.hp.com (Steve Ritacco) writes:
> >
> >I have read that the DECstation 5000 SPEC mark went up to 19.something with
> >"new" compilers.  Could someone tell me if the new compilers are DEC or
> >Mips?
> 
> If memory serves, the new number is 19.9, or there abouts.
> 
> The compilers are new Digital compilers, the first of a new generation
> of compiler technology (called "Gem") that has been under development 
> for some time, done by the folks who did the very high quality VAX/VMS
> compilers.

So is this the "VAX C" reborn again in MIPS flavor?  Can y'all use it
to build Ultrix?  Did the updated MIPS C compiler ever make in into
an Ultrix release?

-- 
George Robbins - now working for,     uucp:   {uunet|pyramid|rutgers}!cbmvax!grr
but no way officially representing:   domain: grr@cbmvax.commodore.com
Commodore, Engineering Department     phone:  215-431-9349 (only by moonlite)

jg@jg.crl.dec.com (Jim Gettys) (03/13/91)

In article <19805@cbmvax.commodore.com> grr@cbmvax.commodore.com (George Robbins) writes:
>In article <1991Mar13.031200.29836@crl.dec.com> jg@jg.crl.dec.com (Jim Gettys) writes:
>> In article <15530012@hpdmd48.boi.hp.com> sritacco@hpdmd48.boi.hp.com (Steve Ritacco) writes:
>> >
>> >I have read that the DECstation 5000 SPEC mark went up to 19.something with
>> >"new" compilers.  Could someone tell me if the new compilers are DEC or
>> >Mips?
>> 
>> If memory serves, the new number is 19.9, or there abouts.
>> 
>> The compilers are new Digital compilers, the first of a new generation
>> of compiler technology (called "Gem") that has been under development 
>> for some time, done by the folks who did the very high quality VAX/VMS
>> compilers.
>
>So is this the "VAX C" reborn again in MIPS flavor?  Can y'all use it
>to build Ultrix?  Did the updated MIPS C compiler ever make in into
>an Ultrix release?

No, the new compilers are NOT the old VAX/VMS compilers; they are an
entirely new implementation, from scratch.  I think you'll find they don't
suffer from the problems the VAX C and Fortran compilers did when ported
to Ultrix; these are fully integrated native compilers. 

I can't answer your question about the C compiler; I haven't personally
played with it.  I did get a copy of the fortran compiler to a number of 
heavy fortran user friends of mine, who seem pretty happy with it.

As to the updated MIPS C (2.1) compiler, it actually is on the current
MIPS Fortran kit, and gets installed with it.  It did not become the default
compiler in Ultrix 4.0 and Ultrix 4.1 since it did not recieve sufficient
field testing.  The field test of Ultrix 4.2 I am running has 2.1 as
the default compiler.  (For those of you who might be getting confused,
this paragraph is about the existing MIPS compiler).
				- Jim
--
Digital Equipment Corporation
Cambridge Research Laboratory

grunwald@foobar.colorado.edu (Dirk Grunwald) (03/14/91)

does the new compiler compile directly to .o files, or does it go to
an assembler pass?

if so, will this new assembler be available?

if so, does it support debugging directives (something the MIPS assembler
does not do).

this has ramifications for Gnu C and G++.

thanks

Dirk Grunwald -- Univ. of Colorado at Boulder	(grunwald@foobar.colorado.edu)
						(grunwald@cs.colorado.edu)

grr@cbmvax.commodore.com (George Robbins) (03/14/91)

In article <1991Mar13.125214.7403@crl.dec.com> jg@jg.crl.dec.com (Jim Gettys) writes:
>
> >So is this the "VAX C" reborn again in MIPS flavor?  Can y'all use it
> >to build Ultrix?  Did the updated MIPS C compiler ever make in into
> >an Ultrix release?
> 
> No, the new compilers are NOT the old VAX/VMS compilers; they are an
> entirely new implementation, from scratch.  I think you'll find they don't
> suffer from the problems the VAX C and Fortran compilers did when ported
> to Ultrix; these are fully integrated native compilers. 

I didn't think they were the same compilers, rather I was wondering if they
were generic K&R/Ansi C compilers, or whether they were also supposed to
support all the "interesting" features of VAX C to serve as a tool for
porting VAX C applications to the MIPS architectures without having to make
the code portable/ansi standard...

-- 
George Robbins - now working for,     uucp:   {uunet|pyramid|rutgers}!cbmvax!grr
but no way officially representing:   domain: grr@cbmvax.commodore.com
Commodore, Engineering Department     phone:  215-431-9349 (only by moonlite)

jg@crl.dec.com (Jim Gettys) (03/14/91)

In article <19831@cbmvax.commodore.com>, grr@cbmvax.commodore.com (George Robbins) writes:
> In article <1991Mar13.125214.7403@crl.dec.com> jg@jg.crl.dec.com (Jim Gettys) writes:
> >
> > >So is this the "VAX C" reborn again in MIPS flavor?  Can y'all use it
> > >to build Ultrix?  Did the updated MIPS C compiler ever make in into
> > >an Ultrix release?
> > 
> > No, the new compilers are NOT the old VAX/VMS compilers; they are an
> > entirely new implementation, from scratch.  I think you'll find they don't
> > suffer from the problems the VAX C and Fortran compilers did when ported
> > to Ultrix; these are fully integrated native compilers. 
> 
> I didn't think they were the same compilers, rather I was wondering if they
> were generic K&R/Ansi C compilers, or whether they were also supposed to
> support all the "interesting" features of VAX C to serve as a tool for
> porting VAX C applications to the MIPS architectures without having to make
> the code portable/ansi standard...

Sorry, as I said, I haven't looked at the C compiler myself.  So I can't help
you with that question.

The new DEC fortran compiler, though, goes much further toward making life easier when 
porting VAX Fortran code to RISC/Ultrix than the MIPS Fortran compiler does.
				- Jim

rwood@pa.dec.com (Richard Wood) (03/14/91)

In article <19831@cbmvax.commodore.com>, grr@cbmvax.commodore.com
(George Robbins) writes:
> I didn't think they were the same compilers, rather I was wondering if they
> were generic K&R/Ansi C compilers, or whether they were also supposed to
> support all the "interesting" features of VAX C to serve as a tool for
> porting VAX C applications to the MIPS architectures without having to make
> the code portable/ansi standard...

d) All of the above

Using command-line switches, the behavior can be set to any one of:
 - ANSI C
 - K&R C
 - "VAX C"

I'm not sure which the default is, but I suspect it's ANSI.  

-- ---------------------------------------------------------------------
Richard Wood     Corporate Worksystems Team      Digital Equipment Corp.
========================================================================

jg@crl.dec.com (Jim Gettys) (03/16/91)

Hopefully this will clear things up about the new compilers.  Thanks to Kent
Glossop of the GEM group who sent this to me for redistribution.
			- Jim Gettys


----------------------------------------
DEC FORTRAN & DEC C

This is the situation with the 2 new compilers:

  Previous numbers:
    
    FORTRAN:	MIPS f77 front end
		MIPS back end
		called "FORTRAN for RISC V2.n"

    C:		MIPS C front end
		MIPS back end
		called "C for RISC" or something like that

  New numbers:

    FORTRAN:	DEC FORTRAN front end (heavily modified VAX FORTRAN source
		    to have both good compatibility with f77 compilers and
		    with VAX FORTRAN using "-vms")
		GEM (DEC developed) back end
		called "DEC FORTRAN V3.0"

    C:		New DEC-developed ANSI-C compliant "DEC C" front end, which
		    has K&R and PCC modes
		Currently uses the MIPS back end
		called "DEC C V1.0"

In general, "user-visible" properties (source language, etc.) are the
property of the "front end", which generates an intermediate language.
The optimization is performed by the back end.

What happened is:

    - The GEM back end does quite a bit better than the MIPSCO back end
      for a lot of FORTRAN code.  In the case of the SPEC benchmarks,
      this is something like 14% on a DS5000.  Reports on application
      speed ups are generally in the 0-25% range, though there have been
      a few more spectacular ones.)

    - The current DEC C compiler uses the MIPSCO back end, which means that
      there isn't a significant difference in code quality between that
      compiler and the previous C compiler (though they use different
      versions of the "MIPSCO back end".)

So, the summary is that the new FORTRAN compiler represents a significant
change in optimization and code generation technology, while the C compiler
is the same basic technology as the previous version.  (The fact that the
benchmarks happened to get a little slower with DEC C may be due to the
slightly different IL it presumably generates compared to the old C front
end.  It might also be due to the interaction of some new optimizations,
which sometimes happens with new releases of compilers.)

Kent Glossop
(a member of the GEM team...)

frank@croton.nyo.dec.com (Frank Wortner) (03/16/91)

In article <1991Mar13.194516.12093@colorado.edu>,
grunwald@foobar.colorado.edu (Dirk Grunwald) writes:
>
> does the new compiler compile directly to .o files, or does it go to
> an assembler pass?
> 

The C compiler uses the MIPSCO backend, so there is no change there. 
The main change
is the ANSI C frontend.

The Fortran compiler uses a new backend which generates ".o" files
directly.  There
is no assembly step.

						Frank

pavlov@canisius.UUCP (Greg Pavlov) (03/16/91)

In article <15530012@hpdmd48.boi.hp.com>, sritacco@hpdmd48.boi.hp.com (Steve Ritacco) writes:
> Hi,
> 
> I have read that the DECstation 5000 SPEC mark went up to 19.something with
> "new" compilers.  Could someone tell me if the new compilers are DEC or
> Mips?
> 
> Thanks.

  They're homebrews.  We purchased the VAX processor-based FORTRAN compiler
  when that came out, to get the extra "speed", courtesy of the VMS folks,
  I believe.

  While it may be unfair to say this (another processor, after all), the
  resulting experiences led me to adopt a "the extra SPECS ain't
  worth it" motto.  Lots of bugs, very slow fixes, and some rather arcane
  suggested workarounds (compile the errant routines in f77 and connect
  via the infamous "jacket" routines, for instance...).

  Overall, I would prefer that DEC simply kept up to date with MIPS.

  greg pavlov, fstrf, amherst, ny
  pavlov@stewart.fstrf.org

jg@crl.dec.com (Jim Gettys) (03/17/91)

In article <3276@canisius.UUCP>, pavlov@canisius.UUCP (Greg Pavlov) writes:
> In article <15530012@hpdmd48.boi.hp.com>, sritacco@hpdmd48.boi.hp.com (Steve Ritacco) writes:
> > Hi,
> > 
> > I have read that the DECstation 5000 SPEC mark went up to 19.something with
> > "new" compilers.  Could someone tell me if the new compilers are DEC or
> > Mips?
> > 
> > Thanks.
> 
>   They're homebrews.  We purchased the VAX processor-based FORTRAN compiler
>   when that came out, to get the extra "speed", courtesy of the VMS folks,
>   I believe.
> 
>   While it may be unfair to say this (another processor, after all), the
>   resulting experiences led me to adopt a "the extra SPECS ain't
>   worth it" motto.  Lots of bugs, very slow fixes, and some rather arcane
>   suggested workarounds (compile the errant routines in f77 and connect
>   via the infamous "jacket" routines, for instance...).

Yes, it is very unfair to say this, given you have no direct experience with the new
compilers.  The new RISC compilers are fully integrated into Ultrix, without the warts
which afflict VAX Fortran/Ultrix (caused by the differing calling conventions between
Unix and VMS, since that compiler was originally written for VMS).  No "jacket routines"
or any of that stuff...  How about asking questions, rather than throwing tomatos, until
you find out we actually deserve them?  As far as I can tell, the folks doing the DEC
fortran compiler have worked VERY hard to do a good job; I don't have any first hand
experience with the C compiler, so I'll let others comment on it.  I got the new Fortran
compiler to a number of my friends who are heavy fortran users; they certainly seem happy
with it, having been able to port large piles of code they'd previously
had problems with.

I hope you believe that we can learn from our mistakes....

> 
>   Overall, I would prefer that DEC simply kept up to date with MIPS.
> 
I've had relatively few complaints with the MIPS C compiler
personally from extensive use, though it isn't a full ansi compiler.
I don't think too many folks have been very happy with the MIPS fortran compiler, however,
from what I've seen.
				- Jim Gettys

hudgens@sun13.scri.fsu.edu (Jim Hudgens) (03/17/91)

In article <1991Mar16.235222.10491@crl.dec.com> you write:
>
>The new RISC compilers are fully integrated into Ultrix, without the
>warts which afflict VAX Fortran/Ultrix (caused by the differing
>calling conventions between Unix and VMS, since that compiler was
>originally written for VMS).  No "jacket routines" or any of that
>stuff... 
>

A couple of users here are using the new fortran compiler, and seem
happy with it (so far).  Having played with the old VAX FORT, and
porting a program which links in lots of C modules, I was initially
unhappy to hear that there was a risc fort coming.  The fact that
it uses the ultrix linker was good news to me. 





-- 

Jim Hudgens		Supercomputer Computations Research Institute
hudgens@sun13.scri.fsu.edu

frank@croton.nyo.dec.com (Frank Wortner) (03/18/91)

In article <3276@canisius.UUCP>, pavlov@canisius.UUCP (Greg Pavlov) writes:
>   They're homebrews.  We purchased the VAX processor-based FORTRAN compiler
>   when that came out, to get the extra "speed", courtesy of the VMS folks,
>   I believe.
> 

The compilers are written a separate software group that develops tools for
all Digital platforms.  While they do create products for the VAX/VMS operating
system, they don't write the OS, and they aren't the "VMS folks."

>   While it may be unfair to say this (another processor, after all), the
>   resulting experiences led me to adopt a "the extra SPECS ain't
>   worth it" motto.  Lots of bugs, very slow fixes, and some rather arcane
>   suggested workarounds (compile the errant routines in f77 and connect
>   via the infamous "jacket" routines, for instance...).
>

The new DEC Fortran compiler is a *brand new* product.  It is not just VAX/VMS
Fortran ported to RISC.  Please don't pre-judge this compiler without actually
using it.  It has gone through a lengthy field test with the idea of
shaking out
as many bugs as possible.

BTW,  this compiler *does not* use Jacket Building Language.  It has the same
calling conventions as the current f77 compiler.

While I'm hardly an unbiased observer  ;-), I've used both this compiler and
a couple of others during the past few months.  Personally, I don't think we
have to take a back seat to anyone.

					Frank