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.