[Mono-dev] [PATCH] Use ECMA compliant floating point rounding (x86)

Kornél Pál kornelpal at gmail.com
Thu Jan 22 19:12:52 EST 2009


Hi,

This patch fixes the test cases in 
https://bugzilla.novell.com/show_bug.cgi?id=467201

I've found the following bugs:

1. Return value of functions don't has to be rounded and is not rounded 
by MS.NET either.

2. conv.r4 has to change precision (required by ECMA specs)

3. conv.r8 also has to change precision

I also reordered code in OP_LCONV_TO_R_UN_2 because there is no need to 
allocate extra stack space and store and reload a 80-bit floating point 
value. I just removed unnecessary code but please have a look at the 
changes because I have little experience with the FPU.

Also note that the test in the bug report should be modified to be 
platform independent and the above three bugs should be fixed on all 
other platforms that has them.

Kornél
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: fpu_round.diff.txt
Url: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20090123/bcc5aee1/attachment.txt 


More information about the Mono-devel-list mailing list