On 9/19/23, Dan Cross <crossd(a)gmail.com> wrote:
(regarding the CRC instruction on VAX)
I thought that was a general polynomial root finder instruction that
used Horner's Method? Obviously it could be used in CRC calculations,
but I remember it being more general. I also remember reading about it
in the VAX architecture manual and thinking, "wow,
that's...something."
VAX had both a CRC instruction and a polynomial instruction. CRC
operated on byte strings and did fixed-point calculation. The
polynomial instructions (POLYF and POLYD) operated on single-precision
(F) or double-precision (D) data. Unfortunately the algorithm used by
POLYF and POLYD wasn't very accurate--there were other algorithms that
did a better job preserving precision. Anyone doing serious
calculations in floating point avoided POLYF and POLYD. These were
two more of the instructions that were dropped from the microVAX
architecture and emulated by the OS.
-Paul W.