| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
compilations which use fenv.h work.
Reviewed by: tjil
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
| |
old exception mask, not mask | ~FE_ALL_EXCEPT.
MFC after: 2 weeks
|
|
|
|
|
|
| |
more convenient to compile the math library by itself.
Requested by: bde
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
fenv.h that are currently inlined.
The definitions are provided in fenv.c via 'extern inline'
declaractions. This assumes the compiler handles 'extern inline' as
specified in C99, which has been true under FreeBSD since 8.0.
The goal is to eventually remove the 'static' keyword from the inline
definitions in fenv.h, so that non-inlined references all wind up
pointing to the same external definition like they're supposed to.
I am deferring the second step to provide a window where
newly-compiled apps will still link against old math libraries.
(This isn't supported, but there's no need to cause undue breakage.)
Reviewed by: stefanf, bde
|
|
|
|
| |
Reported by: arundel
|
| |
|
|
|
|
|
|
|
|
| |
and one under lib/msun/amd64. This avoids adding the identifiers to the
.text section, and moves them to the .comment section instead.
Suggested by: bde
Approved by: rpaulo (mentor)
|
|
|
|
|
|
|
|
|
| |
argument for fnstsw. Explicitely specify sizes for the XMM control and
status word and X87 control and status words.
Reviewed by: das
Tested by: avg
MFC after: 2 weeks
|
|
|
|
|
|
|
|
|
| |
In this specific case, Valgrind won't get confused when analyzing such
functions.
Sponsored by: Sandvine Incorporated
Tested by: emaste
MFC: 3 days
|
| |
|
| |
|
| |
|
|
|
|
| |
software remainder and is already used for remquo().
|
|
|
|
| |
Thanks to bde@ for feedback and testing of rintl().
|
|
|
|
|
|
|
| |
I hope that this and the i386 version of it will not be needed, but
this is currently about 16 cycles or 36% faster than the C version,
and the i386 version is about 8 cycles or 19% faster than the C
version, due to poor optimization of the C version.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Details: As a side-effect of restoring a saved FP environment,
fesetenv() overwrites the tag word, which indicates which i387
registers are in use. Normally this isn't a problem because
the calling convention requires the register stack to be empty
on function entry and exit. However, fesetenv() is inlined, so we
need to tell gcc explicitly that the i387 registers get clobbered.
PR: 85101
|
|
|
|
| |
Noticed by: bde
|
| |
|
|
|
|
| |
Noticed by: bz@, tjr@
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
fedisableexcept(), and fegetexcept(). These two sets of routines
provide the same functionality. I implemented the former as an
undocumented internal interface to make the regression test easier to
write. However, fe(enable|disable|get)except() is already part of
glibc, and I would like to avoid gratuitous differences. The only
major flaw in the glibc API is that there's no good way to report
errors on processors that don't support all the unmasked exceptions.
|
|
|
|
| |
double's mantissa.
|
| |
|
|
|
|
|
|
|
| |
C90, and other arcana. Most of these features were never fully
supported or enabled by default.
Ok: bde, stefanf
|
| |
|
|
|
|
|
|
|
| |
registers as volatile. Instructions that *wrote* to FP state were
already marked volatile, but apparently gcc has license to move
non-volatile asms past volatile asms. This broke amd64's feupdateenv
at -O2 due to a WAR conflict between fnstsw and fldenv there.
|
|
|
|
|
| |
the only way to convince gcc that they read the MXCSR. The volatile
annotation may be needed elsewhere as well.
|
|
|
|
| |
the exception flags in the mxcsr as well as the x87 FPU.
|
|
Reviewed by: standards@
|