a minor x86 bug reported

Keith Bierman QED Keith.BiermanaEng.Sun.COM
Mon May 5 11:47:02 PDT 1997


Well, I've only glanced at the web site, he doesn't seem to point
precisely to where he thinks Kahan might have gone wrong.

However, the Fortran language is defined so that the basic logical
operators are logical *not* bit oriented.

There was an "bolt on" MILSTD which defined bit operators, which was
incorporated into Fortran 90.

The code which the web site appears to be refering to is clearly '77
code, and is not making use of the mil-std 1753 operators. So
linguistically it's logical not bitwise (however, many implementations
actually did bit twiddling, and since the logical operators are only
formally defined on logical data types, a standard conformant program
can't tell one from the other).

So it's not unlikely that Kahan did mean to twiddle, and that f77
processors generally did the right thing.

However, if Intel chose to hand translate the code to C, they might
have had someone who used the formal "logical" definitions rather than
the more or less de facto bit twiddling.



More information about the Numeric-interest mailing list