Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!munnari.oz.au!goanna!ok From: ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) Newsgroups: comp.lang.misc Subject: Re: Aggressive optimization Message-ID: <4179@goanna.cs.rmit.oz.au> Date: 1 Nov 90 08:50:20 GMT References: <2301@wn1.sci.kun.nl> <8960020@hpfcso.HP.COM> Organization: Comp Sci, RMIT, Melbourne, Australia Lines: 23 In article <8960020@hpfcso.HP.COM>, mjs@hpfcso.HP.COM (Marc Sabatella) writes: > None of these transformations violate the cardinal rule of assemblers, > namely that of providing a one-to-one translation. At which ecumenical council was this cardinal rule adopted? It's worth pointing out that the optimisations done by the MIPS assembler _can_ be disabled. Surely the cardinal rule for an assembler is not "one-to-one translation" but "full access to all machine operations". If you want a particular sequence of bits in an executable code area, you should be able to get them. The MIPS assembler lets you do that. Why is it evil to offer optimisation as well? (Now the assembler _I_ would gripe about is the one where I had to write a lot indirect branches as ".value MagicNumber" because the assembler didn't understand "jp *%ax", although the disassembler, debugger, hardware, and manufacturer's manual _did_ support it.) -- The problem about real life is that moving one's knight to QB3 may always be replied to with a lob across the net. --Alasdair Macintyre.