drochner
af7cf00a5a
provide an assembler implementation of lrint() for i386 and amd64
2004-07-01 17:30:48 +00:00
mhitch
a6d522d13c
Add ceilf(), floorf(), and sqrtf() (as wrappers using ceil(), floor(), and
...
sqrt() repectively). The fixes PR#22796.
2004-05-13 20:35:40 +00:00
wiz
848e689872
Typo fix, from skrueger at europe com.
2004-03-22 13:41:09 +00:00
lukem
f85d2d1c14
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.
2003-10-26 07:25:33 +00:00
wennmach
be03f9bd59
Avoid the PIC dance.
2003-09-16 18:17:11 +00:00
fvdl
8eb02ce5c0
Make log1p and log1pf work in shared libraries again.
2003-09-14 21:26:14 +00:00
wennmach
cf92bf760d
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.
2003-09-10 16:45:43 +00:00
agc
eb7c1594f1
Move UCB-licensed code from 4-clause to 3-clause licence.
...
Patches provided by Joel Baker in PR 22280, verified by myself.
2003-08-07 16:42:00 +00:00
salo
99410184e7
netbsd.org->NetBSD.org
2003-07-26 19:24:24 +00:00
matt
88dc468feb
Fix some assembly botches.
2003-02-21 06:40:47 +00:00
lukem
ec5dbc56b8
Explicitly move setting of NOxxx and USE_SHLIBDIR to the top of the
...
Makefile (before including <bsd.own.mk>)
2002-08-19 14:55:14 +00:00
lukem
ebb6fc9eb8
Use ${NETBSDSRCDIR}/some/path instead of ${.CURDIR}/../../some/path (etc).
...
(Reduces make output by ~ 20%)
2002-08-19 09:41:27 +00:00
matt
778e246527
Add sinf/cosf.
2002-07-14 19:55:24 +00:00
matt
5ac19a376b
Add finitef
2002-06-23 21:55:12 +00:00
fvdl
059c5712b9
Fix mistake in previous.
2002-03-30 10:03:44 +00:00
fvdl
edcf4b63ed
Fix stack usage for temporary storage. From Stephen Ma in PR xsrc/15404.
2002-03-26 15:17:37 +00:00
christos
47c5991d7a
PR/15748: Ray Brownrigg: exp(log(0)) is broken.
...
Use FreeBSD's version. Handles inf/nan and rounding modes.
2002-02-27 16:32:46 +00:00
matt
0ce5ca145f
Change to use a register prefix.
2002-02-24 01:06:18 +00:00
matt
d9dae701a5
Don't bsbb to an external symbol. the dynamic linker won't like it.
2002-02-21 07:49:55 +00:00
lukem
efcc9a4c9d
* 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
2001-12-28 01:32:37 +00:00
tv
001067bbd1
Readability cleanups; MKfoo=no -> NOfoo.
2001-12-12 00:51:00 +00:00
fvdl
d191029b13
2 more bitnumber mistakes fixed while removing sahf.
2001-06-25 16:47:05 +00:00
fvdl
c5b64cb062
Oops, when I replaced sahf with a btw, I made it test the wrong bit
...
(2 vs. 10).
2001-06-25 16:44:34 +00:00
fvdl
120d96874f
%rbp -> %rsp in 2 cases.
2001-06-19 17:49:36 +00:00
fvdl
8ecba6c681
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.
2001-06-19 00:26:29 +00:00
kleink
26c512aade
Make these idempotent as far as the FPU register stack is concerned.
2000-09-26 07:28:23 +00:00
matt
94827a09a3
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).
2000-07-14 22:26:15 +00:00
matt
584a2f53ee
Clean up & prepare for ELF. Don't define isnan since it's in libc. Add a
...
powf (really a wrapper for pow).
2000-07-14 04:50:58 +00:00
is
7c1da7b0c9
Regenerate, after changing internal label used for linkage to the wrapper
...
scripts.
2000-05-16 19:07:35 +00:00
is
9ba8ffc293
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.
2000-05-16 19:05:37 +00:00
is
287de693da
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.
2000-05-12 20:11:11 +00:00
is
183dfce153
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.
2000-05-12 20:08:04 +00:00
is
97df1401a1
Move original Motorola files to the "dist" subdirectory, in response
...
to PR 9626 by Kris Shannon.
2000-04-14 20:24:29 +00:00
kleink
0c766839fc
G/c label orphaned since rev. 1.6.
2000-01-31 18:28:49 +00:00
christos
e133a9e685
Makefile and shared library for libm387.
1999-12-13 09:36:29 +00:00
thorpej
bebf6897b4
Add register prefixes.
1999-11-10 16:45:33 +00:00
thorpej
627a762f23
Regen; add register prefixes.
1999-11-10 16:34:56 +00:00
thorpej
c958703527
Add register prefixes.
1999-11-10 16:32:45 +00:00
is
7afc17a12a
Use arch/m68k copies of the common functions even for mc68881 hardware.
1999-08-22 18:28:37 +00:00
is
2dc451b448
*gamma* need k_sin*/k_cos*
1999-08-22 08:25:42 +00:00
is
3f2d2fc0e5
Copied from mc68881/s_rint.S,v
1999-08-21 21:26:40 +00:00
is
455f7bb90c
Copied from mc68881/s_floor.S,v
1999-08-21 21:26:28 +00:00
is
c78325ae61
Copied from mc68881/s_ceil.S,v
1999-08-21 21:26:16 +00:00
is
c81875b78b
Copied from mc68881/s_finite.S,v
1999-08-21 21:25:40 +00:00
is
11d34cdce5
Copied from mc68881/s_copysign.S,v
1999-08-21 21:24:46 +00:00
is
9e6d62796f
wrap lines in Makefile.list
1999-08-21 21:04:17 +00:00
is
a33bf8cb4b
Clarify instructions
1999-08-21 20:50:21 +00:00
is
9f72d71dcd
Same reason as for ldexp.S: most applications don't scale 0.0.
1999-08-21 17:29:37 +00:00
is
8c65b3f672
Motorola floating point library support package based architecture dependent
...
code for libm - generated files. Currently, easy functions only.
1999-08-19 21:43:52 +00:00
is
00c9560d0c
Motorola 68060 floating point library support package based architecture
...
dependent code for libm. Currently, easy functions only.
1999-08-19 21:41:35 +00:00
kleink
58bbec2442
Make these SVR4 ABI ready.
1999-08-15 18:45:18 +00:00
simonb
42724dd4d2
More trailing white space.
1999-07-02 15:37:33 +00:00
kristerw
14e0e5307d
The scalb* functions left data on the floting point register stack.
...
Remove it before leaving the function.
The solution is taken from OpenBSD.
1999-01-02 05:15:40 +00:00
matt
5bf0199231
Fix PIC code and fix problem with obj dirs.
1998-11-11 15:26:14 +00:00
matt
93bbcb05b4
Add .type _sym,@foo for shared libraries
1998-10-31 02:06:01 +00:00
is
7c9cfab805
Same reason as for ldexp.S: most applications don't scale 0.0.
1997-10-10 10:40:40 +00:00
jtc
990a11b9c6
Fix files using old TNF copyright notice
1997-07-30 23:53:32 +00:00
thorpej
caae5cd93d
Use <machine/asm.h>
1996-08-13 17:00:28 +00:00
thorpej
688ff1ddf9
Correct think-o; this is an assembler source file (and the Makefile
...
expected as such).
1996-07-08 03:27:25 +00:00
jtc
ca7561ba59
Fix typo
1996-07-06 00:15:45 +00:00
jtc
a5e2dfa95f
use one less fp stack slot
1996-07-03 17:31:28 +00:00
jtc
0ab3a0b137
It's necessary to use 64 bit precision to avoid errors in the least
...
significant bit(s) (for some operands).
1996-07-03 17:27:34 +00:00
jtc
88420f2e4d
this simple adaptation exp() does not work
1996-07-03 17:20:16 +00:00
jtc
5f9accdf53
Assembly versions of expf(), logf(),log10f(), scalbf(), expm1() and expm1f().
1996-07-03 16:50:20 +00:00
jtc
991d9c139a
we don't need to branch
1996-06-26 14:44:05 +00:00
jtc
3a2de776bf
add m68881 specific fmod()
1996-06-26 14:36:14 +00:00
jtc
c13e010e3c
Alpha versions of copysign() and copysignf()
1996-06-26 07:29:59 +00:00
jtc
5743dc5d7a
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.
1996-06-25 02:07:09 +00:00
jtc
84fc678011
Use setne instead of setnel, new versions of gas balk at the bad mnemonic.
...
Wrong mask was used in s_finitef.S.
1996-06-04 18:00:34 +00:00
pk
26646c7969
Setup stack-frame correctly (same as s_ilogb.S).
1995-10-22 20:32:43 +00:00
jtc
e2143cf975
Fix from Jochen Pohl, i387 version of ilogb didn't set up the stack
...
frame correctly (PR #1590 ).
1995-10-12 15:53:09 +00:00
ragge
d76e5e0af8
Machine specific math library files for vax.
1995-10-10 23:40:21 +00:00
jtc
9ae90685f2
Winning Strategies has placed this code in the public domain.
1995-05-11 23:03:44 +00:00
jtc
d042a3eb20
Id -> NetBSD
1995-05-10 20:44:22 +00:00
jtc
5abf82e236
Id -> NetBSD
1995-05-08 23:55:16 +00:00
jtc
0898887210
Id -> NetBSD
1995-05-08 23:44:37 +00:00
jtc
750e07c91c
i387 float version of atan2()
1995-05-08 23:35:10 +00:00
jtc
684161edae
Added i387 remainderf and sqrtf
1995-05-03 14:47:35 +00:00
jtc
5c7208348c
Winning Strategies has placed this code into the Public Domain
1995-04-28 22:43:31 +00:00
jtc
8961dd234b
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.
1995-02-18 01:39:51 +00:00
jtc
324e516335
68881-assisted versions of these functions.
1995-02-18 01:24:42 +00:00
jtc
9f19de9cde
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.
1994-08-26 00:20:34 +00:00
jtc
4b2017adfe
Assembly language versions of some of the "float" functions.
1994-08-19 03:56:44 +00:00
jtc
1af6796a8d
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).
1994-08-19 03:55:57 +00:00
jtc
c120d36cd8
Major Bogon: change %ebp to %esp, as I don't set up a stack frame.
1994-08-18 20:42:35 +00:00
jtc
bdde9305da
Use RCSID macro for RCS ID's.
1994-03-18 23:22:10 +00:00
jtc
6d76330bec
Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>.
1994-03-12 01:30:22 +00:00
mycroft
912d356b80
Clean up deleted files.
1994-03-12 01:16:39 +00:00
jtc
41dbc84e05
The hardware sqrt function is supposed to be __ieee754_sqrt(), and live in
...
e_sqrt.S.
1994-03-12 01:16:38 +00:00
jtc
daefb8ce62
converted ceil(), floor(), & rint() from old to new math libraries.
1994-03-12 01:10:51 +00:00
jtc
c9566fe572
Replace code that was "truncated" when it was converted from old
...
math library.
1994-03-12 01:09:29 +00:00
jtc
2ed7077300
Added i387 version of significand().
1994-03-10 18:13:32 +00:00
jtc
aff2eb8384
More i387 libm support.
1994-03-04 17:39:50 +00:00
jtc
0dff3c6f48
Optimize the common case (theta < 2^63).
1994-02-18 17:38:59 +00:00
jtc
b365a34dd9
i387 specific ilogb()
1994-02-18 02:50:11 +00:00
jtc
c709120244
i387-specific math functions.
1994-02-16 19:21:10 +00:00
jtc
03898350df
Functions brought over from the old math library.
1994-02-14 21:55:12 +00:00
jtc
101f9521b3
More i387 math support, too bad we can't enable it
1994-02-12 01:31:52 +00:00
jtc
c632d011dd
FPU specific math code.
1994-02-11 18:20:17 +00:00