Commit Graph

36 Commits

Author SHA1 Message Date
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
augustss 75d2dfe657 Remove more unused mulexp variables. 1999-08-30 15:11:32 +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 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 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 17030e8106 Separate isnan() into a separate module, and make isinf()/isnan() use ieee.h. 1999-08-29 18:08:27 +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
mycroft 2b504929fa Just some minor cleanup. 1999-03-10 08:15:43 +00:00
mycroft da8a0f49c7 Whitespace fix. 1999-01-22 11:01:04 +00:00
mycroft 99355f3153 Use insbl to reduce by 1 instruction. 1999-01-22 10:59:18 +00:00
bouyer dc306354b0 Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
1999-01-15 13:31:15 +00:00
christos 7c990e0c7b delint 1998-11-14 19:31:01 +00:00
kleink d541ca6d80 Need internal names for isinf() and isnan(). 1998-10-13 14:43:36 +00:00
thorpej 2af42e072f Signal changes for Alpha. 1998-09-29 03:01:37 +00:00
mycroft 982e920022 const poisoning. 1998-07-26 14:13:00 +00:00
thorpej 6efbfe5247 Make setjmp() work again after the changes to sigaltstack(). 1997-12-05 02:06:27 +00:00
cgd 0f191bd9d2 remove these, they are no longer necessary or appropriate 1997-11-05 22:33:28 +00:00
thorpej ef909f429a Pull in __flt_rounds() prototype. 1997-07-18 00:30:30 +00:00
christos 42a71b4d7b Add missing stdlib.h include 1997-07-13 18:35:25 +00:00
cgd 4a6fd887f0 File which provides lint stubs for the functions defined by
machine-dependent assembly code, whose source files live in its directory.
(Not necessarily complete yet.)
1996-12-22 11:44:55 +00:00
cgd 55c6bc901c catch up with <machine/asm.h> changes, SYS.h changes, and the removal
of DEFS.h
1996-10-17 03:08:03 +00:00
cgd 86a813e847 remove unused local label 1996-09-09 00:51:27 +00:00
cgd 7a8e7b22a1 deal properly (i hope!) with registers' upper 32 bits, when doing
32-bit division and remainder.  Sometimes, when optimizing, they could
have been different than previously expected (and could have caused
hokey results).
1995-09-30 03:09:07 +00:00
cgd 2940a41ce2 kill some now-bogus XXX's 1995-09-30 02:14:17 +00:00
cgd adca5aa4fc save & restore the argument registers, too. from Trevor Blackwell 1995-08-14 02:20:07 +00:00
cgd d2e405e546 functions to set FP exception masks & sticky exceptions. they abort, for now. 1995-04-29 05:10:55 +00:00
cgd 3e14f3894b get & set FP rounding direction. these actually seem to work. 1995-04-29 05:09:53 +00:00
cgd 234eecadfb add entries for the float rounding and exception functions 1995-04-29 05:09:14 +00:00
cgd 572e3f3188 don't forget inifinity.c 1995-02-25 16:24:22 +00:00
cgd ea1ca14ecb need these for new gen/Makefile 1995-02-25 16:20:12 +00:00
cgd 3f45f31f15 strange corner cases:
(1) zero top 32 bits for 32-bit unsigned ops; 32-bit value can
		be accidentally(?) sign-extended by the compiler/assembler.
	(2) fix return value for mod's that cause traps
1995-02-25 03:09:32 +00:00
cgd e4f5181d15 libc support for the alpha. more functions should be written in assembler,
but that's optimization.  8-)
1995-02-10 17:49:48 +00:00