Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!iuvax!purdue!mentor.cc.purdue.edu!l.cc.purdue.edu!cik From: cik@l.cc.purdue.edu (Herman Rubin) Newsgroups: comp.arch Subject: Re: Complex Instructions Summary: The intelligent user can frequently find a way to use those instructions Message-ID: <1277@l.cc.purdue.edu> Date: 3 May 89 11:58:56 GMT References: <57252@yale-celray.yale.UUCP> <4101@tolerant.UUCP> <134@dg.dg.com> <504@daitc.daitc.mil> Organization: Purdue University Statistics Department Lines: 46 In article <504@daitc.daitc.mil>, jkrueger@daitc.daitc.mil (Jonathan Krueger) writes: > In article <426@bnr-fos.UUCP>, schow@bnr-public (Stanley Chow) writes: > >it is not necessary for all programmers to know enough to use > >the specail instructions. Some guru can set it up and everyone can > >then use the pre-built modules. Depending on how you set everything > >up, the compiler does not have to be smart at all. I agree it is not necessary for ALL programmers to know how to really use the computer, any more than it is necessary for the house painter to be an artist. But the artist cannot set up the modules for a house painter to produce a work of art. It is also not true that even the use of modules will handle what is needed. I may see tomorrow an ingenious use of the hardware that I do not see today. It is quite common when I see a different architecture that I see that some instruction, intended for a totally different purpose, does what I want. Also, I can see that some easily implemented hardware will do not only what I want, but what others can use. > Of course, but you lose the performance advantage if the modules get > called frequently and require significant setup (e.g. can't maintain > state for multiple callers or sequences) with respect to work > performed. Or to put it another way, That Way Lies Threaded Code. > However, this isn't an argument for Better Living Through Inlining, > rather an appeal for analysis and measurement of the tradeoffs. ' What I ask for here is flexibility. The guru is not a universal guru. < >For example, we have a system with really wild instructions that gets < >generated even though the user don't know what they are and the < >compiler does only peephole optimization. As is turns out, having < >atomic operations for free is really nice. < < Sounds like you've managed to let your users express what they want in < terms familiar to them but also understandable to the language < translator, following which optimization to particular hardware can be < done in a reasonable way. By any chance, would this be done by way of < a function library? < And what if your users find that the language is inadequate? I know of no adequate one. Do not cripple the programmer. -- Herman Rubin, Dept. of Statistics, Purdue Univ., West Lafayette IN47907 Phone: (317)494-6054 hrubin@l.cc.purdue.edu (Internet, bitnet, UUCP)