Subject: CVS commit: syssrc
To: None <source-changes@netbsd.org>
From: Anders Magnusson <ragge@netbsd.org>
List: source-changes
Date: 06/10/2001 23:46:19
Module Name: syssrc
Committed By: ragge
Date: Sun Jun 10 20:46:18 UTC 2001
Modified Files:
syssrc/sys/arch/vax/vax: unimpl_emul.s
Log Message:
Check in work done by bjc@openbsd.org, OpenBSD revs 1.4 and 1.5 of the
same file. No other changes, OpenBSD log messages below.
> More EMODD work:
> - Using CVTDL and subtracting to seperate integer from fraction does
> not work if the integer is >32 bits long; instead, rearrange the bits
> into a quadword, use ASHQ to truncate, and then subtract.
>
> Also:
> - Set the condition codes properly; this fixes the other problem with
> >32-bit-integer parts in libm by letting modf subtract the fractional
> part (which *is* a double) to get the integral part in a double.
> - move the zero checks earlier in the routine
>
> - instead of 'ret' in zeroexit, use brw goback
> Switch a "BGTR foo" to a "BLSS bar; BRW foo; bar:". In this case, the
> difference between the BGTR and foo: is too large for a byte displacement.
> as should give an error or at least a warning here, but it doesn't;
> instead it merrily outputs a completely bogus displacement.
> This fixes problems with EMODD on numbers with negative exponents.
>
To generate a diff of this commit:
cvs rdiff -r1.4 -r1.5 syssrc/sys/arch/vax/vax/unimpl_emul.s
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.