New RISC compilers????

Jim Gettys jg at crl.dec.com
Sat Mar 16 02:25:59 AEST 1991


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



More information about the Comp.unix.ultrix mailing list