C99 knows whether you are looking the IEEE flags / changing rounding
modes or not based on whether or not you've included fenv.h and done
#pragma STDC FENV_ACCESS on or not, as required by standard. So in
principle, we could actually have two parallel math libraries, one
that spends time diligently setting flags and defending against
rounding mode changes and a faster one that does not. In practice,
this can be just implemented by having a separate set of symbols
decorated with $fenv_access_off for all the stuff in the math library.
Currently, there is no compiler support for using these functions. We
also haven't taken a time to write the fenv_access_off (non-flags)
version for most math library functions. What we do have right now is
name space placeholders that alias the regular math library APIs so
that when (if) this feature is actually delivered, binaries built
against it can back ship to Leopard and still run.
Unfortunately, for reasons I don't entirely understand, when given a
choice between resolving a symbol to the true name of the function and
an alias that resolves to the same thing, the developer tools pick the
latter. So everywhere where you should see a function called "sin" you
instead see "sin$fenv_access_off".
So, in other words: move along, nothing to see here, move along...
Do not post admin requests to the list. They will be ignored.
PerfOptimization-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden