aboutsummaryrefslogtreecommitdiff
path: root/lib/msun/amd64
Commit message (Collapse)AuthorAgeFilesLines
* Remove $FreeBSD$: one-line sh patternWarner Losh2023-08-231-1/+0
| | | | | | | Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/ Similar commit in main: (cherry picked from commit d0b2dbfa0ecf)
* Remove $FreeBSD$: one-line .c patternWarner Losh2023-08-2322-42/+0
| | | | | | | Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/ Similar commit in main: (cherry picked from commit 1d386b48a555)
* Remove $FreeBSD$: one-line .h patternWarner Losh2023-08-231-1/+0
| | | | | | | Remove /^\s*\*+\s*\$FreeBSD\$.*$\n/ Similar commit in main: (cherry picked from commit 42b388439bd3)
* Remove $FreeBSD$: two-line .h patternWarner Losh2023-08-232-4/+0
| | | | | | | Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/ Similar commit in main: (cherry picked from commit b3e7694832e8)
* spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSDWarner Losh2023-07-251-1/+1
| | | | | | | | | | | The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix (cherry picked from commit 4d846d260e2b9a3d4d0a701462568268cbfe7a5b)
* libm: Add missing END() directives for amd64 routinesConrad Meyer2019-10-239-0/+9
| | | | | | | | | No functional change. Related to D22122. Reviewed by: emaste, kib (earlier version both) Notes: svn path=/head/; revision=353929
* Resolve conflicts between macros in fenv.h and ieeefp.hDimitry Andric2018-05-311-8/+8
| | | | | | | | | | | | | | | | | | | | | | | This is a follow-up to r321483, which disabled -Wmacro-redefined for some lib/msun tests. If an application included both fenv.h and ieeefp.h, several macros such as __fldcw(), __fldenv() were defined in both headers, with slightly different arguments, leading to conflicts. Fix this by putting all the common macros in the machine-specific versions of ieeefp.h. Where needed, update the arguments in places where the macros are invoked. This also slightly reduces the differences between the amd64 and i386 versions of ieeefp.h. Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D15633 Notes: svn path=/head/; revision=334445
* lib: further adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-261-0/+2
| | | | | | | | | | | | | | | Mainly focus on files that use BSD 2-Clause license, however the tool I was using mis-identified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Notes: svn path=/head/; revision=326219
* Add asm versions of fmod(), fmodf() and fmodl() on amd64. Add asmBruce Evans2016-09-044-1/+130
| | | | | | | | | | | | versions of fmodf() amd fmodl() on i387. fmod is similar to remainder, and the C versions are 3 to 9 times slower than the asm versions on x86 for both, but we had the strange mixture of all 6 variants of remainder in asm and only 1 of 6 variants of fmod in asm. Notes: svn path=/head/; revision=305382
* Merge the 386 and amd64 versions of the fenv.h, to make cc -m32Konstantin Belousov2013-04-211-222/+0
| | | | | | | | | | compilations which use fenv.h work. Reviewed by: tjil Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=249724
* Bugfix: feenableexcept() and fedisableexcept() should just return theDavid Schultz2011-10-211-4/+4
| | | | | | | | | old exception mask, not mask | ~FE_ALL_EXCEPT. MFC after: 2 weeks Notes: svn path=/head/; revision=226594
* Use #include "fenv.h" instead of #include <fenv.h>. This makes itDavid Schultz2011-10-161-1/+1
| | | | | | | | | more convenient to compile the math library by itself. Requested by: bde Notes: svn path=/head/; revision=226415
* Provide external definitions of all of the standardized functions inDavid Schultz2011-10-103-9/+27
| | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=226218
* Remove duplicate .note.GNU-stack section declaration.Konstantin Belousov2011-02-042-4/+0
| | | | | | | Reported by: arundel Notes: svn path=/head/; revision=218305
* Add section .note.GNU-stack for assembly files used by 386 and amd64.Konstantin Belousov2011-01-0720-0/+40
| | | | Notes: svn path=/head/; revision=217108
* Use __FBSDID() instead of RCSID() in most .S files under lib/msun/i386,Dimitry Andric2010-10-011-2/+1
| | | | | | | | | | | 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) Notes: svn path=/head/; revision=213337
* Placate new binutils, by using 16-bit %ax instead of 32-bit %eax as anKonstantin Belousov2010-02-032-9/+15
| | | | | | | | | | | | 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 Notes: svn path=/head/; revision=203441
* Use, in uncovered part, the END() macro in order to improve debugging.Attilio Rao2009-05-259-0/+9
| | | | | | | | | | | | In this specific case, Valgrind won't get confused when analyzing such functions. Sponsored by: Sandvine Incorporated Tested by: emaste MFC: 3 days Notes: svn path=/head/; revision=192760
* Add assembly versions of remquol() and remainderl().David Schultz2008-03-303-2/+114
| | | | Notes: svn path=/head/; revision=177768
* Hook up sqrtl() to the build.David Schultz2008-03-021-1/+1
| | | | Notes: svn path=/head/; revision=176722
* MD implementations of sqrtl().David Schultz2008-03-021-0/+33
| | | | Notes: svn path=/head/; revision=176721
* Use hardware remainder on amd64 since it is 5 to 10 times faster thanBruce Evans2008-02-133-1/+78
| | | | | | | software remainder and is already used for remquo(). Notes: svn path=/head/; revision=176227
* Implement rintl(), nearbyintl(), lrintl(), and llrintl().David Schultz2008-01-144-3/+116
| | | | | | | Thanks to bde@ for feedback and testing of rintl(). Notes: svn path=/head/; revision=175309
* Translate from the i386 so that this compiles and runs.Bruce Evans2007-12-171-1/+1
| | | | | | | | | | 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. Notes: svn path=/head/; revision=174719
* Add logbl(3) to libm.David Schultz2007-12-172-1/+46
| | | | Notes: svn path=/head/; revision=174698
* Use C comments since we now preprocess these files with CPP.Daniel Eischen2007-04-291-1/+3
| | | | Notes: svn path=/head/; revision=169092
* Fix a problem relating to fesetenv() clobbering i387 register stack.David Schultz2007-01-061-1/+12
| | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=165841
* Remove an unneeded fnstcw instruction.David Schultz2007-01-051-7/+5
| | | | | | | Noticed by: bde Notes: svn path=/head/; revision=165795
* Add symbol versioning to libm.Daniel Eischen2006-03-272-0/+13
| | | | Notes: svn path=/head/; revision=157196
* Add a missing ldexpf() alias for amd64.David Schultz2005-09-121-0/+3
| | | | | | | Noticed by: bz@, tjr@ Notes: svn path=/head/; revision=150067
* More optimized math functions.David Schultz2005-04-167-1/+173
| | | | Notes: svn path=/head/; revision=145171
* Implement and document remquo() and remquof().David Schultz2005-03-253-1/+131
| | | | Notes: svn path=/head/; revision=144091
* Spell 'fedisableexcept' correctly.David Schultz2005-03-161-1/+1
| | | | Notes: svn path=/head/; revision=143722
* Replace fegetmask() and fesetmask() with feenableexcept(),David Schultz2005-03-162-8/+26
| | | | | | | | | | | | | 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. Notes: svn path=/head/; revision=143708
* Define the LDBL_PREC to be the number of significant bits in a longDavid Schultz2005-03-071-0/+1
| | | | | | | double's mantissa. Notes: svn path=/head/; revision=143208
* Move machine-dependent crud to its own makefile.David Schultz2005-02-041-0/+3
| | | | Notes: svn path=/head/; revision=141281
* Remove wrappers and other cruft intended to support SVID, mistakes inDavid Schultz2005-02-041-1/+1
| | | | | | | | | | C90, and other arcana. Most of these features were never fully supported or enabled by default. Ok: bde, stefanf Notes: svn path=/head/; revision=141280
* amd64 assembly versions of sqrt(), lrint(), and llrint() using SSE2.David Schultz2005-01-153-0/+75
| | | | Notes: svn path=/head/; revision=140275
* Mark all inline asms that read the floating-point control or statusDavid Schultz2005-01-141-3/+3
| | | | | | | | | | 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. Notes: svn path=/head/; revision=140219
* Mark inline stmxcsr instructions as volatile, since this appears to beDavid Schultz2005-01-111-1/+1
| | | | | | | | the only way to convince gcc that they read the MXCSR. The volatile annotation may be needed elsewhere as well. Notes: svn path=/head/; revision=140085
* Insert a missing '~' in feholdexcept(), so that it correctly clearsDavid Schultz2004-06-111-1/+1
| | | | | | | the exception flags in the mxcsr as well as the x87 FPU. Notes: svn path=/head/; revision=130328
* Add an fenv.h implementation for the amd64 port.David Schultz2004-06-062-0/+333
Reviewed by: standards@ Notes: svn path=/head/; revision=130142