[Info-vax] Integer Divide, Multiply, Alpha SRM(was: Re: Kednos PL/I)
Stephen Hoffman
seaohveh at hoffmanlabs.invalid
Sat Sep 16 13:25:15 EDT 2023
On 2023-09-15 03:17:31 +0000, gah4 said:
> On Thursday, September 14, 2023 at 7:38:58 AM UTC-7, Johnny Billquist wrote:
>
> (snip)
>
>> It's UMULH, but I agree. The Alpha was definitely designed for getting
>> a 128 bit result from 64 bit multiply. But it is done via two
>> instructions. MULQ;UMULH. If you want a signed MUL, you then need a
>> couple of more steps to adjust the result. But it's a simple
>> thing.Okay, I found my "Alpha Architecture Handbook", copyright 1992.
>
> I think I got it before machines were available for sale.
>
> And what I had forgotten, and might have known 31 years ago:
> There is no hardware integer divide.
> For divide by constant, you can usually, or maybe always, use the
> high half of the double length product.
> And for variable divide, they suggest, but don't write out, a successive
> approximation algorithm. Presumably usually as a subroutine call.
>
> There is floating point divide, though.
Invert and multiply, quite commonly.
See A.4.2 in SRM
http://bitsavers.org/pdf/dec/alpha/system_reference/Alpha_System_Reference_Manual_Version_5_199205.pdf
The Alpha Architecture Reference Manual (ARM) was a de-tuned version of
the Alpha System Reference Manual (SRM).
--
Pure Personal Opinion | HoffmanLabs LLC
More information about the Info-vax
mailing list