[Info-vax] Kednos PL/I
Andreas Gruhl
gruhl at isidata.de
Thu Sep 14 07:18:27 EDT 2023
Arne Vajhøj schrieb am Donnerstag, 14. September 2023 um 02:53:20 UTC+2:
> On 9/13/2023 4:53 PM, gah4 wrote:
> > On Wednesday, September 13, 2023 at 12:28:45 PM UTC-7, Arne Vajhøj wrote:
> > (snip, I wrote)
> >>> Does Alpha have 64 bit multiply and divide?
> >
> >> In instruction set?
> >
> >> Multiply: yes
> >
> > With 128 bit product?
> No.
Sorry Arne, but I would prefer to say yes.
Since Alpha can only deliver 64 bits per instruction, you have to use two of them:
MULQ for the lower 64 bits and then UMULQ for the upper 64 bits.
Andreas
> >> Division: no. But obviously you can divide two 64 bit integers in your
> >> favorite HLL.
> >
> > But PL/I allows for a scaling factor for FIXED BIN values.
> > That often requires a shift before the divide, so you really want a double
> > length dividend and product for divide and multiply instructions.
> >
> >>> I even forget now, does x86-64 hardware have multiply and divide with 128 bit
> >>> product and dividend?
> >
> >> I don't think so.
> >
> > 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.
>
> Arne
More information about the Info-vax
mailing list