Tom Marchant writes: <begin extract> There are times when there is good reason to provide the alternate path. There are other times when little is gained by the use of the newer instruction and it is prudent to avoid it. </end extract>
and this is certainly true globally; but the devil, along with the good God, is to be found in the details. My practice is very different from his. Macro-driven machinery for coping with the unavailability of machine instructions can be generic. Once put in place it is reusable. The judgment that the needs of retrograde, trailing-edge shops should be addressed is, in itself, unexceptionable. The judgment that this should be done by depriving leading-edge shops of new facilities is not. It is open to question. I in fact disagree with it, not least because in my experience the code that results is often poor and becomes poorer with time. Old code does eventually die, but it is used moribund for many years before it does finally expire, and the tactic of creating it middle-aged seems to me to be a dubious one. It has also been my experience that the usefulness of new instructions is best judged not a priori but by using them. It was not, for example, obvious to me that the CKSUM instruction could be used to greatly simplify and speed up a routine that implemented von Neumann's division-method hashing scheme. I found this out by experiment, and it is now enshrined in the PrOp. I could multiply such examples, but I suspect that we are dealing here with visceral differences that are not accessible to argument. My comment about instruction mnemonics that end in 'E' was in part jocular, as I had hoped would be obvious. John Gilmore, Ashland, MA 01721 - USA
