This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: feenableexcept and FE_NOMASK_ENV are broken on i386 (resend)


On Fri, 2002-05-31 at 04:28, Bruno Haible wrote:

> The function feenableexcept and the macro FE_NOMASK_ENV, both GNU extensions
> in <fenv.h>, appear to be broken on i386.

The exception operations map directly to functionality in the CPU.  And
the CPU doesn't make any difference between operations of the different
types.  In fact, it only operates on the long double format internally
(we don't use the 64-bit format).

This means that you won't get the exact exceptions for anything but long
double operations.  Everything else depends on the compiler and how and
when it decides to convert from the internal format to float or double.

There is not much which can be done except reiterating once again: if
you want to do floating-point stuff, don't use IA-32.  Maybe with
SSE/SSE2 but that's a completely different story and not part of the
standard ABI.

-- 
---------------.                          ,-.   1325 Chesapeake Terrace
Ulrich Drepper  \    ,-------------------'   \  Sunnyvale, CA 94089 USA
Red Hat          `--' drepper at redhat.com   `------------------------

Attachment: signature.asc
Description: This is a digitally signed message part


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]