[Info-vax] Kednos PL/I
Arne Vajhøj
arne at vajhoej.dk
Wed Sep 13 22:30:29 EDT 2023
On 9/13/2023 10:03 PM, Arne Vajhøj wrote:
> On 9/13/2023 9:06 PM, gah4 wrote:
>> On Wednesday, September 13, 2023 at 5:53:20 PM UTC-7, Arne Vajhøj wrote:
>> (snip, I wrote)
>>>> It has been usual for a long time, for hardware to have multiply and
>>>> divide with
>>>> double length product and dividend. Many algorithms depend on that,
>>>> though few
>>>> HLLs have a way to do it. (Other than call an assembly language
>>>> routine.)
>>>> It seems that 64 bit processors don't all do it.
>>
>>> Big integers in software is pretty standard today. You can get
>>> 128 or 245 or 512 or 1024 bit integers or whatever if you want to.
>>> In software. And on todays hardware it will be pretty fast anyway.
>> I suppose so.
>> It is reasonable to expect HLLs to support what the hardware supports.
>>
>> I remember in the TeX documentation for the program, TeX has (had)
>> Pascal programs to compute the product and quotient of 32 bit values
>> with 16 bits after the binary point. Very easy if you have the double
>> length
>> instructions, not at all easy in Pascal.
>>
>> He suggests assembly versions of those two operations.
>>
>> But computers were slower then.
>>
>> If you are using them to implement multiple precision arithmetic, you
>> want to use the largest ones supported by the hardware. But yes,
>> often enough they are fast enough.
>
> Here is some C code using GMP library:
> It does around 100 million bigmuls per second here.
Based on some very old measurements I believe a VAX 780
could do around 0.5 million MULL3 instructions per second.
HW has improved over 45 years ...
Arne
More information about the Info-vax
mailing list