Subject: Re: 1.5_Beta on 3100/M76 and MVII (hare and tortoise syndrome)
To: NetBSD/vax Mailing List <port-vax@netbsd.org>
From: Brian Chase <bdc@world.std.com>
List: port-vax
Date: 11/07/2000 08:19:45
On Tue, 7 Nov 2000, David Brownlee wrote:
> On Mon, 6 Nov 2000, Lord Isildur wrote:

> > this has to do with gcc being a mediocre compiler on the VAX. pcc2 is a
> > very nice compiler, and the only thing that is keeping people here from
> > using it is that most of the code these days is ANSI and not K&R and
> > pcc[2] are k&r compilers. Anybody think it might be worthwhile to modify
> > pcc2 to be ansi compatible and then ditch gcc on the VAX?
> > (of course, the best C compiler for the VAX is the DEC vcc, the unix port
> > of the VMS VAX C compiler.. :-)
> 
> 	Is there any hope in trying to adjust gcc to produce closer code
> 	to pcc2?

I do sort of like the idea of adding ANSI C support to pcc2.  And
actually, I think the idea of NetBSD supporting compilation by multiple
compilers _could_ be considered another aspect of making the OS more
portable.  I don't know whether it's practical or not.  I know the Linux
camp is really really really tied to gcc as their compiler, and they
accept that.

Of course pcc2 would also have to be modified to accept some of the
GNUisms which would be found in much of the userland source... from
libraries to programs.

The other approach would of course be to modify gcc's behavior on the VAX
platform.  I know one of the big complaints is that it's slow and a memory
hog.  I doubt we'll be able to change that anytime soon for the VAX.  
What I am curious about is any known weaknesses it has when producing
optimized object code for the VAX.  To me, it seems like we'd be do a hell
of lot better than the x86 crowd.  

The VAX has a pretty decent instruction set which could be optimized for
either compactness or speed, and we're doing pretty damn well
register-wise.  I mean, we don't have as many as the newer RISC
architectures offer, but we've got a fair amount more than x86, and we
certainly don't have the same stupid constraints on using those registers.

The starting place would be to identify inefficiencies in gcc on the VAX.
Is there any formal or informal method that compiler designers use to
evaluate the efficiency of their code?  I know in VLSI design there are
engineering practices to optimize the logic.  Certainly in software
design, there must exist something similar when it comes to compilers.

-brian.
--- Brian Chase | bdc@world.std.com | http://world.std.com/~bdc/ -----
             Take us to your blazing hot night.  -- eX-Girl.