[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