Home | History | Annotate | only in /src/lib/libm/arch
History log of /src/lib/libm/arch
RevisionDateAuthorComments
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file e_sqrt.S was added on branch tls-maxphys on 2014-08-20 00:02:18 +0000
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file e_sqrtf.S was added on branch tls-maxphys on 2014-08-20 00:02:18 +0000
 1.7 06-May-2024  skrll Trailing whitespace
 1.6 25-Aug-2019  riastradh Fix feraiseexcept.

- Don't touch the trap flags (though on all ARMv8 I know they have no
effect anyway).

- Don't clear any existing raised exception flags; just add to them.

XXX atf test
XXX pullup-9
 1.5 25-Aug-2019  riastradh Fix fesetenv and feupdateenv.

- fesetenv is supposed to set the stored rounding mode (and stored trap
settings, but they have no effect on any ARMv8 I know).

- feupdateenv is supposed to re-raise the exceptions that were raised
in the environment when it was called.

XXX atf test
XXX pullup-9
 1.4 07-Nov-2018  riastradh branches: 1.4.2;
When hardware subnormal support is available, disable flush-to-zero.

Similarly, when hardware NaN propagation is available, disable
default-NaN substitution.

This enables IEEE 754 semantics on any hardware that supports it by
default. Programs that want flush-to-zero or default-NaN substitution
can enable them explicitly.

ok ryo@
 1.3 22-Mar-2017  chs branches: 1.3.10; 1.3.12;
provide a common softfloat fenv implemenation and use it for softfloat builds.
restore ABI compatibility with previous releases for ieeefp.h on sh3.
add namespace.h protection for all the fenv interfaces.
use MKSOFTFLOAT on sh3 instead of assuming softfloat.
standardize on comparing MKSOFTFLOAT with "no".
remove the arm-specific softfloat fenv code (which also had several bugs).
fix logic errors in the arm hardfloat feraiseexcept() and feupdateenv().
 1.2 27-Dec-2014  martin branches: 1.2.2; 1.2.4;
Fix consistent typo: it is FE_ALL_EXCEPT instead of FE_EXCEPT_ALL (this
went unnoticed as the undefined macro evaluated to 0 and the expression
was always used with ~)
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file fenv.c was added on branch tls-maxphys on 2014-08-20 00:02:18 +0000
 1.2.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.2.2.1 26-Apr-2017  pgoyette Sync with HEAD
 1.3.12.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.3.12.1 10-Jun-2019  christos Sync with HEAD
 1.3.10.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.4.2.1 08-Dec-2019  martin Pull up following revision(s) (requested by riastradh in ticket #507):

lib/libm/arch/aarch64/fenv.c: revision 1.5
lib/libm/arch/aarch64/fenv.c: revision 1.6

Fix fesetenv and feupdateenv.
- fesetenv is supposed to set the stored rounding mode (and stored trap
settings, but they have no effect on any ARMv8 I know).
- feupdateenv is supposed to re-raise the exceptions that were raised
in the environment when it was called.
XXX atf test
XXX pullup-9

Fix feraiseexcept.
- Don't touch the trap flags (though on all ARMv8 I know they have no
effect anyway).
- Don't clear any existing raised exception flags; just add to them.
XXX atf test
XXX pullup-9
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file s_fabsf.S was added on branch tls-maxphys on 2014-08-20 00:02:18 +0000
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file s_fma.S was added on branch tls-maxphys on 2014-08-20 00:02:18 +0000
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file s_fmaf.S was added on branch tls-maxphys on 2014-08-20 00:02:18 +0000
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file s_fmax.S was added on branch tls-maxphys on 2014-08-20 00:02:18 +0000
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file s_fmaxf.S was added on branch tls-maxphys on 2014-08-20 00:02:18 +0000
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file s_fmin.S was added on branch tls-maxphys on 2014-08-20 00:02:18 +0000
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file s_fminf.S was added on branch tls-maxphys on 2014-08-20 00:02:18 +0000
 1.3 30-Dec-2017  martin Fix usage of sysarch(ALPHA_FPGETMASK)
 1.2 22-Mar-2017  chs branches: 1.2.4;
provide a common softfloat fenv implemenation and use it for softfloat builds.
restore ABI compatibility with previous releases for ieeefp.h on sh3.
add namespace.h protection for all the fenv interfaces.
use MKSOFTFLOAT on sh3 instead of assuming softfloat.
standardize on comparing MKSOFTFLOAT with "no".
remove the arm-specific softfloat fenv code (which also had several bugs).
fix logic errors in the arm hardfloat feraiseexcept() and feupdateenv().
 1.1 23-Aug-2016  christos branches: 1.1.2; 1.1.4;
fenv.h for alpha
 1.1.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.2.3 26-Apr-2017  pgoyette Sync with HEAD
 1.1.2.2 14-Sep-2016  pgoyette Sync with HEAD
 1.1.2.1 23-Aug-2016  pgoyette file fenv.c was added on branch pgoyette-localcount on 2016-09-14 03:04:16 +0000
 1.2.4.1 26-Feb-2018  snj Pull up following revision(s) (requested by maya in ticket #583):
lib/libm/arch/alpha/fenv.c: 1.3
Fix usage of sysarch(ALPHA_FPGETMASK)
 1.4 06-Jul-2021  thorpej Ensure that the stack is always 16-byte aligned by rounding sizes as needed.

All changes from rin@ except swapcontext.S, which is from me (added
symbolic constants to make the code clearer).
 1.3 13-Oct-2004  drochner add licenses
 1.2 02-Jul-2004  drochner allocate stack space for temporary storage
 1.1 01-Jul-2004  drochner also provide an alpha assembler implemtation of lrint()
 1.7 15-Nov-2014  joerg It's copysign, not _copysign.
 1.6 15-Nov-2014  joerg Add copysignl aliases.
 1.5 28-Apr-2008  martin branches: 1.5.40;
Remove clause 3 and 4 from TNF licenses
 1.4 02-Jul-1999  simonb branches: 1.4.40;
More trailing white space.
 1.3 30-Jul-1997  jtc Fix files using old TNF copyright notice
 1.2 13-Aug-1996  thorpej Use <machine/asm.h>
 1.1 26-Jun-1996  jtc Alpha versions of copysign() and copysignf()
 1.4.40.1 18-May-2008  yamt sync with head.
 1.5.40.1 27-May-2015  msaitoh Pull up following revision(s) (requested by joerg in ticket #808):
lib/libm/arch/alpha/s_copysign.S: revision 1.6
lib/libm/arch/alpha/s_copysign.S: revision 1.7
lib/libm/arch/m68k/s_copysign.S: revision 1.8
lib/libm/arch/m68k/s_copysign.S: revision 1.9
- Add copysignl aliases.
- It's copysign, not _copysign.
 1.4 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3 30-Jul-1997  jtc branches: 1.3.44;
Fix files using old TNF copyright notice
 1.2 13-Aug-1996  thorpej Use <machine/asm.h>
 1.1 26-Jun-1996  jtc Alpha versions of copysign() and copysignf()
 1.3.44.1 18-May-2008  yamt sync with head.
 1.1 03-Feb-2013  matt branches: 1.1.4; 1.1.10;
Add support for the ARM hardfloat instructions vsqrt and vabs.
 1.1.10.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.10.1 03-Feb-2013  yamt file e_sqrt.S was added on branch yamt-pagecache on 2014-05-22 11:36:56 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 03-Feb-2013  tls file e_sqrt.S was added on branch tls-maxphys on 2013-02-25 00:27:57 +0000
 1.1 03-Feb-2013  matt branches: 1.1.4; 1.1.10;
Add support for the ARM hardfloat instructions vsqrt and vabs.
 1.1.10.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.10.1 03-Feb-2013  yamt file e_sqrtf.S was added on branch yamt-pagecache on 2014-05-22 11:36:56 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 03-Feb-2013  tls file e_sqrtf.S was added on branch tls-maxphys on 2013-02-25 00:27:57 +0000
 1.9 08-May-2017  martin Complete the namespace dance
 1.8 08-May-2017  martin Add missing namespace.h include
 1.7 22-Mar-2017  chs branches: 1.7.2;
provide a common softfloat fenv implemenation and use it for softfloat builds.
restore ABI compatibility with previous releases for ieeefp.h on sh3.
add namespace.h protection for all the fenv interfaces.
use MKSOFTFLOAT on sh3 instead of assuming softfloat.
standardize on comparing MKSOFTFLOAT with "no".
remove the arm-specific softfloat fenv code (which also had several bugs).
fix logic errors in the arm hardfloat feraiseexcept() and feupdateenv().
 1.6 29-Dec-2014  martin branches: 1.6.2; 1.6.4;
Fix exception status vs mask confusion, of course feenableexcept(),
fedisableexcept() and fegetexcept() all operate on the mask.
 1.5 28-Dec-2014  martin Add missing return in __SOFTFP__ variant, pointed out by htodd.
 1.4 27-Dec-2014  martin Add our common non standard extensions and fix typo (FE_EXCEPT_ALL ->
FE_ALL_EXCEPT).
 1.3 01-May-2013  matt branches: 1.3.2; 1.3.8;
Fix feclearexcept return value (should be 0).
 1.2 30-Apr-2013  matt Make this compile for earmhf
 1.1 28-Apr-2013  matt Add a C99 <fenv.h> implementation for arm.
 1.3.8.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.3.8.1 01-May-2013  yamt file fenv.c was added on branch yamt-pagecache on 2014-05-22 11:36:56 +0000
 1.3.2.2 23-Jun-2013  tls resync from head
 1.3.2.1 01-May-2013  tls file fenv.c was added on branch tls-maxphys on 2013-06-23 06:21:07 +0000
 1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.6.2.1 26-Apr-2017  pgoyette Sync with HEAD
 1.7.2.1 11-May-2017  pgoyette Sync with HEAD
 1.2 16-Mar-2017  chs lrint() and lrintf() are supposed to use the current rounding mode,
so use vcvtr rather than vcvt.
 1.1 11-Feb-2013  matt branches: 1.1.4; 1.1.10; 1.1.16; 1.1.20;
Add VFP versions of lrint/lrintf/lrintl for earmhf*
 1.1.20.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.16.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.10.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.10.1 11-Feb-2013  yamt file lrint.S was added on branch yamt-pagecache on 2014-05-22 11:36:56 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 11-Feb-2013  tls file lrint.S was added on branch tls-maxphys on 2013-02-25 00:27:57 +0000
 1.2 16-Mar-2017  chs lrint() and lrintf() are supposed to use the current rounding mode,
so use vcvtr rather than vcvt.
 1.1 11-Feb-2013  matt branches: 1.1.4; 1.1.10; 1.1.16; 1.1.20;
Add VFP versions of lrint/lrintf/lrintl for earmhf*
 1.1.20.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.16.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.10.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.10.1 11-Feb-2013  yamt file lrintf.S was added on branch yamt-pagecache on 2014-05-22 11:36:56 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 11-Feb-2013  tls file lrintf.S was added on branch tls-maxphys on 2013-02-25 00:27:57 +0000
 1.2 14-Feb-2013  matt branches: 1.2.4; 1.2.10;
Remove .fpu since it's not needed
 1.1 03-Feb-2013  matt Add support for the ARM hardfloat instructions vsqrt and vabs.
 1.2.10.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.10.1 14-Feb-2013  yamt file s_fabsf.S was added on branch yamt-pagecache on 2014-05-22 11:36:56 +0000
 1.2.4.2 25-Feb-2013  tls resync with head
 1.2.4.1 14-Feb-2013  tls file s_fabsf.S was added on branch tls-maxphys on 2013-02-25 00:27:57 +0000
 1.1 11-Feb-2013  matt branches: 1.1.4; 1.1.10;
Add fma/fmaf/fmal for arm hard float which uses the VFP vmla instruction.
 1.1.10.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.10.1 11-Feb-2013  yamt file s_fma.S was added on branch yamt-pagecache on 2014-05-22 11:36:56 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 11-Feb-2013  tls file s_fma.S was added on branch tls-maxphys on 2013-02-25 00:27:57 +0000
 1.1 11-Feb-2013  matt branches: 1.1.4; 1.1.10;
Add fma/fmaf/fmal for arm hard float which uses the VFP vmla instruction.
 1.1.10.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.10.1 11-Feb-2013  yamt file s_fmaf.S was added on branch yamt-pagecache on 2014-05-22 11:36:56 +0000
 1.1.4.2 25-Feb-2013  tls resync with head
 1.1.4.1 11-Feb-2013  tls file s_fmaf.S was added on branch tls-maxphys on 2013-02-25 00:27:57 +0000
 1.5 03-Sep-2021  andvar fix typos in comments, mainly s/extention/extension/ and s/sufficent/sufficient/
 1.4 22-Mar-2017  chs provide a common softfloat fenv implemenation and use it for softfloat builds.
restore ABI compatibility with previous releases for ieeefp.h on sh3.
add namespace.h protection for all the fenv interfaces.
use MKSOFTFLOAT on sh3 instead of assuming softfloat.
standardize on comparing MKSOFTFLOAT with "no".
remove the arm-specific softfloat fenv code (which also had several bugs).
fix logic errors in the arm hardfloat feraiseexcept() and feupdateenv().
 1.3 20-Mar-2016  skrll branches: 1.3.2; 1.3.4;
Update {read,write}fpsr to work everywhere
 1.2 13-Jan-2015  martin branches: 1.2.2;
Simplify, now that rounding mode defines match the hardware bits.
 1.1 27-Dec-2014  martin fenv(3) support for hppa
 1.2.2.2 20-Jan-2015  snj Pull up following revision(s) (requested by martin in ticket #416):
distrib/sets/lists/comp/md.hppa: revision 1.3
include/fenv.h: revision 1.13 via patch
lib/libm/Makefile: revision 1.168
lib/libm/arch/hppa/fenv.c: revisions 1.1, 1.2
sys/arch/hppa/include/Makefile: revision 1.12
sys/arch/hppa/include/fenv.h: revisions 1.1, 1.2
sys/arch/hppa/include/ieeefp.h: revisions 1.5-1.7
tests/lib/libm/Makefile: revision 1.29 via patch
fenv(3) support for hppa
--
use unsigned over uint32_t so that this file works without stdint.h
being included before hand.
fixes mknative-gcc problems, and likely others.
--
Properly separate fenv.h and ieeefp.h by moving all fenv defines
over to the former.
Now that they are decoupled, make rounding modes match the hardware bits.
--
Simplify, now that rounding mode defines match the hardware bits.
 1.2.2.1 13-Jan-2015  snj file fenv.c was added on branch netbsd-7 on 2015-01-20 20:57:24 +0000
 1.3.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.3.2.1 26-Apr-2017  pgoyette Sync with HEAD
 1.11 06-Jun-2008  ad Use a dummy assembly file so we won't try produce lint stuff.
 1.10 03-Jun-2008  ad - Fold libm387 into libm.
- Leave libm387 as an empty shell.
 1.9 25-Apr-2008  christos branches: 1.9.2;
avoid shadow variables, and enable lint.
 1.8 22-Mar-2006  drochner branches: 1.8.18;
merge libc/arch/{i386,x86_64}/gen/modf.S into one
(not quite a merge actually, just an #ifdef for now)
and build it in the i386 case (amd64 should work, just needs to be tested)
That way, a program linking against libm should get the optimized
version as expected.
 1.7 28-Jul-2005  drochner activate e_atan2f.S which was there forever but not built, noticed
by Joerg Sonnenberger
 1.6 21-Jul-2005  rpaulo Add i387 FPU routines for log2(3) and log2f(3).

ok christos@
 1.5 01-Jul-2004  drochner branches: 1.5.2;
provide an assembler implementation of lrint() for i386 and amd64
 1.4 19-Aug-2002  lukem Explicitly move setting of NOxxx and USE_SHLIBDIR to the top of the
Makefile (before including <bsd.own.mk>)
 1.3 28-Dec-2001  lukem * Add user-controlled mk.conf variables
- SHLIBDIR Location to install shared libraries if ${USE_SHLIBDIR}
is "yes". Defaults to "/usr/lib".

- USE_SHLIBDIR If "yes", install shared libraries in ${SHLIBDIR}
instead of ${LIBDIR}. Defaults to "no".
Sets ${_LIBSODIR} to the appropriate value.
This may be set by individual Makefiles as well.

- SHLINKDIR Location of shared linker. Defaults to "/usr/libexec".
If != "/usr/libexec", change the dynamic-linker
encoded in shared programs

* Set USE_SHLIBDIR for libraries used by /bin and /sbin:
libc libcrypt libcrypto libedit libipsec libkvm libm libmi387
libtermcap libutil libz

* If ${_LIBSODIR} != ${LIBDIR}, add symlinks from ${LIBDIR}/${LIB}.so*
to ${_LIBSODIR}/${LIB}.so* for compatibility.

* Always install /sbin/init statically (for now)


The net effect of these changes depends on how the variables are set:

1.) If nothing is set or changed, there is no change from the
current behaviour:
- Static /bin, /sbin, and bits of /usr/*
- Dynamic rest
- Shared linker is /usr/libexec/ld*so

2.) If the following make variables are set:
LDSTATIC=
SHLINKDIR=/lib
SHLIBDIR=/lib
Then the behaviour becomes:
- Dynamic tools
- .so libraries used by /bin and /sbin are installed to /lib,
with symlinks from /usr/lib/lib*so to -> /lib/lib*so
where appropriate
- Shared linker is /lib/ld*so

3.) As per 2.), but add the following variable:
USE_SHLIBDIR=yes
This forces all .so's to be instaleld in /lib (with compat
symlinks), not just those tagged by their Makefiles to be.
Again, compat symlinks are installed
 1.2 12-Dec-2001  tv Readability cleanups; MKfoo=no -> NOfoo.
 1.1 13-Dec-1999  christos branches: 1.1.2;
Makefile and shared library for libm387.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.5.2.1 14-Aug-2005  riz Pull up revision 1.7 via patch (requested by drochner in ticket #643):
activate e_atan2f.S which was there forever but not built, noticed
by Joerg Sonnenberger
 1.8.18.2 17-Jun-2008  yamt sync with head.
 1.8.18.1 18-May-2008  yamt sync with head.
 1.9.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.8 12-Sep-2013  joerg Pass PICFLAGS down to cc-as-as and use __PIC__ to decide if it is small
vs big PIC mode. Retire -DPIC and -DBIGPIC.
 1.7 18-Jun-2011  joerg branches: 1.7.2; 1.7.8;
Use correct stack register as noticed by christos
 1.6 18-Jun-2011  joerg SSE2 registers are only used for float and double arguments, so update
comment to reflect reality. Add some accessor macros for long double
arguments for i386 and x86_64.
 1.5 23-Jun-2008  drochner branches: 1.5.18;
-fix an obvious mistake in fpcw check
-replace ARG_DOUBLE_ONE_HALF by _MSW/_LSW because this reflects the
intention and also matches the terms used in C code,
also make the code where the fpcw overwrites the argument a bit
self-documenting
(this abstraction sucks because it forces to write inefficient code)
 1.4 23-Jun-2008  christos add macros for the upper half of the double arguments.
 1.3 22-Mar-2004  wiz branches: 1.3.32;
Typo fix, from skrueger at europe com.
 1.2 14-Sep-2003  fvdl Make log1p and log1pf work in shared libraries again.
 1.1 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.3.32.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.5.18.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.7.8.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.7.2.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.9 03-Mar-2014  dsl Drop in a fabs() after the fsqrt().
While it may seem pointless, it the rouding mode is set to round towards
minus infinity then acos(-1) calculates atan2(sqrt(1.0 - 1.0), -1) the subtract
generates -0.0 which sqrt() preserves.
atan2(-0, -1) is -pi, but acos(-1) is expected to be +pi.
This might 'fix' the test failures seen in some environments, but they
are not failing due to an obvously incorrent x87 rounding mode.
 1.8 26-Jul-2003  salo branches: 1.8.54; 1.8.60;
netbsd.org->NetBSD.org
 1.7 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.6 26-Sep-2000  kleink Make these idempotent as far as the FPU register stack is concerned.
 1.5 02-Jul-1999  simonb branches: 1.5.8;
More trailing white space.
 1.4 08-May-1995  jtc Id -> NetBSD
 1.3 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.2 12-Mar-1994  jtc Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>.
 1.1 11-Feb-1994  jtc FPU specific math code.
 1.5.8.1 26-Sep-2000  kleink Pull up rev. 1.6 (approved by thorpej):
Make these idempotent as far as the FPU register stack is concerned.
 1.8.60.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8.54.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.7 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.6 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.5 26-Sep-2000  kleink Make these idempotent as far as the FPU register stack is concerned.
 1.4 08-May-1995  jtc branches: 1.4.16;
Id -> NetBSD
 1.3 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.2 12-Mar-1994  jtc Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>.
 1.1 11-Feb-1994  jtc FPU specific math code.
 1.4.16.1 26-Sep-2000  kleink Pull up rev. 1.5 (approved by thorpej):
Make these idempotent as far as the FPU register stack is concerned.
 1.6 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.5 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.4 08-May-1995  jtc Id -> NetBSD
 1.3 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.2 12-Mar-1994  jtc Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>.
 1.1 16-Feb-1994  jtc i387-specific math functions.
 1.3 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.2 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.1 08-May-1995  jtc i387 float version of atan2()
 1.14 23-Jun-2008  drochner -fix an obvious mistake in fpcw check
-replace ARG_DOUBLE_ONE_HALF by _MSW/_LSW because this reflects the
intention and also matches the terms used in C code,
also make the code where the fpcw overwrites the argument a bit
self-documenting
(this abstraction sucks because it forces to write inefficient code)
 1.13 23-Jun-2008  christos Share the amd64 and i386 exp versions. Fixes a problem with exp(-Inf) != 0.
 1.12 27-Feb-2002  christos branches: 1.12.34;
PR/15748: Ray Brownrigg: exp(log(0)) is broken.
Use FreeBSD's version. Handles inf/nan and rounding modes.
 1.11 19-Jun-2001  fvdl %rbp -> %rsp in 2 cases.
 1.10 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.9 26-Sep-2000  kleink Make these idempotent as far as the FPU register stack is concerned.
 1.8 02-Jul-1999  simonb branches: 1.8.8;
More trailing white space.
 1.7 03-Jul-1996  jtc use one less fp stack slot
 1.6 03-Jul-1996  jtc It's necessary to use 64 bit precision to avoid errors in the least
significant bit(s) (for some operands).
 1.5 25-Jun-1996  jtc Fix from Bruce Evans. Commited to FreeBSD earlier this month, but was
never forwarded to me :-(.

> Clean up the FP stack before returning. The i387 exp() leaked an FP
> register on its first call. Subsequent calls reused the register so
> the leak didn't accumulate.
 1.4 08-May-1995  jtc branches: 1.4.6;
Id -> NetBSD
 1.3 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.2 12-Mar-1994  jtc Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>.
 1.1 11-Feb-1994  jtc FPU specific math code.
 1.4.6.1 03-Jul-1996  jtc Pulled up from rev 1.7
 1.8.8.1 26-Sep-2000  kleink Pull up rev. 1.9 (approved by thorpej):
Make these idempotent as far as the FPU register stack is concerned.
 1.12.34.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.6 24-Jun-2008  drochner as in exp(), treat +/-Inf and NaN arguments specially, should fix
eg expf(-Inf) which was Nan previously
(We could avoid touching the i387 on amd64 in these cases, but we'd
need to bypass the ABI abstraction macros, so leave it the old way
for now.)
 1.5 26-Jul-2003  salo branches: 1.5.32;
netbsd.org->NetBSD.org
 1.4 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.3 26-Sep-2000  kleink Make these idempotent as far as the FPU register stack is concerned.
 1.2 02-Jul-1999  simonb branches: 1.2.8;
More trailing white space.
 1.1 03-Jul-1996  jtc Assembly versions of expf(), logf(),log10f(), scalbf(), expm1() and expm1f().
 1.2.8.1 26-Sep-2000  kleink Pull up rev. 1.3 (approved by thorpej):
Make these idempotent as far as the FPU register stack is concerned.
 1.5.32.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.7 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.6 25-Jun-2001  fvdl Oops, when I replaced sahf with a btw, I made it test the wrong bit
(2 vs. 10).
 1.5 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.4 08-May-1995  jtc Id -> NetBSD
 1.3 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.2 12-Mar-1994  jtc Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>.
 1.1 04-Mar-1994  jtc More i387 libm support.
 1.6 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.5 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.4 08-May-1995  jtc Id -> NetBSD
 1.3 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.2 12-Mar-1994  jtc Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>.
 1.1 11-Feb-1994  jtc FPU specific math code.
 1.6 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.5 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.4 08-May-1995  jtc Id -> NetBSD
 1.3 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.2 12-Mar-1994  jtc Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>.
 1.1 11-Feb-1994  jtc FPU specific math code.
 1.3 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.2 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.1 03-Jul-1996  jtc Assembly versions of expf(), logf(),log10f(), scalbf(), expm1() and expm1f().
 1.1 21-Jul-2005  rpaulo Add i387 FPU routines for log2(3) and log2f(3).

ok christos@
 1.1 21-Jul-2005  rpaulo Add i387 FPU routines for log2(3) and log2f(3).

ok christos@
 1.4 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.3 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.2 06-Jul-1996  jtc Fix typo
 1.1 03-Jul-1996  jtc Assembly versions of expf(), logf(),log10f(), scalbf(), expm1() and expm1f().
 1.7 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.6 25-Jun-2001  fvdl 2 more bitnumber mistakes fixed while removing sahf.
 1.5 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.4 08-May-1995  jtc Id -> NetBSD
 1.3 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.2 12-Mar-1994  jtc Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>.
 1.1 04-Mar-1994  jtc More i387 libm support.
 1.5 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.4 25-Jun-2001  fvdl 2 more bitnumber mistakes fixed while removing sahf.
 1.3 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.2 08-May-1995  jtc Id -> NetBSD
 1.1 03-May-1995  jtc Added i387 remainderf and sqrtf
 1.7 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.6 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.5 02-Jan-1999  kristerw The scalb* functions left data on the floting point register stack.
Remove it before leaving the function.

The solution is taken from OpenBSD.
 1.4 08-May-1995  jtc Id -> NetBSD
 1.3 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.2 12-Mar-1994  jtc Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>.
 1.1 12-Feb-1994  jtc More i387 math support, too bad we can't enable it
 1.3 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.2 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.1 03-Jul-1996  jtc Assembly versions of expf(), logf(),log10f(), scalbf(), expm1() and expm1f().
 1.6 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.5 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.4 08-May-1995  jtc Id -> NetBSD
 1.3 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.2 12-Mar-1994  jtc Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>.
 1.1 11-Feb-1994  jtc FPU specific math code.
 1.4 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.3 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.2 08-May-1995  jtc Id -> NetBSD
 1.1 03-May-1995  jtc Added i387 remainderf and sqrtf
 1.1 06-Jun-2008  ad branches: 1.1.2; 1.1.4;
Use a dummy assembly file so we won't try produce lint stuff.
 1.1.4.2 23-Jun-2008  wrstuden Add files to branch that were added on -current.

After this, all that's left of update is to merge some changes
that had conflicts.
 1.1.4.1 06-Jun-2008  wrstuden file empty.S was added on branch wrstuden-revivesa on 2008-06-23 05:02:11 +0000
 1.1.2.2 17-Jun-2008  yamt sync with head.
 1.1.2.1 06-Jun-2008  yamt file empty.S was added on branch yamt-pf42 on 2008-06-17 09:13:39 +0000
 1.2 06-Jun-2008  ad Use a dummy assembly file so we won't try produce lint stuff.
 1.1 04-Jun-2008  ad Forgot to add this yesterday.
 1.10 03-Sep-2021  andvar fix typos in comments, mainly s/extention/extension/ and s/sufficent/sufficient/
 1.9 25-Jan-2018  christos use named initializers
 1.8 22-Mar-2017  chs provide a common softfloat fenv implemenation and use it for softfloat builds.
restore ABI compatibility with previous releases for ieeefp.h on sh3.
add namespace.h protection for all the fenv interfaces.
use MKSOFTFLOAT on sh3 instead of assuming softfloat.
standardize on comparing MKSOFTFLOAT with "no".
remove the arm-specific softfloat fenv code (which also had several bugs).
fix logic errors in the arm hardfloat feraiseexcept() and feupdateenv().
 1.7 17-Feb-2016  christos branches: 1.7.2; 1.7.4;
PR/50822: David Binderman: Fix copy length.
 1.6 11-Nov-2013  joerg Preserve the initial x87 control word in the global FP environment
in preparation for adjusting the default based on the main binary
version.
 1.5 29-May-2013  riastradh Fix sense of fegetexcept on x86.

Somehow I overlooked this when I fixed feenableexcept and
fedisableexcept last summer.

XXX pullup to 6
 1.4 04-Aug-2012  riastradh branches: 1.4.2;
Mask off the result of feenableexcept and fedisableexcept on x86.

These shouldn't return bits outside FE_ALL_EXCEPT.
 1.3 01-Aug-2010  taca branches: 1.3.6; 1.3.8;
Fix compile error.
 1.2 31-Jul-2010  joerg Fix merge error: drop machine from an older workaround for machine.sse
under compat32, drop the assertion, initialize oldlen.
 1.1 31-Jul-2010  joerg Add support for fenv.h interface for i386 and amd64.

Submitted by Stathis Kamperis as part of GSoC 2010 and ported from
FreeBSD.
 1.3.8.2 13-Jun-2013  msaitoh Pull up following revision(s) (requested by riastradh in ticket #899):
lib/libm/arch/i387/fenv.c: revision 1.5
lib/libm/arch/x86_64/fenv.c: revision 1.3-1.4
Fix amd64 feraiseexcept so that it actually traps.
The call to fwait got lost somewhere along the line; the i387 code has it.
Fix sense of fegetexcept on x86.
Somehow I overlooked this when I fixed feenableexcept and fedisableexcept
last summer.
 1.3.8.1 12-Aug-2012  martin branches: 1.3.8.1.4; 1.3.8.1.6;
Pull up following revision(s) (requested by riastradh in ticket #477):
lib/libm/arch/i387/fenv.c: revision 1.4
lib/libm/arch/x86_64/fenv.c: revision 1.2
Mask off the result of feenableexcept and fedisableexcept on x86.
These shouldn't return bits outside FE_ALL_EXCEPT.
 1.3.8.1.6.1 14-Jun-2013  msaitoh Pull up following revision(s) (requested by riastradh in ticket #899):
lib/libm/arch/i387/fenv.c: revision 1.5
lib/libm/arch/x86_64/fenv.c: revision 1.3-1.4
Fix amd64 feraiseexcept so that it actually traps.
The call to fwait got lost somewhere along the line; the i387 code has it.
Fix sense of fegetexcept on x86.
Somehow I overlooked this when I fixed feenableexcept and fedisableexcept
last summer.
 1.3.8.1.4.1 14-Jun-2013  msaitoh Pull up following revision(s) (requested by riastradh in ticket #899):
lib/libm/arch/i387/fenv.c: revision 1.5
lib/libm/arch/x86_64/fenv.c: revision 1.3-1.4
Fix amd64 feraiseexcept so that it actually traps.
The call to fwait got lost somewhere along the line; the i387 code has it.
Fix sense of fegetexcept on x86.
Somehow I overlooked this when I fixed feenableexcept and fedisableexcept
last summer.
 1.3.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.3.6.1 30-Oct-2012  yamt sync with head
 1.4.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.2.1 23-Jun-2013  tls resync from head
 1.7.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.7.2.1 26-Apr-2017  pgoyette Sync with HEAD
 1.2 13-Oct-2004  drochner add licenses
 1.1 01-Jul-2004  drochner provide an assembler implementation of lrint() for i386 and amd64
 1.1 24-Nov-2024  riastradh branches: 1.1.4;
libm387: Add (intentionally empty!) exported symbol list.

This library has been an empty stub since 2008, probably won't serve
any useful purpose in the future, but let's make sure it doesn't
accidentally sprout anything.

PR lib/58838: shared libraries in base should all have expsym lists
 1.1.4.2 02-Aug-2025  perseant Sync with HEAD
 1.1.4.1 24-Nov-2024  perseant file m387.expsym was added on branch perseant-exfatfs on 2025-08-02 05:54:50 +0000
 1.8 09-Jun-2024  riastradh libm: Sprinkle whitespace fixes and rcsids on inverse trig functions.

No functional change intended.
 1.7 09-Jun-2024  riastradh libm: Do the weak alias dance for asin, acos, atan.

These are used internally by the complex trig functions, so they need
weak aliases.
 1.6 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.5 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.4 08-May-1995  jtc Id -> NetBSD
 1.3 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.2 12-Mar-1994  jtc Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>.
 1.1 12-Feb-1994  jtc More i387 math support, too bad we can't enable it
 1.7 09-Jun-2024  riastradh libm: Sprinkle whitespace fixes and rcsids on inverse trig functions.

No functional change intended.
 1.6 09-Jun-2024  riastradh libm: Do the weak alias dance for asin, acos, atan.

These are used internally by the complex trig functions, so they need
weak aliases.
 1.5 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.4 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.3 08-May-1995  jtc Id -> NetBSD
 1.2 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.1 19-Aug-1994  jtc Assembly language versions of some of the "float" functions.
 1.9 04-Apr-2022  andvar fix various typos, mainly in comments.
 1.8 18-Jun-2011  joerg Kill redundant ;
 1.7 26-Jul-2003  salo branches: 1.7.52;
netbsd.org->NetBSD.org
 1.6 26-Mar-2002  fvdl Fix stack usage for temporary storage. From Stephen Ma in PR xsrc/15404.
 1.5 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.4 08-May-1995  jtc branches: 1.4.16;
Id -> NetBSD
 1.3 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.2 12-Mar-1994  jtc Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>.
 1.1 11-Feb-1994  jtc FPU specific math code.
 1.4.16.1 28-Mar-2002  he Pull up revision 1.6 (requested by fvdl):
Fix stack usage so that a signal delivered in ceil() or floor()
no longer corrupts the stack.
 1.7.52.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.10 04-Apr-2022  andvar fix various typos, mainly in comments.
 1.9 18-Jun-2011  joerg Kill redundant ;
 1.8 16-Jul-2004  drochner branches: 1.8.46;
amd64: stack sanity, leave the return PC alone
 1.7 26-Jul-2003  salo branches: 1.7.2;
netbsd.org->NetBSD.org
 1.6 30-Mar-2002  fvdl Fix mistake in previous.
 1.5 26-Mar-2002  fvdl Fix stack usage for temporary storage. From Stephen Ma in PR xsrc/15404.
 1.4 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.3 08-May-1995  jtc branches: 1.3.16;
Id -> NetBSD
 1.2 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.1 19-Aug-1994  jtc Assembly language versions of some of the "float" functions.
 1.3.16.2 30-Mar-2002  he Pull up revision 1.6 (requested by fvdl):
Fix stack usage so that a signal delivered in ceil() or floor()
no longer corrupts the stack.
(This corrects an error in the earlier pull-up.)
 1.3.16.1 28-Mar-2002  he Pull up revision 1.5 (requested by fvdl):
Fix stack usage so that a signal delivered in ceil() or floor()
no longer corrupts the stack.
 1.7.2.1 19-Jul-2004  tron Pull up revision 1.8 (requested by drochner in ticket #679):
amd64: stack sanity, leave the return PC alone
 1.8.46.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.7 18-Jun-2011  joerg Switch to SSE code, since our gas supports it now.
 1.6 26-Jul-2003  salo branches: 1.6.52;
netbsd.org->NetBSD.org
 1.5 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.4 08-May-1995  jtc Id -> NetBSD
 1.3 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.2 12-Mar-1994  jtc Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>.
 1.1 12-Feb-1994  jtc More i387 math support, too bad we can't enable it
 1.6.52.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.7 21-Jun-2011  joerg Actually used SSE branch. Noticed by enami@
 1.6 18-Jun-2011  joerg Switch to SSE code, since our gas supports it now.
 1.5 26-Jul-2003  salo branches: 1.5.52;
netbsd.org->NetBSD.org
 1.4 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.3 08-May-1995  jtc Id -> NetBSD
 1.2 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.1 19-Aug-1994  jtc Assembly language versions of some of the "float" functions.
 1.5.52.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.9 26-Apr-2019  maya Remove unused 387 implementations.

These were removed from the build for being wrong, but the implementation
stayed around. This is confusing, we have the attic for old code,
let's delete the unused implementations.
 1.8 26-Jul-2003  salo branches: 1.8.96;
netbsd.org->NetBSD.org
 1.7 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.6 02-Jul-1999  simonb More trailing white space.
 1.5 08-May-1995  jtc Id -> NetBSD
 1.4 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.3 12-Mar-1994  jtc Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>.
 1.2 18-Feb-1994  jtc Optimize the common case (theta < 2^63).
 1.1 16-Feb-1994  jtc i387-specific math functions.
 1.8.96.1 10-Jun-2019  christos Sync with HEAD
 1.7 26-Apr-2019  maya Remove unused 387 implementations.

These were removed from the build for being wrong, but the implementation
stayed around. This is confusing, we have the attic for old code,
let's delete the unused implementations.
 1.6 26-Jul-2003  salo branches: 1.6.96;
netbsd.org->NetBSD.org
 1.5 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.4 02-Jul-1999  simonb More trailing white space.
 1.3 08-May-1995  jtc Id -> NetBSD
 1.2 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.1 19-Aug-1994  jtc Assembly language versions of some of the "float" functions.
 1.6.96.1 10-Jun-2019  christos Sync with HEAD
 1.2 03-Jul-1996  jtc this simple adaptation exp() does not work
 1.1 03-Jul-1996  jtc Assembly versions of expf(), logf(),log10f(), scalbf(), expm1() and expm1f().
 1.2 03-Jul-1996  jtc this simple adaptation exp() does not work
 1.1 03-Jul-1996  jtc Assembly versions of expf(), logf(),log10f(), scalbf(), expm1() and expm1f().
 1.8 08-May-2024  riastradh libm/arch/i387: Do the weak alias dance for finite and finitef.

These are used internally by some things.
 1.7 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.6 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.5 04-Jun-1996  jtc Use setne instead of setnel, new versions of gas balk at the bad mnemonic.
Wrong mask was used in s_finitef.S.
 1.4 08-May-1995  jtc branches: 1.4.6;
Id -> NetBSD
 1.3 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.2 12-Mar-1994  jtc Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>.
 1.1 12-Feb-1994  jtc More i387 math support, too bad we can't enable it
 1.4.6.1 04-Jun-1996  jtc Pull up changes from vers 1.5
 1.7 08-May-2024  riastradh libm/arch/i387: Do the weak alias dance for finite and finitef.

These are used internally by some things.
 1.6 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.5 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.4 04-Jun-1996  jtc Use setne instead of setnel, new versions of gas balk at the bad mnemonic.
Wrong mask was used in s_finitef.S.
 1.3 09-May-1995  jtc branches: 1.3.6;
Id -> NetBSD
 1.2 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.1 19-Aug-1994  jtc Assembly language versions of some of the "float" functions.
 1.3.6.1 04-Jun-1996  jtc Pull up changes from vers 1.4
 1.10 04-Apr-2022  andvar fix various typos, mainly in comments.
 1.9 18-Jun-2011  joerg Kill redundant ;
 1.8 26-Jul-2003  salo branches: 1.8.52;
netbsd.org->NetBSD.org
 1.7 26-Mar-2002  fvdl Fix stack usage for temporary storage. From Stephen Ma in PR xsrc/15404.
 1.6 19-Jun-2001  fvdl %rbp -> %rsp in 2 cases.
 1.5 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.4 09-May-1995  jtc branches: 1.4.16;
Id -> NetBSD
 1.3 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.2 12-Mar-1994  jtc Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>.
 1.1 11-Feb-1994  jtc FPU specific math code.
 1.4.16.1 28-Mar-2002  he Pull up revision 1.7 (requested by fvdl):
Fix stack usage so that a signal delivered in ceil() or floor()
no longer corrupts the stack.
 1.8.52.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.9 04-Apr-2022  andvar fix various typos, mainly in comments.
 1.8 18-Jun-2011  joerg Kill redundant ;
 1.7 16-Jul-2004  drochner branches: 1.7.46;
amd64: stack sanity, leave the return PC alone
 1.6 26-Jul-2003  salo branches: 1.6.2;
netbsd.org->NetBSD.org
 1.5 26-Mar-2002  fvdl Fix stack usage for temporary storage. From Stephen Ma in PR xsrc/15404.
 1.4 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.3 09-May-1995  jtc branches: 1.3.16;
Id -> NetBSD
 1.2 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.1 19-Aug-1994  jtc Assembly language versions of some of the "float" functions.
 1.3.16.1 28-Mar-2002  he Pull up revision 1.5 (requested by fvdl):
Fix stack usage so that a signal delivered in ceil() or floor()
no longer corrupts the stack.
 1.6.2.1 19-Jul-2004  tron Pull up revision 1.7 (requested by drochner in ticket #679):
amd64: stack sanity, leave the return PC alone
 1.7.46.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.8 26-Apr-2019  maya Remove unused 387 implementations.

These were removed from the build for being wrong, but the implementation
stayed around. This is confusing, we have the attic for old code,
let's delete the unused implementations.
 1.7 26-Jul-2003  salo branches: 1.7.96;
netbsd.org->NetBSD.org
 1.6 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.5 12-Oct-1995  jtc Fix from Jochen Pohl, i387 version of ilogb didn't set up the stack
frame correctly (PR #1590).
 1.4 09-May-1995  jtc branches: 1.4.2;
Id -> NetBSD
 1.3 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.2 12-Mar-1994  jtc Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>.
 1.1 18-Feb-1994  jtc i387 specific ilogb()
 1.4.2.1 22-Oct-1995  pk Update from trunk
 1.7.96.1 10-Jun-2019  christos Sync with HEAD
 1.7 26-Apr-2019  maya Remove unused 387 implementations.

These were removed from the build for being wrong, but the implementation
stayed around. This is confusing, we have the attic for old code,
let's delete the unused implementations.
 1.6 26-Jul-2003  salo branches: 1.6.96;
netbsd.org->NetBSD.org
 1.5 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.4 22-Oct-1995  pk Setup stack-frame correctly (same as s_ilogb.S).
 1.3 09-May-1995  jtc branches: 1.3.2;
Id -> NetBSD
 1.2 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.1 19-Aug-1994  jtc Assembly language versions of some of the "float" functions.
 1.3.2.1 22-Oct-1995  pk Update from trunk
 1.6.96.1 10-Jun-2019  christos Sync with HEAD
 1.1 28-Jul-2011  joerg Add ilogbl(3).
 1.14 16-Jul-2024  riastradh libm: Fix log-related symbol aliases.

- Do the weak alias dance for log, log2, log10, log1p, and their
f/l variants.

(Not strictly necessary for log2 and log10 since nothing in the
math library itself uses them -- only a computer scientist would
use log2 and only an engineer would use log10 -- but let's just do
it the same for all our forestry.)

- Provide long double aliases on vax.

- Sprinkle RCS ids.
 1.13 16-Sep-2003  wennmach branches: 1.13.108;
Avoid the PIC dance.
 1.12 14-Sep-2003  fvdl Make log1p and log1pf work in shared libraries again.
 1.11 10-Sep-2003  wennmach Reimplement s_log1p.S and s_log1pf.S to use the fyl2xp1 instruction
where necessary.

The log1p() function is provided to compute an accurate value of
log(1 + x), even for tiny values of x. The i387 FPU provides the
fyl2xp1 instruction for this purpose.

However, since the range of the fyl2xp1 function is limited to
-(1 - (sqrt(2) / 2)) <= x <= sqrt(2) - 1
(-0.292893 <= x <= 0.414214)
we need to check if the argument is in the valid range.

In order to reduce the cost for testing the range, we only use
fyl2xp1 if the argument is in the range
-0.25 <= x <= 0.25
which can be checked with just one conditional branch.

Fixes PR lib/22599 by Ray Brownrigg.
 1.10 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.9 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.8 02-Jul-1999  simonb More trailing white space.
 1.7 09-May-1995  jtc Id -> NetBSD
 1.6 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.5 26-Aug-1994  jtc Remove lie (in a comment) about conversion between 80 bit ot 64 bit reals,
since we set up the fpu to do all calculations in 64 bit mode at this time.
 1.4 19-Aug-1994  jtc The fyl2xp1 instruction has a limited range:
-(1 - (sqrt(2) / 2)) <= x <= sqrt(2) - 1
so we can't use it.

Also, I'm not sure fyl2xp1's extra precision will
matter once the result is converted from extended
real (80 bits) back to double real (64 bits).
 1.3 18-Aug-1994  jtc Major Bogon: change %ebp to %esp, as I don't set up a stack frame.
 1.2 12-Mar-1994  jtc branches: 1.2.2;
Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>.
 1.1 12-Feb-1994  jtc More i387 math support, too bad we can't enable it
 1.2.2.2 26-Aug-1994  mycroft update from trunk
 1.2.2.1 18-Aug-1994  mycroft update from trunk
 1.13.108.1 02-Aug-2025  perseant Sync with HEAD
 1.11 16-Jul-2024  riastradh libm: Fix log-related symbol aliases.

- Do the weak alias dance for log, log2, log10, log1p, and their
f/l variants.

(Not strictly necessary for log2 and log10 since nothing in the
math library itself uses them -- only a computer scientist would
use log2 and only an engineer would use log10 -- but let's just do
it the same for all our forestry.)

- Provide long double aliases on vax.

- Sprinkle RCS ids.
 1.10 16-Sep-2003  wennmach branches: 1.10.108;
Avoid the PIC dance.
 1.9 14-Sep-2003  fvdl Make log1p and log1pf work in shared libraries again.
 1.8 10-Sep-2003  wennmach Reimplement s_log1p.S and s_log1pf.S to use the fyl2xp1 instruction
where necessary.

The log1p() function is provided to compute an accurate value of
log(1 + x), even for tiny values of x. The i387 FPU provides the
fyl2xp1 instruction for this purpose.

However, since the range of the fyl2xp1 function is limited to
-(1 - (sqrt(2) / 2)) <= x <= sqrt(2) - 1
(-0.292893 <= x <= 0.414214)
we need to check if the argument is in the valid range.

In order to reduce the cost for testing the range, we only use
fyl2xp1 if the argument is in the range
-0.25 <= x <= 0.25
which can be checked with just one conditional branch.

Fixes PR lib/22599 by Ray Brownrigg.
 1.7 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.6 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.5 02-Jul-1999  simonb More trailing white space.
 1.4 09-May-1995  jtc Id -> NetBSD
 1.3 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.2 26-Aug-1994  jtc Remove lie (in a comment) about conversion between 80 bit ot 64 bit reals,
since we set up the fpu to do all calculations in 64 bit mode at this time.
 1.1 19-Aug-1994  jtc Assembly language versions of some of the "float" functions.
 1.10.108.1 02-Aug-2025  perseant Sync with HEAD
 1.6 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.5 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.4 09-May-1995  jtc Id -> NetBSD
 1.3 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.2 12-Mar-1994  jtc Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>.
 1.1 12-Feb-1994  jtc More i387 math support, too bad we can't enable it
 1.5 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.4 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.1 19-Aug-1994  jtc Assembly language versions of some of the "float" functions.
 1.1 03-Aug-2011  joerg Add logbl(3).
 1.2 26-Apr-2019  maya Remove unused 387 implementations.

These were removed from the build for being wrong, but the implementation
stayed around. This is confusing, we have the attic for old code,
let's delete the unused implementations.
 1.1 22-Mar-2006  drochner branches: 1.1.84;
merge libc/arch/{i386,x86_64}/gen/modf.S into one
(not quite a merge actually, just an #ifdef for now)
and build it in the i386 case (amd64 should work, just needs to be tested)
That way, a program linking against libm should get the optimized
version as expected.
 1.1.84.1 10-Jun-2019  christos Sync with HEAD
 1.6 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.5 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.4 09-May-1995  jtc Id -> NetBSD
 1.3 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.2 12-Mar-1994  jtc Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>.
 1.1 11-Feb-1994  jtc FPU specific math code.
 1.5 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.4 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.1 19-Aug-1994  jtc Assembly language versions of some of the "float" functions.
 1.1 05-May-2024  riastradh libm: New s_rintl.S for x86.

Prompted by PR lib/58054.
 1.2 28-Apr-2013  joerg Drop s_scalbnl.c (and s_scalbln.S as side effect) and provide scalbnl in
s_scalbln.c.
 1.1 27-Apr-2013  joerg Add a dummy s_scalbln.S to avoid the generic implementations of scalbln
and co on i386 and amd64. They are implemented next to scalbn and co.
 1.14 20-May-2013  joerg Fix ldexp aliases.
 1.13 20-May-2013  mlelstv Use correct alias for scalbn(). Tested by martin@.
 1.12 27-Apr-2013  joerg Add aliases for scalbn* to ldexp, they are identical for FLT_RADIX=2.
 1.11 27-Apr-2013  joerg Use the correct register on AMD64 for the argument.
 1.10 11-Feb-2013  matt Add long double version of x86 scalb functions
 1.9 23-Apr-2010  drochner branches: 1.9.6; 1.9.12;
-build ldexp/frexp/modf locally again rather than relying on libc
reaching over, to get things into a sane state,
-do the usual namespace protection game with scalbn(f) because it
is used internally
(more symbol renamings are necessary)

The weak_alias change for mc68881 is untested.
 1.8 21-Mar-2006  drochner The second argument is not a float, so the "abi.h" abstraction
doesn't work.
Open-code the argument handling instead.
Should fix the ldexp() bug reported by Brendon Costa in port-amd64.
 1.7 26-Jul-2003  salo branches: 1.7.4; 1.7.6; 1.7.10;
netbsd.org->NetBSD.org
 1.6 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.5 02-Jan-1999  kristerw The scalb* functions left data on the floting point register stack.
Remove it before leaving the function.

The solution is taken from OpenBSD.
 1.4 09-May-1995  jtc Id -> NetBSD
 1.3 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.2 12-Mar-1994  jtc Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>.
 1.1 12-Feb-1994  jtc More i387 math support, too bad we can't enable it
 1.7.10.1 26-Jul-2006  tron Pull up following revision(s) (requested by drochner in ticket #1236):
lib/libm/arch/i387/s_scalbn.S: revision 1.8
lib/libm/arch/i387/s_scalbnf.S: revision 1.7
The second argument is not a float, so the "abi.h" abstraction
doesn't work.
Open-code the argument handling instead.
Should fix the ldexp() bug reported by Brendon Costa in port-amd64.
 1.7.6.1 04-Apr-2006  tron Pull up following revision(s) (requested by drochner in ticket #1236):
lib/libm/arch/i387/s_scalbn.S: revision 1.8
lib/libm/arch/i387/s_scalbnf.S: revision 1.7
The second argument is not a float, so the "abi.h" abstraction
doesn't work.
Open-code the argument handling instead.
Should fix the ldexp() bug reported by Brendon Costa in port-amd64.
 1.7.4.1 21-Apr-2006  tron Pull up following revision(s) (requested by drochner in ticket #10412):
lib/libm/arch/i387/s_scalbn.S: revision 1.8
lib/libm/arch/i387/s_scalbnf.S: revision 1.7
The second argument is not a float, so the "abi.h" abstraction
doesn't work.
Open-code the argument handling instead.
Should fix the ldexp() bug reported by Brendon Costa in port-amd64.
 1.9.12.2 23-Jun-2013  tls resync from head
 1.9.12.1 25-Feb-2013  tls resync with head
 1.9.6.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.14 20-May-2013  mlelstv Correctly alias the ldexp* functions to the scalbn equivalents
that take an int argument.
 1.13 27-Apr-2013  joerg Add aliases for scalbn* to ldexp, they are identical for FLT_RADIX=2.
 1.12 27-Apr-2013  joerg Use the correct register on AMD64 for the argument.
 1.11 12-Feb-2013  matt Fix the strong alias correctly this time.
 1.10 11-Feb-2013  matt Fix strong_alias
 1.9 11-Feb-2013  matt Add long double version of x86 scalb functions
 1.8 23-Apr-2010  drochner branches: 1.8.6; 1.8.12;
-build ldexp/frexp/modf locally again rather than relying on libc
reaching over, to get things into a sane state,
-do the usual namespace protection game with scalbn(f) because it
is used internally
(more symbol renamings are necessary)

The weak_alias change for mc68881 is untested.
 1.7 21-Mar-2006  drochner The second argument is not a float, so the "abi.h" abstraction
doesn't work.
Open-code the argument handling instead.
Should fix the ldexp() bug reported by Brendon Costa in port-amd64.
 1.6 26-Jul-2003  salo branches: 1.6.4; 1.6.6; 1.6.10;
netbsd.org->NetBSD.org
 1.5 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.4 02-Jan-1999  kristerw The scalb* functions left data on the floting point register stack.
Remove it before leaving the function.

The solution is taken from OpenBSD.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.1 19-Aug-1994  jtc Assembly language versions of some of the "float" functions.
 1.6.10.1 26-Jul-2006  tron Pull up following revision(s) (requested by drochner in ticket #1236):
lib/libm/arch/i387/s_scalbn.S: revision 1.8
lib/libm/arch/i387/s_scalbnf.S: revision 1.7
The second argument is not a float, so the "abi.h" abstraction
doesn't work.
Open-code the argument handling instead.
Should fix the ldexp() bug reported by Brendon Costa in port-amd64.
 1.6.6.1 04-Apr-2006  tron Pull up following revision(s) (requested by drochner in ticket #1236):
lib/libm/arch/i387/s_scalbn.S: revision 1.8
lib/libm/arch/i387/s_scalbnf.S: revision 1.7
The second argument is not a float, so the "abi.h" abstraction
doesn't work.
Open-code the argument handling instead.
Should fix the ldexp() bug reported by Brendon Costa in port-amd64.
 1.6.4.1 21-Apr-2006  tron Pull up following revision(s) (requested by drochner in ticket #10412):
lib/libm/arch/i387/s_scalbn.S: revision 1.8
lib/libm/arch/i387/s_scalbnf.S: revision 1.7
The second argument is not a float, so the "abi.h" abstraction
doesn't work.
Open-code the argument handling instead.
Should fix the ldexp() bug reported by Brendon Costa in port-amd64.
 1.8.12.2 23-Jun-2013  tls resync from head
 1.8.12.1 25-Feb-2013  tls resync with head
 1.8.6.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.5 20-May-2013  mlelstv Correctly alias the ldexp* functions to the scalbn equivalents
that take an int argument.
 1.4 27-Apr-2013  joerg Use the correct register on AMD64 for the argument.
 1.3 11-Feb-2013  christos provide ldexpl
 1.2 11-Feb-2013  matt Add long double version of x86 scalb functions
 1.1 26-Jul-2011  joerg branches: 1.1.2; 1.1.8;
Add optimised version of scalbnl for x86.
 1.1.8.2 23-Jun-2013  tls resync from head
 1.1.8.1 25-Feb-2013  tls resync with head
 1.1.2.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.6 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.5 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.4 09-May-1995  jtc Id -> NetBSD
 1.3 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.2 12-Mar-1994  jtc Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>.
 1.1 10-Mar-1994  jtc Added i387 version of significand().
 1.5 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.4 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.1 19-Aug-1994  jtc Assembly language versions of some of the "float" functions.
 1.8 26-Apr-2019  maya Remove unused 387 implementations.

These were removed from the build for being wrong, but the implementation
stayed around. This is confusing, we have the attic for old code,
let's delete the unused implementations.
 1.7 26-Jul-2003  salo branches: 1.7.96;
netbsd.org->NetBSD.org
 1.6 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.5 09-May-1995  jtc Id -> NetBSD
 1.4 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.3 12-Mar-1994  jtc Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>.
 1.2 18-Feb-1994  jtc Optimize the common case (theta < 2^63).
 1.1 16-Feb-1994  jtc i387-specific math functions.
 1.7.96.1 10-Jun-2019  christos Sync with HEAD
 1.6 26-Apr-2019  maya Remove unused 387 implementations.

These were removed from the build for being wrong, but the implementation
stayed around. This is confusing, we have the attic for old code,
let's delete the unused implementations.
 1.5 26-Jul-2003  salo branches: 1.5.96;
netbsd.org->NetBSD.org
 1.4 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.1 19-Aug-1994  jtc Assembly language versions of some of the "float" functions.
 1.5.96.1 10-Jun-2019  christos Sync with HEAD
 1.8 26-Apr-2019  maya Remove unused 387 implementations.

These were removed from the build for being wrong, but the implementation
stayed around. This is confusing, we have the attic for old code,
let's delete the unused implementations.
 1.7 26-Jul-2003  salo branches: 1.7.96;
netbsd.org->NetBSD.org
 1.6 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.5 09-May-1995  jtc Id -> NetBSD
 1.4 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.3 12-Mar-1994  jtc Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>.
 1.2 18-Feb-1994  jtc Optimize the common case (theta < 2^63).
 1.1 16-Feb-1994  jtc i387-specific math functions.
 1.7.96.1 10-Jun-2019  christos Sync with HEAD
 1.6 26-Apr-2019  maya Remove unused 387 implementations.

These were removed from the build for being wrong, but the implementation
stayed around. This is confusing, we have the attic for old code,
let's delete the unused implementations.
 1.5 26-Jul-2003  salo branches: 1.5.96;
netbsd.org->NetBSD.org
 1.4 19-Jun-2001  fvdl Modify the i387 code so that it can be shared between the i386 port
and the x86_64 port. XXX some files should be distinct.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 28-Apr-1995  jtc Winning Strategies has placed this code into the Public Domain
 1.1 19-Aug-1994  jtc Assembly language versions of some of the "float" functions.
 1.5.96.1 10-Jun-2019  christos Sync with HEAD
 1.2 21-Jul-2005  rpaulo Bump minor version for log2{,f}.
 1.1 13-Dec-1999  christos branches: 1.1.2;
Makefile and shared library for libm387.
 1.1.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3 23-Mar-2017  chs branches: 1.3.2;
expose the BSD/linux fenv extensions in libm on ia64 too.
 1.2 22-Mar-2017  chs provide a common softfloat fenv implemenation and use it for softfloat builds.
restore ABI compatibility with previous releases for ieeefp.h on sh3.
add namespace.h protection for all the fenv interfaces.
use MKSOFTFLOAT on sh3 instead of assuming softfloat.
standardize on comparing MKSOFTFLOAT with "no".
remove the arm-specific softfloat fenv code (which also had several bugs).
fix logic errors in the arm hardfloat feraiseexcept() and feupdateenv().
 1.1 23-Feb-2017  scole branches: 1.1.2;
Add fenv for ia64, imported from FreeBSD, compile tested only.
 1.1.2.3 26-Apr-2017  pgoyette Sync with HEAD
 1.1.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.2.1 23-Feb-2017  pgoyette file fenv.c was added on branch pgoyette-localcount on 2017-03-20 06:56:59 +0000
 1.3.2.2 23-Mar-2017  chs 503162
 1.3.2.1 23-Mar-2017  chs file fenv.c was added on branch bouyer-socketcan on 2017-03-23 18:27:30 +0000
 1.5 07-May-2024  riastradh libm/arch/m68060/Makefile: bsd.sys.mk -> bsd.host.mk

Somewhat belatedly, after bsd.sys.mk was forbidden to use directly
from Makefiles back in 2014.
 1.4 26-Oct-2003  lukem Use ${HOST_SH} instead of `sh'.

If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
 1.3 19-Aug-2002  lukem Use ${NETBSDSRCDIR}/some/path instead of ${.CURDIR}/../../some/path (etc).
(Reduces make output by ~ 20%)
 1.2 14-Apr-2000  is Move original Motorola files to the "dist" subdirectory, in response
to PR 9626 by Kris Shannon.
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola 68060 floating point library support package based architecture
dependent code for libm. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.3 12-May-2000  is Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.2 21-Aug-1999  is Clarify instructions
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola 68060 floating point library support package based architecture
dependent code for libm. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.4 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.3 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.2 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.9 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.6 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.5 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.4 10-Nov-1999  thorpej Regen; add register prefixes.
 1.3 22-Aug-1999  is branches: 1.3.4;
*gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.3.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.16 07-May-2024  riastradh lib/libm/m68060/makeas.sh: Delimit symbols with END.

This way we get symbol sizes in the ELF output.
 1.15 07-May-2024  riastradh lib/libm/arch/m68060/makeas.sh: Create public weak aliases.

Use _foo for internal names, and weak alias foo when it's public like
sin/cos/tan.
 1.14 07-May-2024  riastradh lib/libm/m68060/makeas.sh: Use `set -eu' to detect script mistakes.

No functional change intended.
 1.13 07-May-2024  riastradh lib/libm/m68060/makeas.sh: Pass arguments to dummy more idiomatically.

No functional change intended.
 1.12 07-May-2024  riastradh lib/libm/m68060/makeas.sh: Use local for shell functions.

No functional change intended.
 1.11 07-May-2024  riastradh lib/libm/arch/m68060/makeas.sh: Indent sh blocks.

No functional change intended.
 1.10 07-May-2024  riastradh lib/libm/arch/m68060/makeas.sh: Strip the $ when emitting RCS id.
 1.9 07-May-2024  riastradh libm/arch/m68060/makeas.sh: Tag output with makeas.sh RCS id.

No functional change intended to the output -- only changes are to
comments.
 1.8 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.7 09-Nov-2009  is Move to two-clause license.
 1.6 16-May-2000  is Change libm-68060 internal, but file external labels (used for linkage between
wrapper functions and the Motorola code) to guarantee consistent protection
of the user namespace.
 1.5 12-May-2000  is Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.4 10-Nov-1999  thorpej Add register prefixes.
 1.3 22-Aug-1999  is branches: 1.3.4;
*gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola 68060 floating point library support package based architecture
dependent code for libm. Currently, easy functions only.
 1.3.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3 16-May-2000  is Change libm-68060 internal, but file external labels (used for linkage between
wrapper functions and the Motorola code) to guarantee consistent protection
of the user namespace.
 1.2 12-May-2000  is Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola 68060 floating point library support package based architecture
dependent code for libm. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.8 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.7 07-May-2024  riastradh lib/libm/arch/m68060: regen
 1.6 06-Jan-2010  phx Jump through the PLT in PIC mode to fix the DT_TEXTREL warning on creating
the shared object.
 1.5 16-May-2000  is Regenerate, after changing internal label used for linkage to the wrapper
scripts.
 1.4 12-May-2000  is Regenerated files after this change:
Move each wrapper function to its own source file, such that redefining one
function doesn't give link errors when another one is pulled in from the
library.
Problem discovered by Klaus Klein.
 1.3 22-Aug-1999  is *gamma* need k_sin*/k_cos*
 1.2 21-Aug-1999  is wrap lines in Makefile.list
 1.1 19-Aug-1999  is branches: 1.1.1;
Initial revision
 1.1.1.1 19-Aug-1999  is Motorola floating point library support package based architecture dependent
code for libm - generated files. Currently, easy functions only.
 1.3 26-Oct-2019  christos Separate the NetBSD-specific fenv functions from the standard ones.
No functional change.
 1.2 22-Mar-2017  chs branches: 1.2.12;
provide a common softfloat fenv implemenation and use it for softfloat builds.
restore ABI compatibility with previous releases for ieeefp.h on sh3.
add namespace.h protection for all the fenv interfaces.
use MKSOFTFLOAT on sh3 instead of assuming softfloat.
standardize on comparing MKSOFTFLOAT with "no".
remove the arm-specific softfloat fenv code (which also had several bugs).
fix logic errors in the arm hardfloat feraiseexcept() and feupdateenv().
 1.1 24-Dec-2015  christos branches: 1.1.2; 1.1.4;
add fenv for m68k
 1.1.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.2.1 26-Apr-2017  pgoyette Sync with HEAD
 1.2.12.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.9 10-Aug-2014  isaki Improve the code. %sp@(4) is already loaded in %fp0.
PR/49083 (2)
 1.8 10-Aug-2014  isaki Remove a meaningless conditional branch.
PR/49083 (1)
 1.7 07-Aug-2003  agc branches: 1.7.60;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.6 10-Nov-1999  thorpej Add register prefixes.
 1.5 21-Aug-1999  is branches: 1.5.4;
Copied from mc68881/s_ceil.S,v
 1.4 15-Aug-1999  kleink Make these SVR4 ABI ready.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 12-Mar-1994  jtc converted ceil(), floor(), & rint() from old to new math libraries.
 1.5.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.7.60.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.10 16-Nov-2014  joerg Deal with the potential pressence of long double support.
 1.9 15-Nov-2014  joerg It's copysign, not _copysign.
 1.8 15-Nov-2014  joerg Add copysignl aliases.
 1.7 07-Aug-2003  agc branches: 1.7.74;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.6 10-Nov-1999  thorpej Add register prefixes.
 1.5 21-Aug-1999  is branches: 1.5.4;
Copied from mc68881/s_copysign.S,v
 1.4 15-Aug-1999  kleink Make these SVR4 ABI ready.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 14-Feb-1994  jtc Functions brought over from the old math library.
 1.5.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.7.74.2 28-May-2015  martin Pull up the following revision, requested by joerg in #812:

src/lib/libm/arch/m68k/s_copysign.S 1.10

Deal with the potential pressence of long double support.
 1.7.74.1 27-May-2015  msaitoh Pull up following revision(s) (requested by joerg in ticket #808):
lib/libm/arch/alpha/s_copysign.S: revision 1.6
lib/libm/arch/alpha/s_copysign.S: revision 1.7
lib/libm/arch/m68k/s_copysign.S: revision 1.8
lib/libm/arch/m68k/s_copysign.S: revision 1.9
- Add copysignl aliases.
- It's copysign, not _copysign.
 1.8 08-May-2024  riastradh libm/arch/m68k: Do the weak alias dance for finite.

This is used internally.
 1.7 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.6 10-Nov-1999  thorpej Add register prefixes.
 1.5 21-Aug-1999  is branches: 1.5.4;
Copied from mc68881/s_finite.S,v
 1.4 26-Jun-1996  jtc we don't need to branch
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 14-Feb-1994  jtc Functions brought over from the old math library.
 1.5.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.9 10-Aug-2014  isaki Improve the code. %sp@(4) is already loaded in %fp0.
PR/49083 (2)
 1.8 10-Aug-2014  isaki Remove a meaningless conditional branch.
PR/49083 (1)
 1.7 07-Aug-2003  agc branches: 1.7.60;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.6 10-Nov-1999  thorpej Add register prefixes.
 1.5 21-Aug-1999  is branches: 1.5.4;
Copied from mc68881/s_floor.S,v
 1.4 15-Aug-1999  kleink Make these SVR4 ABI ready.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 12-Mar-1994  jtc converted ceil(), floor(), & rint() from old to new math libraries.
 1.5.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.7.60.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.7 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.6 10-Nov-1999  thorpej Add register prefixes.
 1.5 21-Aug-1999  is branches: 1.5.4;
Copied from mc68881/s_rint.S,v
 1.4 15-Aug-1999  kleink Make these SVR4 ABI ready.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 12-Mar-1994  jtc converted ceil(), floor(), & rint() from old to new math libraries.
 1.5.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.6 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.5 10-Nov-1999  thorpej Add register prefixes.
 1.4 15-Aug-1999  kleink branches: 1.4.4;
Make these SVR4 ABI ready.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 11-Feb-1994  jtc FPU specific math code.
 1.4.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.6 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.5 10-Nov-1999  thorpej Add register prefixes.
 1.4 15-Aug-1999  kleink branches: 1.4.4;
Make these SVR4 ABI ready.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 11-Feb-1994  jtc FPU specific math code.
 1.4.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.6 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.5 10-Nov-1999  thorpej Add register prefixes.
 1.4 15-Aug-1999  kleink branches: 1.4.4;
Make these SVR4 ABI ready.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 11-Feb-1994  jtc FPU specific math code.
 1.4.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.6 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.5 10-Nov-1999  thorpej Add register prefixes.
 1.4 15-Aug-1999  kleink branches: 1.4.4;
Make these SVR4 ABI ready.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 11-Feb-1994  jtc FPU specific math code.
 1.4.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.6 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.5 10-Nov-1999  thorpej Add register prefixes.
 1.4 15-Aug-1999  kleink branches: 1.4.4;
Make these SVR4 ABI ready.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 11-Feb-1994  jtc FPU specific math code.
 1.4.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.4 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.3 10-Nov-1999  thorpej Add register prefixes.
 1.2 15-Aug-1999  kleink branches: 1.2.4;
Make these SVR4 ABI ready.
 1.1 08-Jul-1996  thorpej Correct think-o; this is an assembler source file (and the Makefile
expected as such).
 1.2.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2 08-Jul-1996  thorpej Correct think-o; this is an assembler source file (and the Makefile
expected as such).
 1.1 26-Jun-1996  jtc add m68881 specific fmod()
 1.6 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.5 10-Nov-1999  thorpej Add register prefixes.
 1.4 15-Aug-1999  kleink branches: 1.4.4;
Make these SVR4 ABI ready.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 11-Feb-1994  jtc FPU specific math code.
 1.4.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.6 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.5 10-Nov-1999  thorpej Add register prefixes.
 1.4 15-Aug-1999  kleink branches: 1.4.4;
Make these SVR4 ABI ready.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 11-Feb-1994  jtc FPU specific math code.
 1.4.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.6 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.5 10-Nov-1999  thorpej Add register prefixes.
 1.4 15-Aug-1999  kleink branches: 1.4.4;
Make these SVR4 ABI ready.
 1.3 11-May-1995  jtc Winning Strategies has placed this code in the public domain.
 1.2 09-May-1995  jtc Id -> NetBSD
 1.1 18-Feb-1995  jtc 68881-assisted versions of these functions.
 1.4.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.9 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.8 31-Jan-2000  kleink G/c label orphaned since rev. 1.6.
 1.7 10-Nov-1999  thorpej Add register prefixes.
 1.6 21-Aug-1999  is branches: 1.6.4;
Same reason as for ldexp.S: most applications don't scale 0.0.
 1.5 15-Aug-1999  kleink Make these SVR4 ABI ready.
 1.4 11-May-1995  jtc Winning Strategies has placed this code in the public domain.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 18-Feb-1995  jtc Special case 0, as was done in s_scalbn.S.
I'm only doing this for consistancy --- someone really needs to measure
whether this optimization is justified.
 1.1 18-Feb-1995  jtc 68881-assisted versions of these functions.
 1.6.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.6 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.5 10-Nov-1999  thorpej Add register prefixes.
 1.4 15-Aug-1999  kleink branches: 1.4.4;
Make these SVR4 ABI ready.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 11-Feb-1994  jtc FPU specific math code.
 1.4.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.7 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.6 10-Nov-1999  thorpej Add register prefixes.
 1.5 15-Aug-1999  kleink branches: 1.5.4;
Make these SVR4 ABI ready.
 1.4 02-Jul-1999  simonb More trailing white space.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 12-Mar-1994  jtc The hardware sqrt function is supposed to be __ieee754_sqrt(), and live in
e_sqrt.S.
 1.5.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.7 09-Jun-2024  riastradh libm: Do the weak alias dance for asin, acos, atan.

These are used internally by the complex trig functions, so they need
weak aliases.
 1.6 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.5 10-Nov-1999  thorpej Add register prefixes.
 1.4 15-Aug-1999  kleink branches: 1.4.4;
Make these SVR4 ABI ready.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 11-Feb-1994  jtc FPU specific math code.
 1.4.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.5 22-Aug-1999  is Use arch/m68k copies of the common functions even for mc68881 hardware.
 1.4 15-Aug-1999  kleink Make these SVR4 ABI ready.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 12-Mar-1994  jtc converted ceil(), floor(), & rint() from old to new math libraries.
 1.5 22-Aug-1999  is Use arch/m68k copies of the common functions even for mc68881 hardware.
 1.4 15-Aug-1999  kleink Make these SVR4 ABI ready.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 14-Feb-1994  jtc Functions brought over from the old math library.
 1.7 08-May-2024  riastradh libm/arch/mc68881: Do the weak alias dance for sin, cos, tan.

These are used internally.
 1.6 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.5 10-Nov-1999  thorpej Add register prefixes.
 1.4 15-Aug-1999  kleink branches: 1.4.4;
Make these SVR4 ABI ready.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 11-Feb-1994  jtc FPU specific math code.
 1.4.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.6 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.5 10-Nov-1999  thorpej Add register prefixes.
 1.4 15-Aug-1999  kleink branches: 1.4.4;
Make these SVR4 ABI ready.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 11-Feb-1994  jtc FPU specific math code.
 1.4.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.5 22-Aug-1999  is Use arch/m68k copies of the common functions even for mc68881 hardware.
 1.4 26-Jun-1996  jtc we don't need to branch
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 14-Feb-1994  jtc Functions brought over from the old math library.
 1.5 22-Aug-1999  is Use arch/m68k copies of the common functions even for mc68881 hardware.
 1.4 15-Aug-1999  kleink Make these SVR4 ABI ready.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 12-Mar-1994  jtc converted ceil(), floor(), & rint() from old to new math libraries.
 1.7 16-Jul-2024  riastradh libm: Fix log-related symbol aliases.

- Do the weak alias dance for log, log2, log10, log1p, and their
f/l variants.

(Not strictly necessary for log2 and log10 since nothing in the
math library itself uses them -- only a computer scientist would
use log2 and only an engineer would use log10 -- but let's just do
it the same for all our forestry.)

- Provide long double aliases on vax.

- Sprinkle RCS ids.
 1.6 07-Aug-2003  agc branches: 1.6.108;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.5 10-Nov-1999  thorpej Add register prefixes.
 1.4 15-Aug-1999  kleink branches: 1.4.4;
Make these SVR4 ABI ready.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 11-Feb-1994  jtc FPU specific math code.
 1.4.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.6.108.1 02-Aug-2025  perseant Sync with HEAD
 1.7 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.6 10-Nov-1999  thorpej Add register prefixes.
 1.5 15-Aug-1999  kleink branches: 1.5.4;
Make these SVR4 ABI ready.
 1.4 09-May-1995  jtc Id -> NetBSD
 1.3 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.2 12-Mar-1994  jtc Replace code that was "truncated" when it was converted from old
math library.
 1.1 14-Feb-1994  jtc Functions brought over from the old math library.
 1.5.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.5 22-Aug-1999  is Use arch/m68k copies of the common functions even for mc68881 hardware.
 1.4 15-Aug-1999  kleink Make these SVR4 ABI ready.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 12-Mar-1994  jtc converted ceil(), floor(), & rint() from old to new math libraries.
 1.11 20-May-2013  mlelstv Correctly alias the ldexp* functions to the scalbn equivalents
that take an int argument.
 1.10 30-Apr-2013  joerg Provide scalbln weak alias. Fix argument order for STRONG_ALIAS.
Expect WEAK_ALIAS and STRONG_ALIAS to exist.
 1.9 27-Apr-2013  joerg Add aliases for scalbn* to ldexp, they are identical for FLT_RADIX=2.
 1.8 23-Apr-2010  drochner branches: 1.8.6; 1.8.12;
-build ldexp/frexp/modf locally again rather than relying on libc
reaching over, to get things into a sane state,
-do the usual namespace protection game with scalbn(f) because it
is used internally
(more symbol renamings are necessary)

The weak_alias change for mc68881 is untested.
 1.7 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.6 10-Nov-1999  thorpej Add register prefixes.
 1.5 15-Aug-1999  kleink branches: 1.5.4;
Make these SVR4 ABI ready.
 1.4 10-Oct-1997  is Same reason as for ldexp.S: most applications don't scale 0.0.
 1.3 09-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 14-Feb-1994  jtc Functions brought over from the old math library.
 1.5.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.8.12.1 23-Jun-2013  tls resync from head
 1.8.6.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.7 08-May-2024  riastradh libm/arch/mc68881: Do the weak alias dance for sin, cos, tan.

These are used internally.
 1.6 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.5 10-Nov-1999  thorpej Add register prefixes.
 1.4 15-Aug-1999  kleink branches: 1.4.4;
Make these SVR4 ABI ready.
 1.3 10-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 11-Feb-1994  jtc FPU specific math code.
 1.4.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2 12-Mar-1994  mycroft Clean up deleted files.
 1.1 11-Feb-1994  jtc FPU specific math code.
 1.7 08-May-2024  riastradh libm/arch/mc68881: Do the weak alias dance for sin, cos, tan.

These are used internally.
 1.6 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.5 10-Nov-1999  thorpej Add register prefixes.
 1.4 15-Aug-1999  kleink branches: 1.4.4;
Make these SVR4 ABI ready.
 1.3 10-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 11-Feb-1994  jtc FPU specific math code.
 1.4.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.6 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.5 10-Nov-1999  thorpej Add register prefixes.
 1.4 15-Aug-1999  kleink branches: 1.4.4;
Make these SVR4 ABI ready.
 1.3 10-May-1995  jtc Id -> NetBSD
 1.2 18-Mar-1994  jtc Use RCSID macro for RCS ID's.
 1.1 11-Feb-1994  jtc FPU specific math code.
 1.4.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3 22-Mar-2017  chs provide a common softfloat fenv implemenation and use it for softfloat builds.
restore ABI compatibility with previous releases for ieeefp.h on sh3.
add namespace.h protection for all the fenv interfaces.
use MKSOFTFLOAT on sh3 instead of assuming softfloat.
standardize on comparing MKSOFTFLOAT with "no".
remove the arm-specific softfloat fenv code (which also had several bugs).
fix logic errors in the arm hardfloat feraiseexcept() and feupdateenv().
 1.2 11-Jan-2016  christos branches: 1.2.2; 1.2.4;
fix lint build
 1.1 21-Dec-2015  christos Add mips fenv.c (From FreeBSD)
 1.2.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.2.2.1 26-Apr-2017  pgoyette Sync with HEAD
 1.2 22-Mar-2017  chs provide a common softfloat fenv implemenation and use it for softfloat builds.
restore ABI compatibility with previous releases for ieeefp.h on sh3.
add namespace.h protection for all the fenv interfaces.
use MKSOFTFLOAT on sh3 instead of assuming softfloat.
standardize on comparing MKSOFTFLOAT with "no".
remove the arm-specific softfloat fenv code (which also had several bugs).
fix logic errors in the arm hardfloat feraiseexcept() and feupdateenv().
 1.1 20-Dec-2015  christos branches: 1.1.2; 1.1.4;
Powerpc fenv.c from FreeBSD
 1.1.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.2.1 26-Apr-2017  pgoyette Sync with HEAD
 1.1 23-Jun-2022  martin Use "fmadd" to implement fma(3) on ppc.
 1.1 23-Jun-2022  martin Use "fmadd" to implement fma(3) on ppc.
 1.2 27-Mar-2015  matt Update to new RISCV ABI
 1.1 19-Sep-2014  matt New files for Userland support of UCB RISC-V (both 32-bit and 64-bit)
 1.2 27-Mar-2015  matt Update to new RISCV ABI
 1.1 19-Sep-2014  matt New files for Userland support of UCB RISC-V (both 32-bit and 64-bit)
 1.5 17-May-2024  riastradh riscv: Make feraiseexcept actually raise the given exceptions.

Doing

fexcept_t ex = 0;
fesetexceptflag(&ex, excepts);

has the effect of _clearing_ all the exceptions in excepts. Using
fesetexceptflag doesn't make this easier, because we would have to
record which exceptions were already raised. So just set the fflags
bits in the fcsr register directly.
 1.4 07-May-2023  skrll RISC-V support that works on QEMU with a single hart.

Thanks for Simon Burge for plic(4).
 1.3 03-Sep-2021  andvar fix typos in comments, mainly s/extention/extension/ and s/sufficent/sufficient/
 1.2 22-Mar-2017  chs provide a common softfloat fenv implemenation and use it for softfloat builds.
restore ABI compatibility with previous releases for ieeefp.h on sh3.
add namespace.h protection for all the fenv interfaces.
use MKSOFTFLOAT on sh3 instead of assuming softfloat.
standardize on comparing MKSOFTFLOAT with "no".
remove the arm-specific softfloat fenv code (which also had several bugs).
fix logic errors in the arm hardfloat feraiseexcept() and feupdateenv().
 1.1 19-Sep-2014  matt branches: 1.1.2; 1.1.4;
New files for Userland support of UCB RISC-V (both 32-bit and 64-bit)
 1.1.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.2.1 26-Apr-2017  pgoyette Sync with HEAD
 1.2 27-Mar-2015  matt Update to new RISCV ABI
 1.1 19-Sep-2014  matt New files for Userland support of UCB RISC-V (both 32-bit and 64-bit)
 1.2 27-Mar-2015  matt Update to new RISCV ABI
 1.1 19-Sep-2014  matt New files for Userland support of UCB RISC-V (both 32-bit and 64-bit)
 1.5 13-Apr-2019  maya Don't alias the long double version to the double version.
We now have 128bit long double (by the upstream GCC changing things)
 1.4 27-Mar-2015  matt branches: 1.4.16;
Update to new RISCV ABI
 1.3 15-Nov-2014  joerg It's copysign, not _copysign.
 1.2 15-Nov-2014  joerg Add copysignl aliases.
 1.1 19-Sep-2014  matt New files for Userland support of UCB RISC-V (both 32-bit and 64-bit)
 1.4.16.1 10-Jun-2019  christos Sync with HEAD
 1.2 27-Mar-2015  matt Update to new RISCV ABI
 1.1 19-Sep-2014  matt New files for Userland support of UCB RISC-V (both 32-bit and 64-bit)
 1.2 27-Mar-2015  matt Update to new RISCV ABI
 1.1 19-Sep-2014  matt New files for Userland support of UCB RISC-V (both 32-bit and 64-bit)
 1.2 27-Mar-2015  matt Update to new RISCV ABI
 1.1 19-Sep-2014  matt New files for Userland support of UCB RISC-V (both 32-bit and 64-bit)
 1.2 27-Mar-2015  matt Update to new RISCV ABI
 1.1 19-Sep-2014  matt New files for Userland support of UCB RISC-V (both 32-bit and 64-bit)
 1.2 27-Mar-2015  matt Update to new RISCV ABI
 1.1 19-Sep-2014  matt New files for Userland support of UCB RISC-V (both 32-bit and 64-bit)
 1.2 27-Mar-2015  matt Update to new RISCV ABI
 1.1 19-Sep-2014  matt New files for Userland support of UCB RISC-V (both 32-bit and 64-bit)
 1.2 27-Mar-2015  matt Update to new RISCV ABI
 1.1 19-Sep-2014  matt New files for Userland support of UCB RISC-V (both 32-bit and 64-bit)
 1.2 27-Mar-2015  matt Update to new RISCV ABI
 1.1 19-Sep-2014  matt New files for Userland support of UCB RISC-V (both 32-bit and 64-bit)
 1.2 27-Mar-2015  matt Update to new RISCV ABI
 1.1 19-Sep-2014  matt New files for Userland support of UCB RISC-V (both 32-bit and 64-bit)
 1.2 22-Mar-2017  chs provide a common softfloat fenv implemenation and use it for softfloat builds.
restore ABI compatibility with previous releases for ieeefp.h on sh3.
add namespace.h protection for all the fenv interfaces.
use MKSOFTFLOAT on sh3 instead of assuming softfloat.
standardize on comparing MKSOFTFLOAT with "no".
remove the arm-specific softfloat fenv code (which also had several bugs).
fix logic errors in the arm hardfloat feraiseexcept() and feupdateenv().
 1.1 25-Aug-2016  christos branches: 1.1.2; 1.1.4;
more fenv for sh
 1.1.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.2.3 26-Apr-2017  pgoyette Sync with HEAD
 1.1.2.2 14-Sep-2016  pgoyette Sync with HEAD
 1.1.2.1 25-Aug-2016  pgoyette file fenv.c was added on branch pgoyette-localcount on 2016-09-14 03:04:16 +0000
 1.3 03-Sep-2021  andvar fix typos in comments, mainly s/extention/extension/ and s/sufficent/sufficient/
 1.2 22-Mar-2017  chs provide a common softfloat fenv implemenation and use it for softfloat builds.
restore ABI compatibility with previous releases for ieeefp.h on sh3.
add namespace.h protection for all the fenv interfaces.
use MKSOFTFLOAT on sh3 instead of assuming softfloat.
standardize on comparing MKSOFTFLOAT with "no".
remove the arm-specific softfloat fenv code (which also had several bugs).
fix logic errors in the arm hardfloat feraiseexcept() and feupdateenv().
 1.1 20-May-2011  nakayama branches: 1.1.26; 1.1.30;
Add fenv support for sparc. Mostly copied from sparc64 and share with it.
 1.1.30.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.26.1 26-Apr-2017  pgoyette Sync with HEAD
 1.4 03-Sep-2021  andvar fix typos in comments, mainly s/extention/extension/ and s/sufficent/sufficient/
 1.3 22-Mar-2017  chs provide a common softfloat fenv implemenation and use it for softfloat builds.
restore ABI compatibility with previous releases for ieeefp.h on sh3.
add namespace.h protection for all the fenv interfaces.
use MKSOFTFLOAT on sh3 instead of assuming softfloat.
standardize on comparing MKSOFTFLOAT with "no".
remove the arm-specific softfloat fenv code (which also had several bugs).
fix logic errors in the arm hardfloat feraiseexcept() and feupdateenv().
 1.2 20-May-2011  nakayama branches: 1.2.26; 1.2.30;
Add fenv support for sparc. Mostly copied from sparc64 and share with it.
 1.1 31-Jan-2011  christos branches: 1.1.2;
fenv support for sparc64 from Stathis Kamperis
 1.1.2.2 06-Mar-2011  bouyer Sync with HEAD
 1.1.2.1 31-Jan-2011  bouyer file fenv.c was added on branch bouyer-quota2 on 2011-03-06 15:07:55 +0000
 1.2.30.1 21-Apr-2017  bouyer Sync with HEAD
 1.2.26.1 26-Apr-2017  pgoyette Sync with HEAD
 1.10 07-May-2024  riastradh libm/arch/vax: Use END to delimit symbol definitions.

This way we get sizes and, likely, slightly better debug info about
PCs inside these symbols.
 1.9 19-Apr-2007  matt Mark some internal libm symbols as hidden
 1.8 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.7 24-Feb-2002  matt Change to use a register prefix.
 1.6 14-Jul-2000  matt Well, duh! Use indexed addressing since that's why it's there. That way
the code is PIC. (mmm. linker warning's about non-PIC code).
 1.5 14-Jul-2000  matt Clean up & prepare for ELF. Don't define isnan since it's in libc. Add a
powf (really a wrapper for pow).
 1.4 02-Jul-1999  simonb branches: 1.4.8;
More trailing white space.
 1.3 11-Nov-1998  matt Fix PIC code and fix problem with obj dirs.
 1.2 31-Oct-1998  matt Add .type _sym,@foo for shared libraries
 1.1 10-Oct-1995  ragge Machine specific math library files for vax.
 1.4.8.1 14-Aug-2000  ragge Apply patch (requested by user, approved by thorpej):

Dynamic linked JSB called global labels don't work, subroutines
must be called with CALLS instead. This patch fixes it for the 1.5 release.
 1.11 07-May-2024  riastradh libm/arch/vax: Expose atan2l.

PR port-vax/57881: vax libm is missing various symbols
 1.10 07-May-2024  riastradh libm/arch/vax: Use END to delimit symbol definitions.

This way we get sizes and, likely, slightly better debug info about
PCs inside these symbols.
 1.9 10-Oct-2014  martin Add a few missing weak aliases
 1.8 20-Mar-2008  mhitch branches: 1.8.42;
Fix weak alias.
 1.7 20-Mar-2008  mhitch Add wrappers for missing coshf(), expf(), logf(), sinhf(), atan2f(), and
hypotf() functions for vax. Play the namespace and weak alias game for
functions used internally by the complex functions. Should fix the vax
build of libm.
 1.6 07-Aug-2003  agc branches: 1.6.22; 1.6.28;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.5 24-Feb-2002  matt Change to use a register prefix.
 1.4 14-Jul-2000  matt Clean up & prepare for ELF. Don't define isnan since it's in libc. Add a
powf (really a wrapper for pow).
 1.3 02-Jul-1999  simonb More trailing white space.
 1.2 31-Oct-1998  matt Add .type _sym,@foo for shared libraries
 1.1 10-Oct-1995  ragge Machine specific math library files for vax.
 1.6.28.1 24-Mar-2008  keiichi sync with head.
 1.6.22.1 23-Mar-2008  matt sync with HEAD
 1.8.42.1 13-Oct-2014  martin Pullup the following revisions, requested by christos in #138:

src/lib/libm/Makefile 1.165-1.166
src/lib/libm/shlib_version 1.14
src/lib/libm/arch/vax/n_atan2.S 1.9
src/lib/libm/arch/vax/n_cabs.S 1.7
src/lib/libm/arch/vax/n_sincos.S 1.9
src/lib/libm/arch/vax/n_sqrt.S 1.10-1.11
src/lib/libm/complex/Makefile.inc 1.5-1.8
src/lib/libm/complex/cabsl.c 1.1
src/lib/libm/complex/cacoshl.c 1.1
src/lib/libm/complex/cacosl.c 1.1
src/lib/libm/complex/cargl.c 1.1
src/lib/libm/complex/casinhl.c 1.1
src/lib/libm/complex/casinl.c 1.1
src/lib/libm/complex/catanhl.c 1.1
src/lib/libm/complex/catanl.c 1.1
src/lib/libm/complex/ccoshl.c 1.1
src/lib/libm/complex/ccosl.c 1.1
src/lib/libm/complex/cephes_subrl.c 1.1
src/lib/libm/complex/cephes_subrl.h 1.1
src/lib/libm/complex/cexpl.c 1.1
src/lib/libm/complex/clogl.c 1.1
src/lib/libm/complex/cpowl.c 1.1
src/lib/libm/complex/cprojl.c 1.7
src/lib/libm/complex/csinhl.c 1.1
src/lib/libm/complex/csinl.c 1.1
src/lib/libm/complex/csqrtl.c 1.1
src/lib/libm/complex/ctanhl.c 1.1
src/lib/libm/complex/ctanl.c 1.1
src/lib/libm/man/acosh.3 1.17
src/lib/libm/man/asinh.3 1.17
src/lib/libm/man/atanh.3 1.17
src/lib/libm/noieee_src/n_atan2.c 1.7
src/lib/libm/noieee_src/n_cosh.c 1.9
src/lib/libm/noieee_src/n_exp.c 1.9
src/lib/libm/noieee_src/n_log.c 1.8
src/lib/libm/noieee_src/n_pow.c 1.10-1.11
src/lib/libm/noieee_src/n_sincos.c 1.7
src/lib/libm/noieee_src/n_sinh.c 1.8

Import the missing complex support routines from FreeBSD so we can
enable C++ 2011 mode for libstc++.
 1.9 07-May-2024  riastradh libm/arch/vax: Use STRONG_ALIAS, not ALTENTRY.

STRONG_ALIAS copies the symbol size and type, so it avoids warnings
like this:

/home/riastradh/netbsd/10/obj.vax/tooldir/bin/../lib/gcc/vax--netbsdelf/10.5.0/../../../../vax--netbsdelf/bin/ld: warning: type and size of dynamic symbol `ldexpl' are not defined
 1.8 07-May-2024  riastradh libm/arch/vax: Use END to delimit symbol definitions.

This way we get sizes and, likely, slightly better debug info about
PCs inside these symbols.
 1.7 10-Oct-2014  martin Add a few missing weak aliases
 1.6 20-Mar-2008  mhitch branches: 1.6.42;
Add wrappers for missing coshf(), expf(), logf(), sinhf(), atan2f(), and
hypotf() functions for vax. Play the namespace and weak alias game for
functions used internally by the complex functions. Should fix the vax
build of libm.
 1.5 07-Aug-2003  agc branches: 1.5.22; 1.5.28;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.4 24-Feb-2002  matt Change to use a register prefix.
 1.3 14-Jul-2000  matt Clean up & prepare for ELF. Don't define isnan since it's in libc. Add a
powf (really a wrapper for pow).
 1.2 31-Oct-1998  matt Add .type _sym,@foo for shared libraries
 1.1 10-Oct-1995  ragge Machine specific math library files for vax.
 1.5.28.1 24-Mar-2008  keiichi sync with head.
 1.5.22.1 23-Mar-2008  matt sync with HEAD
 1.6.42.1 13-Oct-2014  martin Pullup the following revisions, requested by christos in #138:

src/lib/libm/Makefile 1.165-1.166
src/lib/libm/shlib_version 1.14
src/lib/libm/arch/vax/n_atan2.S 1.9
src/lib/libm/arch/vax/n_cabs.S 1.7
src/lib/libm/arch/vax/n_sincos.S 1.9
src/lib/libm/arch/vax/n_sqrt.S 1.10-1.11
src/lib/libm/complex/Makefile.inc 1.5-1.8
src/lib/libm/complex/cabsl.c 1.1
src/lib/libm/complex/cacoshl.c 1.1
src/lib/libm/complex/cacosl.c 1.1
src/lib/libm/complex/cargl.c 1.1
src/lib/libm/complex/casinhl.c 1.1
src/lib/libm/complex/casinl.c 1.1
src/lib/libm/complex/catanhl.c 1.1
src/lib/libm/complex/catanl.c 1.1
src/lib/libm/complex/ccoshl.c 1.1
src/lib/libm/complex/ccosl.c 1.1
src/lib/libm/complex/cephes_subrl.c 1.1
src/lib/libm/complex/cephes_subrl.h 1.1
src/lib/libm/complex/cexpl.c 1.1
src/lib/libm/complex/clogl.c 1.1
src/lib/libm/complex/cpowl.c 1.1
src/lib/libm/complex/cprojl.c 1.7
src/lib/libm/complex/csinhl.c 1.1
src/lib/libm/complex/csinl.c 1.1
src/lib/libm/complex/csqrtl.c 1.1
src/lib/libm/complex/ctanhl.c 1.1
src/lib/libm/complex/ctanl.c 1.1
src/lib/libm/man/acosh.3 1.17
src/lib/libm/man/asinh.3 1.17
src/lib/libm/man/atanh.3 1.17
src/lib/libm/noieee_src/n_atan2.c 1.7
src/lib/libm/noieee_src/n_cosh.c 1.9
src/lib/libm/noieee_src/n_exp.c 1.9
src/lib/libm/noieee_src/n_log.c 1.8
src/lib/libm/noieee_src/n_pow.c 1.10-1.11
src/lib/libm/noieee_src/n_sincos.c 1.7
src/lib/libm/noieee_src/n_sinh.c 1.8

Import the missing complex support routines from FreeBSD so we can
enable C++ 2011 mode for libstc++.
 1.9 07-May-2024  riastradh libm/arch/vax: Use STRONG_ALIAS, not ALTENTRY.

STRONG_ALIAS copies the symbol size and type, so it avoids warnings
like this:

/home/riastradh/netbsd/10/obj.vax/tooldir/bin/../lib/gcc/vax--netbsdelf/10.5.0/../../../../vax--netbsdelf/bin/ld: warning: type and size of dynamic symbol `ldexpl' are not defined
 1.8 07-May-2024  riastradh libm/arch/vax: Use END to delimit symbol definitions.

This way we get sizes and, likely, slightly better debug info about
PCs inside these symbols.
 1.7 24-Nov-2013  martin Provide cbrtl() and cbrtf() for vax
 1.6 07-Aug-2003  agc branches: 1.6.54; 1.6.60;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.5 24-Feb-2002  matt Change to use a register prefix.
 1.4 14-Jul-2000  matt Clean up & prepare for ELF. Don't define isnan since it's in libc. Add a
powf (really a wrapper for pow).
 1.3 02-Jul-1999  simonb More trailing white space.
 1.2 31-Oct-1998  matt Add .type _sym,@foo for shared libraries
 1.1 10-Oct-1995  ragge Machine specific math library files for vax.
 1.6.60.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.54.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.7 07-May-2024  riastradh libm/arch/vax: Use END to delimit symbol definitions.

This way we get sizes and, likely, slightly better debug info about
PCs inside these symbols.
 1.6 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.5 24-Feb-2002  matt Change to use a register prefix.
 1.4 14-Jul-2000  matt Clean up & prepare for ELF. Don't define isnan since it's in libc. Add a
powf (really a wrapper for pow).
 1.3 02-Jul-1999  simonb More trailing white space.
 1.2 31-Oct-1998  matt Add .type _sym,@foo for shared libraries
 1.1 10-Oct-1995  ragge Machine specific math library files for vax.
 1.3 17-Jan-2006  is C versions of non-IEEE round() / roundf(). Alas, using the VAX
cvtrdl; cvtld doesn't work for big numbers.
 1.2 17-Jan-2006  is Oops - round() is supposed to return double, not integer.
 1.1 15-Jan-2006  is Implement round(3), so that jot(1) can link again.
 1.8 07-May-2024  riastradh libm/arch/vax: Use STRONG_ALIAS, not ALTENTRY.

STRONG_ALIAS copies the symbol size and type, so it avoids warnings
like this:

/home/riastradh/netbsd/10/obj.vax/tooldir/bin/../lib/gcc/vax--netbsdelf/10.5.0/../../../../vax--netbsdelf/bin/ld: warning: type and size of dynamic symbol `ldexpl' are not defined
 1.7 07-May-2024  riastradh libm/arch/vax: Use END to delimit symbol definitions.

This way we get sizes and, likely, slightly better debug info about
PCs inside these symbols.
 1.6 04-Apr-2022  andvar fix various typos, mainly in comments.
 1.5 03-Feb-2014  martin Provide scalbnl, scalbnf, logbl, logbf, fmaxl for vax.
 1.4 24-May-2013  martin Fix POLYD/Mariah fallout and include the scalbn sources (which do not
use polyd).
Fix global names and weak aliases.
 1.3 20-May-2013  mlelstv Correctly alias the ldexp* functions to the scalbn equivalents
that take an int argument.
 1.2 27-Apr-2013  joerg Add aliases for scalbn* to ldexp, they are identical for FLT_RADIX=2.
 1.1 28-Jul-2011  matt branches: 1.1.2; 1.1.8;
Add scalbn{,f,l} for VAX.
 1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.8.1 23-Jun-2013  tls resync from head
 1.1.2.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.10 06-May-2024  riastradh libm: Expose sinl, cosl, tanl on vax.

While here, make sin, cos, and tan be weak aliases for internal
symbols _sin, _cos, and _tan; likewise sinf, cosf, tanf.

PR 57881
 1.9 10-Oct-2014  martin More aliases
 1.8 07-Aug-2003  agc branches: 1.8.74;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.7 21-Feb-2003  matt Fix some assembly botches.
 1.6 14-Jul-2002  matt Add sinf/cosf.
 1.5 24-Feb-2002  matt Change to use a register prefix.
 1.4 14-Jul-2000  matt Clean up & prepare for ELF. Don't define isnan since it's in libc. Add a
powf (really a wrapper for pow).
 1.3 02-Jul-1999  simonb branches: 1.3.8;
More trailing white space.
 1.2 31-Oct-1998  matt Add .type _sym,@foo for shared libraries
 1.1 10-Oct-1995  ragge Machine specific math library files for vax.
 1.3.8.1 14-Aug-2000  ragge Apply patch (requested by user, approved by thorpej):

Dynamic linked JSB called global labels don't work, subroutines
must be called with CALLS instead. This patch fixes it for the 1.5 release.
 1.8.74.1 13-Oct-2014  martin Pullup the following revisions, requested by christos in #138:

src/lib/libm/Makefile 1.165-1.166
src/lib/libm/shlib_version 1.14
src/lib/libm/arch/vax/n_atan2.S 1.9
src/lib/libm/arch/vax/n_cabs.S 1.7
src/lib/libm/arch/vax/n_sincos.S 1.9
src/lib/libm/arch/vax/n_sqrt.S 1.10-1.11
src/lib/libm/complex/Makefile.inc 1.5-1.8
src/lib/libm/complex/cabsl.c 1.1
src/lib/libm/complex/cacoshl.c 1.1
src/lib/libm/complex/cacosl.c 1.1
src/lib/libm/complex/cargl.c 1.1
src/lib/libm/complex/casinhl.c 1.1
src/lib/libm/complex/casinl.c 1.1
src/lib/libm/complex/catanhl.c 1.1
src/lib/libm/complex/catanl.c 1.1
src/lib/libm/complex/ccoshl.c 1.1
src/lib/libm/complex/ccosl.c 1.1
src/lib/libm/complex/cephes_subrl.c 1.1
src/lib/libm/complex/cephes_subrl.h 1.1
src/lib/libm/complex/cexpl.c 1.1
src/lib/libm/complex/clogl.c 1.1
src/lib/libm/complex/cpowl.c 1.1
src/lib/libm/complex/cprojl.c 1.7
src/lib/libm/complex/csinhl.c 1.1
src/lib/libm/complex/csinl.c 1.1
src/lib/libm/complex/csqrtl.c 1.1
src/lib/libm/complex/ctanhl.c 1.1
src/lib/libm/complex/ctanl.c 1.1
src/lib/libm/man/acosh.3 1.17
src/lib/libm/man/asinh.3 1.17
src/lib/libm/man/atanh.3 1.17
src/lib/libm/noieee_src/n_atan2.c 1.7
src/lib/libm/noieee_src/n_cosh.c 1.9
src/lib/libm/noieee_src/n_exp.c 1.9
src/lib/libm/noieee_src/n_log.c 1.8
src/lib/libm/noieee_src/n_pow.c 1.10-1.11
src/lib/libm/noieee_src/n_sincos.c 1.7
src/lib/libm/noieee_src/n_sinh.c 1.8

Import the missing complex support routines from FreeBSD so we can
enable C++ 2011 mode for libstc++.
 1.12 07-May-2024  riastradh libm/arch/vax: Use END to delimit symbol definitions.

This way we get sizes and, likely, slightly better debug info about
PCs inside these symbols.
 1.11 11-Oct-2014  martin Seems we need both sqrtl and _sqrtl as a weak alias - something must be
wrong namespapce wise here, but this should make it build for now.
 1.10 11-Oct-2014  martin Fix _sqrtl alias
 1.9 06-Mar-2014  martin branches: 1.9.4;
Provide sqrtl alias
 1.8 18-Apr-2007  matt branches: 1.8.34; 1.8.40;
Make the internal __libm_dsqrt_r6 have a fake entry mask of 0 to make
ld.elf_so.
 1.7 13-May-2004  mhitch Add ceilf(), floorf(), and sqrtf() (as wrappers using ceil(), floor(), and
sqrt() repectively). The fixes PR#22796.
 1.6 07-Aug-2003  agc branches: 1.6.2;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.5 24-Feb-2002  matt Change to use a register prefix.
 1.4 21-Feb-2002  matt Don't bsbb to an external symbol. the dynamic linker won't like it.
 1.3 14-Jul-2000  matt Clean up & prepare for ELF. Don't define isnan since it's in libc. Add a
powf (really a wrapper for pow).
 1.2 31-Oct-1998  matt Add .type _sym,@foo for shared libraries
 1.1 10-Oct-1995  ragge Machine specific math library files for vax.
 1.6.2.1 15-May-2004  tron Pull up revision 1.7 (requested by mhitch in ticket #339):
Add ceilf(), floorf(), and sqrtf() (as wrappers using ceil(), floor(), and
sqrt() repectively). The fixes PR#22796.
 1.8.40.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8.34.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.9.4.1 13-Oct-2014  martin Pullup the following revisions, requested by christos in #138:

src/lib/libm/Makefile 1.165-1.166
src/lib/libm/shlib_version 1.14
src/lib/libm/arch/vax/n_atan2.S 1.9
src/lib/libm/arch/vax/n_cabs.S 1.7
src/lib/libm/arch/vax/n_sincos.S 1.9
src/lib/libm/arch/vax/n_sqrt.S 1.10-1.11
src/lib/libm/complex/Makefile.inc 1.5-1.8
src/lib/libm/complex/cabsl.c 1.1
src/lib/libm/complex/cacoshl.c 1.1
src/lib/libm/complex/cacosl.c 1.1
src/lib/libm/complex/cargl.c 1.1
src/lib/libm/complex/casinhl.c 1.1
src/lib/libm/complex/casinl.c 1.1
src/lib/libm/complex/catanhl.c 1.1
src/lib/libm/complex/catanl.c 1.1
src/lib/libm/complex/ccoshl.c 1.1
src/lib/libm/complex/ccosl.c 1.1
src/lib/libm/complex/cephes_subrl.c 1.1
src/lib/libm/complex/cephes_subrl.h 1.1
src/lib/libm/complex/cexpl.c 1.1
src/lib/libm/complex/clogl.c 1.1
src/lib/libm/complex/cpowl.c 1.1
src/lib/libm/complex/cprojl.c 1.7
src/lib/libm/complex/csinhl.c 1.1
src/lib/libm/complex/csinl.c 1.1
src/lib/libm/complex/csqrtl.c 1.1
src/lib/libm/complex/ctanhl.c 1.1
src/lib/libm/complex/ctanl.c 1.1
src/lib/libm/man/acosh.3 1.17
src/lib/libm/man/asinh.3 1.17
src/lib/libm/man/atanh.3 1.17
src/lib/libm/noieee_src/n_atan2.c 1.7
src/lib/libm/noieee_src/n_cosh.c 1.9
src/lib/libm/noieee_src/n_exp.c 1.9
src/lib/libm/noieee_src/n_log.c 1.8
src/lib/libm/noieee_src/n_pow.c 1.10-1.11
src/lib/libm/noieee_src/n_sincos.c 1.7
src/lib/libm/noieee_src/n_sinh.c 1.8

Import the missing complex support routines from FreeBSD so we can
enable C++ 2011 mode for libstc++.
 1.13 17-Jul-2024  riastradh libm: Fix `mantissa' to say `significand' in comments.

(mantissa = fractional part of log(significand))

No functional change intended.
 1.12 08-May-2024  riastradh branches: 1.12.2;
libm/arch/vax: Do the weak alias dance for finite, finitef.

These are used internally.
 1.11 07-May-2024  riastradh libm/arch/vax: Use END to delimit symbol definitions.

This way we get sizes and, likely, slightly better debug info about
PCs inside these symbols.
 1.10 14-Nov-2014  joerg Define copysignl on !long double platforms. Be consistent in the use of
weak aliases.
 1.9 15-Mar-2014  martin branches: 1.9.4;
Need to load the full argument
 1.8 15-Mar-2014  martin Provide copysignf and copysignl
 1.7 03-Feb-2014  martin Provide scalbnl, scalbnf, logbl, logbf, fmaxl for vax.
 1.6 07-Aug-2003  agc branches: 1.6.54; 1.6.60;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.5 23-Jun-2002  matt Add finitef
 1.4 24-Feb-2002  matt branches: 1.4.2;
Change to use a register prefix.
 1.3 14-Jul-2000  matt Clean up & prepare for ELF. Don't define isnan since it's in libc. Add a
powf (really a wrapper for pow).
 1.2 02-Jul-1999  simonb More trailing white space.
 1.1 10-Oct-1995  ragge Machine specific math library files for vax.
 1.4.2.1 24-Jun-2002  lukem Pull up revision 1.5 (requested by matt in ticket #354):
Add finitef
 1.6.60.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.54.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.9.4.1 25-May-2015  msaitoh Pull up following revision(s) (requested by joerg in ticket #790):
sys/arch/powerpc/include/math.h: revision 1.5
lib/libm/src/namespace.h: revision 1.13
lib/libm/arch/vax/n_support.S: revision 1.10
lib/libm/src/s_copysignl.c: revision 1.3
lib/libm/src/s_copysignl.c: revision 1.4
lib/libm/src/s_copysignl.c: revision 1.5
sys/arch/powerpc/include/ieee.h: revision 1.6
lib/libm/src/s_copysign.c: revision 1.12
lib/libm/src/s_copysign.c: revision 1.13
- Support copysignl on PowerPC.
- Define copysignl on !long double platforms. Be consistent in the use of
weak aliases.
- copysignl is also needed for PowerPC's double-double format, so special
case that. Functional support was added earlier, but not enabled.
 1.12.2.1 02-Aug-2025  perseant Sync with HEAD
 1.8 06-May-2024  riastradh libm: Expose sinl, cosl, tanl on vax.

While here, make sin, cos, and tan be weak aliases for internal
symbols _sin, _cos, and _tan; likewise sinf, cosf, tanf.

PR 57881
 1.7 06-Mar-2014  martin Simple tanf() for vax
 1.6 07-Aug-2003  agc branches: 1.6.54; 1.6.60;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.5 24-Feb-2002  matt Change to use a register prefix.
 1.4 14-Jul-2000  matt Clean up & prepare for ELF. Don't define isnan since it's in libc. Add a
powf (really a wrapper for pow).
 1.3 02-Jul-1999  simonb branches: 1.3.8;
More trailing white space.
 1.2 31-Oct-1998  matt Add .type _sym,@foo for shared libraries
 1.1 10-Oct-1995  ragge Machine specific math library files for vax.
 1.3.8.1 14-Aug-2000  ragge Apply patch (requested by user, approved by thorpej):

Dynamic linked JSB called global labels don't work, subroutines
must be called with CALLS instead. This patch fixes it for the 1.5 release.
 1.6.60.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.54.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.11 20-Feb-2024  riastradh fenv(3): Fix fetestexcept to avoid side effects on trap state.

PR port-amd64/57949
 1.10 03-Sep-2021  andvar branches: 1.10.2;
fix typos in comments, mainly s/extention/extension/ and s/sufficent/sufficient/
 1.9 19-Aug-2021  andvar s/memry/memory+s/softare/software/+s/grapics/graphics+s/ouput/output
 1.8 12-Aug-2021  andvar fix typos in "environment" word.
 1.7 22-Mar-2017  chs branches: 1.7.4; 1.7.14;
provide a common softfloat fenv implemenation and use it for softfloat builds.
restore ABI compatibility with previous releases for ieeefp.h on sh3.
add namespace.h protection for all the fenv interfaces.
use MKSOFTFLOAT on sh3 instead of assuming softfloat.
standardize on comparing MKSOFTFLOAT with "no".
remove the arm-specific softfloat fenv code (which also had several bugs).
fix logic errors in the arm hardfloat feraiseexcept() and feupdateenv().
 1.6 11-Nov-2013  joerg branches: 1.6.8; 1.6.12;
Preserve the initial x87 control word in the global FP environment
in preparation for adjusting the default based on the main binary
version.
 1.5 18-Oct-2013  christos use the masked variable
 1.4 29-May-2013  riastradh Fix amd64 feraiseexcept so that it actually traps.

The call to fwait got lost somewhere along the line; the i387 code
has it.

XXX pullup to 6
 1.3 29-May-2013  riastradh Fix sense of fegetexcept on x86.

Somehow I overlooked this when I fixed feenableexcept and
fedisableexcept last summer.

XXX pullup to 6
 1.2 04-Aug-2012  riastradh branches: 1.2.2;
Mask off the result of feenableexcept and fedisableexcept on x86.

These shouldn't return bits outside FE_ALL_EXCEPT.
 1.1 31-Jul-2010  joerg branches: 1.1.6; 1.1.8;
Add support for fenv.h interface for i386 and amd64.

Submitted by Stathis Kamperis as part of GSoC 2010 and ported from
FreeBSD.
 1.1.8.2 13-Jun-2013  msaitoh Pull up following revision(s) (requested by riastradh in ticket #899):
lib/libm/arch/i387/fenv.c: revision 1.5
lib/libm/arch/x86_64/fenv.c: revision 1.3-1.4
Fix amd64 feraiseexcept so that it actually traps.
The call to fwait got lost somewhere along the line; the i387 code has it.
Fix sense of fegetexcept on x86.
Somehow I overlooked this when I fixed feenableexcept and fedisableexcept
last summer.
 1.1.8.1 12-Aug-2012  martin branches: 1.1.8.1.4; 1.1.8.1.6;
Pull up following revision(s) (requested by riastradh in ticket #477):
lib/libm/arch/i387/fenv.c: revision 1.4
lib/libm/arch/x86_64/fenv.c: revision 1.2
Mask off the result of feenableexcept and fedisableexcept on x86.
These shouldn't return bits outside FE_ALL_EXCEPT.
 1.1.8.1.6.1 14-Jun-2013  msaitoh Pull up following revision(s) (requested by riastradh in ticket #899):
lib/libm/arch/i387/fenv.c: revision 1.5
lib/libm/arch/x86_64/fenv.c: revision 1.3-1.4
Fix amd64 feraiseexcept so that it actually traps.
The call to fwait got lost somewhere along the line; the i387 code has it.
Fix sense of fegetexcept on x86.
Somehow I overlooked this when I fixed feenableexcept and fedisableexcept
last summer.
 1.1.8.1.4.1 14-Jun-2013  msaitoh Pull up following revision(s) (requested by riastradh in ticket #899):
lib/libm/arch/i387/fenv.c: revision 1.5
lib/libm/arch/x86_64/fenv.c: revision 1.3-1.4
Fix amd64 feraiseexcept so that it actually traps.
The call to fwait got lost somewhere along the line; the i387 code has it.
Fix sense of fegetexcept on x86.
Somehow I overlooked this when I fixed feenableexcept and fedisableexcept
last summer.
 1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.6.1 30-Oct-2012  yamt sync with head
 1.2.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.2.1 23-Jun-2013  tls resync from head
 1.6.12.1 21-Apr-2017  bouyer Sync with HEAD
 1.6.8.1 26-Apr-2017  pgoyette Sync with HEAD
 1.7.14.1 23-Feb-2024  martin Pull up following revision(s) (requested by riastradh in ticket #1801):

tests/lib/libm/t_fenv.c: revision 1.14
tests/lib/libm/t_fenv.c: revision 1.15
lib/libm/arch/x86_64/fenv.c: revision 1.11

fenv(3): Add test for PR port-amd64/57949.

fenv(3): Fix fetestexcept to avoid side effects on trap state.

PR port-amd64/57949
 1.7.4.1 23-Feb-2024  martin Pull up following revision(s) (requested by riastradh in ticket #1937):

tests/lib/libm/t_fenv.c: revision 1.14
tests/lib/libm/t_fenv.c: revision 1.15
lib/libm/arch/x86_64/fenv.c: revision 1.11

fenv(3): Add test for PR port-amd64/57949.

fenv(3): Fix fetestexcept to avoid side effects on trap state.

PR port-amd64/57949
 1.10.2.1 23-Feb-2024  martin Pull up following revision(s) (requested by riastradh in ticket #603):

tests/lib/libm/t_fenv.c: revision 1.14
tests/lib/libm/t_fenv.c: revision 1.15
lib/libm/arch/x86_64/fenv.c: revision 1.11

fenv(3): Add test for PR port-amd64/57949.

fenv(3): Fix fetestexcept to avoid side effects on trap state.

PR port-amd64/57949

RSS XML Feed