This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Handling systems without exception or rounding mode support
On Sun, 13 May 2012, Chris Metcalf wrote:
> I'll have some further questions to ask about the ulps-generating stuff,
> though. I hacked the examples to work around the missing exception
> #defines on tile to generate some plausible ulps data, but as things stand
> the presence of all the FE_xxx tests means the tests don't compile.
I'd say there are a few separate issues with support in glibc for systems
without full exception or rounding mode support:
* Tests not compiling if the defines for rounding modes are not present.
I'd say the relevant bits of the tests should have #ifdef conditions on
the defines being present. (They already do check that fesetround
succeeded and only run the tests if it did.)
* Tests not compiling if defines for exceptions are not present. I'm not
aware of such issues with libm-test.inc - as far as I can see the tests
for exceptions are already properly conditional - but if any testcases
have unconditioned uses of exceptions, much the same would apply.
* Functions in libm that only work with exception / rounding mode support.
The only case I know of is fma. Bruno, in bug 13304 you expressed a
willingness to adapt the gnulib implementation of the fma functions to be
suitable for use in glibc as the math/ implementation that can be used for
systems without hardware exception / rounding mode support, and in
<http://sourceware.org/bugzilla/show_bug.cgi?id=13304#c34> I indicated I
thought that was the way to go - any news there?
--
Joseph S. Myers
joseph@codesourcery.com