Commit Graph

531 Commits

Author SHA1 Message Date
takemura
2f85eb6142 Import NetBSD/hpcmips source files from hpcmips repository.
file list:
        sys/arch/hpcmips/
        distrib/hpcmips/
        etc/etc.hpcmips/
        lib/libc/arch/mips/fplib/
        lib/libc/arch/mips/fplib/Makefile.inc
        lib/libc/arch/mips/fplib/environment.h
        lib/libc/arch/mips/fplib/fplib_glue.c
        lib/libc/arch/mips/fplib/fplib_libc.c
        lib/libc/arch/mips/fplib/hpcmips-gcc.h
        lib/libc/arch/mips/fplib/softfloat-macros.h
        lib/libc/arch/mips/fplib/softfloat-specialize.h
        lib/libc/arch/mips/fplib/softfloat.c
        lib/libc/arch/mips/fplib/softfloat.h
        lib/libc/arch/mips/gen/ieee.h
        lib/libc/arch/mips/gen/sf_fabs.c
        lib/libc/arch/mips/gen/sf_flt_rounds.c
        lib/libc/arch/mips/gen/sf_fpgetmask.c
        lib/libc/arch/mips/gen/sf_fpgetround.c
        lib/libc/arch/mips/gen/sf_fpgetsticky.c
        lib/libc/arch/mips/gen/sf_fpsetmask.c
        lib/libc/arch/mips/gen/sf_fpsetround.c
        lib/libc/arch/mips/gen/sf_fpsetsticky.c
        lib/libc/arch/mips/gen/sf_isinf.c
        lib/libc/arch/mips/gen/sf_ldexp.c
        lib/libc/arch/mips/gen/sf_modf.c
1999-09-16 12:13:17 +00:00
is
bc086d24af In the division core: if the highest bit of the dividend is set,
we have to be careful when shifting the divisor. Test this.

This fixes PR 7760 by Richard Earnshaw.
1999-09-16 09:15:05 +00:00
drochner
ec2a7d4249 SYS.h was nuked from libkern 1999-09-10 15:41:51 +00:00
chs
f70d067294 use RODATA() instead of ENTRY() for __ffstab so that it works when profiling. 1999-09-06 19:00:24 +00:00
mycroft
b3b07a4c6e Another microoptimization. Take advantage of the addition already having set
the flags for the <=0 comparison.
1999-08-30 18:28:24 +00:00
mycroft
0560606383 Reuse the trick of loading 0.0 (rather than 1.0) and then modifying the
exponent.  It's a bit faster on some machines.
1999-08-30 18:01:40 +00:00
mycroft
5579a03f91 Nuke unused variable. 1999-08-30 16:48:07 +00:00
augustss
75d2dfe657 Remove more unused mulexp variables. 1999-08-30 15:11:32 +00:00
augustss
6a4d7f0bc4 Make it compile again by removing an unused variable. 1999-08-30 12:14:09 +00:00
mycroft
9cba4741ee Use C versions of isinf() and isnan(). The assembler code is basically
identical, but was endian-dependent.
1999-08-29 23:01:40 +00:00
mycroft
6b221be206 ldexp(denormal, exp>1023) would generate the wrong result in all non-overflow
cases.  Totally rework this code to fix this bug *and* make it faster.
1999-08-29 22:50:25 +00:00
mycroft
5f34ffabca ldexp(denormal, exp>1023) would generate the wrong result in all non-overflow
cases.  Totally rework this code to fix this bug *and* make it faster.
1999-08-29 22:45:32 +00:00
mycroft
c3140da584 Oops; committed wrong version here. 1999-08-29 19:42:54 +00:00
mycroft
f784c98496 Reimplement the FSCALE version as C-with-assembler. (Make the compiler deal
with ABI crap.)
1999-08-29 19:41:53 +00:00
mycroft
0ae41d0984 Use the C version of ldexp(). The assembler version was broken in several
ways (ldexp(0.0, 5000) returned +Inf, didn't do normalization/denormalization,
etc.).
1999-08-29 19:08:44 +00:00
mycroft
02a48bde49 Don't ever return -0.0. 1999-08-29 19:04:02 +00:00
mycroft
0d708431b7 Minor style change. 1999-08-29 18:40:50 +00:00
mycroft
ea4b733810 Trivial KNF. 1999-08-29 18:39:35 +00:00
mycroft
6850b97bb3 Sync with SPARC version. 1999-08-29 18:35:51 +00:00
mycroft
ed01c49a3f Use the C version. The assembler version was just transliterated (and buggy)
anyway.
1999-08-29 18:32:36 +00:00
mycroft
099dd01a1d Make the C version of frexp() consitent across platforms, and handle the
Inf/NaN case.
1999-08-29 18:30:14 +00:00
mycroft
291053e1e2 Use ieee.h. 1999-08-29 18:23:26 +00:00
mycroft
c8190acc41 Separate isnan() into a separate module, and make isinf()/isnan() use ieee.h. 1999-08-29 18:11:28 +00:00
mycroft
17030e8106 Separate isnan() into a separate module, and make isinf()/isnan() use ieee.h. 1999-08-29 18:08:27 +00:00
thorpej
30dca7f7db Add __msgctl13(), __semctl13(), and __shmctl13() (symbols are __RENAME()'d
in their respective header files).  Add PSEUDO stubs for the old versions
of these system calls.

Note that __semctl13() doesn't require the extra stub that the old
semctl()/__semctl() did, as the SUSv2 version takes variable arguments,
and thus does not require the extra indirection.
1999-08-25 05:09:27 +00:00
kleink
74511f97b1 Use _ALIGN_TEXT from <machine/asm.h>. 1999-08-23 08:45:09 +00:00
danw
687108b42f add the ieeefp functions 1999-07-07 01:55:07 +00:00
danw
e8559a61eb mark an asm statement volatile so it doesn't get optimized out 1999-07-07 01:53:38 +00:00
pk
0ffda58ae9 A new implementation of _setjmp/_longjmp that uses the T_FLUSHWIN trap.
This means the stack frame and program counter can restored directly
from the jmp_buf, eliminating the need to backtrack through frames
which does not work in all cases.
1999-06-27 11:10:18 +00:00
tron
d7678457d6 Fix definition of infinity. Patch supplied by Richard Earnshaw in
PR lib/7829.
1999-06-21 22:31:32 +00:00
matthias
71dd06e171 Go for correctness instead of speed as suggested by Ian Dall. This fixes
pr#port-pc532/7710.
1999-06-06 20:20:46 +00:00
matthias
bb36354c10 Fix spurious page faults by double word aligning the source and not the
destination. Thank's to Ian Dall for this fix.
1999-06-06 19:49:11 +00:00
kleink
15fb0e4315 Shameless hack to reference end if using a.out and _end if using ELF. 1999-06-03 20:14:58 +00:00
kleink
5b4ea02521 _C_FUNC() -> _C_LABEL() 1999-05-06 14:01:20 +00:00
kleink
c66e4d7122 * Prefix softfloat symbols which require external linkage with _arm32_ to
move them out of user namespace; declare those not requiring external linkage
static.
* In due course, disable those functions that require neither external nor
internal linkage.
Addresses PR port-arm32/7517.
1999-05-06 13:56:28 +00:00
tsubai
cb9a32fdf9 * Add getcachelinesize() prototype.
* Make this compile with -D_STANDALONE.
1999-05-05 12:35:54 +00:00
kleink
5b2a4f0824 Call cerror through the PLT. 1999-05-02 23:19:49 +00:00
kleink
18d5ba6151 We can shave off a register-register move when using the SVR4 ABI: __errno()
will return its pointer result in a0.
1999-05-02 20:52:02 +00:00
kleink
4e0adc06d5 When using the SVR4 ABI, return pointer results in a0, too. 1999-05-02 20:34:04 +00:00
kleink
1bd013aa27 Oops, typo. 1999-05-02 20:18:17 +00:00
kleink
d658cafb30 When using the SVR4 ABI, just return floating point values in fp0. 1999-05-02 20:17:20 +00:00
kleink
bcd9993e4e When using the SVR4 ABI, return the pointer in a0, too. 1999-05-02 20:09:29 +00:00
ross
c5a82dd848 * New MI man page for fp{set,get}{round,sticky,mask}(3).
* Implement fpgetsticky() for alpha.
* Direct fpsetsticky() and fp{get,set}mask() into alpha kernel via sysarch(2).
* Define new sysarch(2) stub for above and install and distribute sysarch.h
for alpha.  (The fpcr IS user mode r/w, but for reasons beyond the scope
of a commit message kernel calls are needed.) And much kernel Magick is
required before these do anything, but this way programs compiled under
1.4 will DTRT on future snapshots and releases.
1999-04-30 00:58:30 +00:00
kleink
b74f892f6d Declare cerror using _ENTRY() to get, among other things, a .type statement. 1999-04-29 15:37:21 +00:00
ws
5423093850 Modify syncicache on PowerPC from an inline to a real function.
Support different cache line sizes with the same object code in userland.
While here, move the function to implementation name space.
1999-04-17 21:16:45 +00:00
ragge
765d11306b Set infinity to the highest D-float possible.
XXX - infinity does not exist on vax...
1999-04-17 14:53:32 +00:00
eeh
713a1d89ff Add _dtoul() which gcc generates a lot. Maybe it should go in another file. 1999-04-04 21:01:39 +00:00
kleink
dccf2a15e4 While in transition, conditionally rename _ASM_LABEL(cerror) and
_ASM_LABEL(curbrk) to _C_LABEL(__cerror) and _C_LABEL(__curbrk), respectively,
depending on the object format chosen, to avoid user namespace clashes.
1999-03-31 18:14:27 +00:00
kleink
5af7e7a902 Change references to end' to _end' as not to invade (or being invaded by)
the user's name space.
1999-03-31 11:53:07 +00:00
jonathan
cd6244f1cc Assembly-coded, word-at-a-time unrolled memset(). 1999-03-15 06:37:43 +00:00