Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: syssrc



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@localhost, 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.




Home | Main Index | Thread Index | Old Index