Many of you see IBM-MAIN posts too, but for those of you who do not one of David Crayford's recent posts there contained:
<begin snippet> An interesting optimziation is the HGRP compiler option which tells the [Metal/C] compiler to use 64-bit instructions in 31-bit code. A recent whitepaper I read states "it almost always produces faster code" http://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/WP101796 </end snippet> I mentioned here on another occasion that 64-bit instructions are almost always faster than their 31-bit analogues, noting in passing that as far back as the System/360 halfword instructions had been slower than fullword ones on larger System/360 models. Someone else--I don't remember who, which is perhaps as well--then conceded that he 'had been able to verify' that LH had indeed been slower than L but expressed himself as dubious about the superiority of 64-bit to 31-bit zArchitecture instructions in general. At that time I elected not to pursue the matter because it seemed to me that I was being asked to produce a demonstration that the earth is an oblate spheroid. This time around, however, I want to put a more general statement on the record. Any instruction that operates on a unit shorter in length than its run-time machine's fetch width is all but certain to be slower than itrs analogue that operates on a unit equal in length to that fetch width. Wherever, for example, I have had occasion to compare zArchitecture doubleword arithmetic to zArchitecture fullword arithmetic I have found that the doubleword arithmetic is measurably faster. John Gilmore Ashland, MA 01721-1817 USA
