Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!uunet!munnari.oz.au!cs.mu.oz.au!ok From: ok@cs.mu.oz.au (Richard O'Keefe) Newsgroups: comp.arch Subject: Re: VLIW Architecture Summary: who is to be master, that's all. Keywords: VLIW Message-ID: <2307@munnari.oz.au> Date: 5 Oct 89 06:24:48 GMT References: <251FCB3F.12366@maccs.dcss.mcmaster.ca> <1050@m3.mfci.UUCP> <1630@l.cc.purdue.edu> Sender: news@cs.mu.oz.au Lines: 29 In article <1630@l.cc.purdue.edu>, cik@l.cc.purdue.edu (Herman Rubin) writes: > If the language the compiler compiles does not have the operations to be used > in my program, I cannot use them. I have seen NO language designed for > the efficient use of hardware operations. The choice of the algorithm > depends on the hardware, and there can be lots of different algorithms. How about PL-360 and Bliss-10, both of which let you generate any instruction you like? Come to that, how about the C compiler that comes with UNIX in System V.3 for the 386, which lets you write assembly-code routines that are expanded in-line? Or how about the SunOS C/Fortran/Pascal/Modula2 compilers, which have a pass that replaces apparent procedure calls with arbitrary assembly code of your choice (specified in .il files) before final code optimisation? Herman Rubin clearly enunciates a policy which I believe is responsible for much of the unreliability of present-day software: the machine is what it is, the programmer's job is to exploit the machine, the language's job is to expose the machine to the programmer. The view that I take is the programmer's job is to express his intentions clearly, the machine's job is to obey the programmer, the language's job is to provide a *simple* conceptual model. Rubin is willing to be the servant of his machines. I'm not. I've exchanged E-mail with a floating-point expert who had some illuminating things to say about the work being done for Ada; it turns out that they can do amazing things without needing to know the details of the hardware instructions, but what does hurt them is the extent to which Ada already lets hardware vagaries show through.