History log of /freebsd-10.1-release/lib/msun/amd64/
Revision Date Author Comments
272461 03-Oct-2014 gjb

Copy stable/10@r272459 to releng/10.1 as part of
the 10.1-RELEASE process.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


249724 21-Apr-2013 kib

Merge the 386 and amd64 versions of the fenv.h, to make cc -m32
compilations which use fenv.h work.

Reviewed by: tjil
Sponsored by: The FreeBSD Foundation


226594 21-Oct-2011 das

Bugfix: feenableexcept() and fedisableexcept() should just return the
old exception mask, not mask | ~FE_ALL_EXCEPT.

MFC after: 2 weeks


226415 16-Oct-2011 das

Use #include "fenv.h" instead of #include <fenv.h>. This makes it
more convenient to compile the math library by itself.

Requested by: bde


226218 10-Oct-2011 das

Provide external definitions of all of the standardized functions in
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


218305 04-Feb-2011 kib

Remove duplicate .note.GNU-stack section declaration.

Reported by: arundel


217108 07-Jan-2011 kib

Add section .note.GNU-stack for assembly files used by 386 and amd64.


213337 01-Oct-2010 dim

Use __FBSDID() instead of RCSID() in most .S files under lib/msun/i386,
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)


203441 03-Feb-2010 kib

Placate new binutils, by using 16-bit %ax instead of 32-bit %eax as an
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


192760 25-May-2009 attilio

Use, in uncovered part, the END() macro in order to improve debugging.
In this specific case, Valgrind won't get confused when analyzing such
functions.

Sponsored by: Sandvine Incorporated
Tested by: emaste
MFC: 3 days


177768 30-Mar-2008 das

Add assembly versions of remquol() and remainderl().


176722 02-Mar-2008 das

Hook up sqrtl() to the build.


176721 02-Mar-2008 das

MD implementations of sqrtl().


176227 13-Feb-2008 bde

Use hardware remainder on amd64 since it is 5 to 10 times faster than
software remainder and is already used for remquo().


175309 14-Jan-2008 das

Implement rintl(), nearbyintl(), lrintl(), and llrintl().
Thanks to bde@ for feedback and testing of rintl().


174719 17-Dec-2007 bde

Translate from the i386 so that this compiles and runs.

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.


174698 17-Dec-2007 das

Add logbl(3) to libm.


169092 29-Apr-2007 deischen

Use C comments since we now preprocess these files with CPP.


165841 06-Jan-2007 das

Fix a problem relating to fesetenv() clobbering i387 register stack.

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


165795 05-Jan-2007 das

Remove an unneeded fnstcw instruction.

Noticed by: bde


157196 27-Mar-2006 deischen

Add symbol versioning to libm.


150067 12-Sep-2005 das

Add a missing ldexpf() alias for amd64.

Noticed by: bz@, tjr@


145171 16-Apr-2005 das

More optimized math functions.


144091 25-Mar-2005 das

Implement and document remquo() and remquof().


143722 16-Mar-2005 das

Spell 'fedisableexcept' correctly.


143708 16-Mar-2005 das

Replace fegetmask() and fesetmask() with feenableexcept(),
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.


143208 07-Mar-2005 das

Define the LDBL_PREC to be the number of significant bits in a long
double's mantissa.


141281 04-Feb-2005 das

Move machine-dependent crud to its own makefile.


141280 04-Feb-2005 das

Remove wrappers and other cruft intended to support SVID, mistakes in
C90, and other arcana. Most of these features were never fully
supported or enabled by default.

Ok: bde, stefanf


140275 15-Jan-2005 das

amd64 assembly versions of sqrt(), lrint(), and llrint() using SSE2.


140219 14-Jan-2005 das

Mark all inline asms that read the floating-point control or status
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.


140085 11-Jan-2005 das

Mark inline stmxcsr instructions as volatile, since this appears to be
the only way to convince gcc that they read the MXCSR. The volatile
annotation may be needed elsewhere as well.


130328 11-Jun-2004 das

Insert a missing '~' in feholdexcept(), so that it correctly clears
the exception flags in the mxcsr as well as the x87 FPU.


130142 06-Jun-2004 das

Add an fenv.h implementation for the amd64 port.

Reviewed by: standards@