Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!sdd.hp.com!think.com!hsdndev!husc6!genrad!jkw From: jkw@genrad.com (J. Kyle Wilson) Newsgroups: comp.arch Subject: Re: Compilers, architecture, and efficiency Message-ID: <41279@genrad.UUCP> Date: 30 Apr 91 20:11:20 GMT References: <1991Apr28.154603.8003@rice.edu> <1991Apr29.155945.29907@rice.edu> <1991Apr30.025904.13028@rice.edu> <11609@mentor.cc.purdue.edu> Sender: news@genrad.UUCP Reply-To: jkw@chaos.genrad.COM (J. Kyle Wilson) Organization: GenRad, Inc., Concord, Mass. Lines: 53 In article <11609@mentor.cc.purdue.edu> hrubin@pop.stat.purdue.edu (Herman Rubin) writes: >In article <1991Apr30.025904.13028@rice.edu>, preston@ariel.rice.edu (Preston Briggs) writes: >> hrubin@pop.stat.purdue.edu (Herman Rubin) writes: > >> >What is needed for the user to be able to communicate what operations are >> >wanted. >> >> I agree that the user should be able to instruction the computer. >> However, I don't think I want to specify the assembly operations. >> Instead, I want to manipulate numbers, sets, sequences, and objects in a >> somewhat high-level fashion. Then I want the compiler to make very good >> code out of my specification. > >But what if I find Boolean operations useful in dealing with floats, which >I do for certain purposes? There are other operations which I can use for >useful purposes, but only if they are fast. You do not know these operations, >and the language community has seen fit to ignore what those who are capable >of versatility can envision. The language community has been providing the greatest good for the greatest number where possible. If you have need of an optimization that no one has seen fit to add to a compiler you are using your best bet may be to hire a compiler writer to tweak it to handle that case. If you can find a large enough segment of the user community to support your modification you may even be able to get this new twist adopted as a standard. If your time spent optimizing the interior of critical loops in your code is worth enough, your employer should gladly fund the rewriting of whatever compiler you use to optimize in any way you wish. Satisfying your requests would require the compiler to recognize a large number of special cases each of which would likely be used by a small segment of the user community, while requiring signifigant work to support as the compiler incorporates new technology. This would have an overall greater cost to the community at large than allowing the user to code oddball cases in #ifdef'd asm statements for each machine. One could add #pragma statements to the compiler (or equivalents for those using other languages) containing clues regarding optimization of the code. Why should you specify a boolean operation on a float when this is really not the operation you wish to perform? Have your hired compiler writer add a pragma that indicates to the compiler that the following line of code may be implemented in some odd way, and stick with that. Kyle Wilson jkw@gnerad.com Kyle Wilson GenRad Inc. 300 Baker Ave Concord MA 01742