Closed ghost closed 6 years ago
Hi Enrico,
This is definitely something to worry about. The BFP tests run cleanly on a number of platforms, including FreeBSD (clang) and Solaris (older gcc). Solaris has been my favorite system for finding odd issues in code I have written. Maybe macOS will join Solaris in that respect. And in that respect only.
The failing calculations are 128-bit operations that should generate scaled results because they are trappable. Division of NMax by Nmin creates a huge overflow, and IEEE 754 1985 specifies a scaled result. The multiplication (of two subnormal numbers) creates a trappable overflow and should return a scaled result. In both cases, the generated result is a wierd signalling NaN that is intentionally created by softfloat_scaledResult128 when an unconstrained scaled exponent does not fit in a 128-bit BFP.
IEEE dropped scaled results from the 2008 revision, but IBM had already shipped hardware, so in it stayed. Scaled results are likewise not in Dr. Hauser's SoftFloat-3a. So most likely I have done something wrong in the SoftFloat-3a mods for Hercules. At a minimum I have to look at the deliberate SNaN; 0xDEAD should appear in a single fullword.
SoftFloat-3a issue #9 had similar symptoms.
Thanks for posting!
Best Regards, Steve Orso
running the tests on macOS High Sierra rexx ./tests/runtest.rexx Building test script file 'allTests.testin'... Running Hercules to generate test results... Performing analysis of test results... Variable ptrsize is set to "8". Variable platform is set to "Darwin".
is it borderline, or is it something to worry about