[Info-vax] VMS Software Q1 '23 Update
John Reagan
xyzzy1959 at gmail.com
Tue Jan 31 12:47:05 EST 2023
On Monday, January 30, 2023 at 7:32:10 PM UTC-5, Arne Vajhøj wrote:
> On 1/29/2023 11:16 PM, Dave Froble wrote:
> > On 1/29/2023 7:17 PM, Arne Vajhøj wrote:
> >> The Alpha architecture manual says that it only
> >> supports:
> >> - load D from memory
> >> - convert from D to G
> >> - do G math
> >> - convert back from G to D
> >> - store D in memory
> >> which sort of operate on D float but loose 3 bits precision.
> >
> > Correct, that is how it's provided.
> >
> >> The alternative is software emulation, which will be able to do VAX
> >> compatible D math but at a speed cost.
> >
> > Would you think it would do better than the loss of the 3 bits? Not an
> > issue most of the time. However, I'm aware of a few instances where
> > things aren't so good. I seem to recall the 5.9 to 6.0 range having an
> > issue.
> I wonder what Basic on Itanium does and what Basic on x86-64 does / will do.
>
> Convert to T and do T math? Or software emulation?
Just like Itanium. Convert G to T (same size exponent) or convert D to T (and round
3 bits); operate on the T; convert back to G (or D) as needed. Nobody complained
on Itanium.
For VAX to Alpha, VEST/TIE would actually emulate all 56 bits of the D exponents.
VEST/TIE also emulated VAX H-float. Native Alpha rounded 3 bits for D to G,
nobody complained.
For Alpha, most compilers went from F/D on VAX to F/G on Alpha. However, BASIC
has stuck with D-floating for DOUBLE on Alpha and on Itanium. At this point, we
will probably continue that mapping (although I think they shouldn't have stuck with D
for all that time).
More information about the Info-vax
mailing list