Commit Graph

845 Commits

Author SHA1 Message Date
matt
471cb493ae Add modff 2002-06-23 21:48:52 +00:00
fvdl
4f2f06c917 Attempt to juggle the 2 seperarate status/mask bit sets for plain FP
and XMM to provide a consistent interface.
2002-06-12 19:17:22 +00:00
fvdl
165400b7ba mov -> lea to access _map table. 2002-06-06 23:04:35 +00:00
fvdl
e6f161c821 Fix the EINVAL return path. 2002-06-06 20:51:17 +00:00
fredette
02ac1ae2f0 Added hppa support (some of it incomplete) to lib/csu, lib/libc,
and lib/libkvm.
2002-06-06 20:31:19 +00:00
fvdl
10940acfe5 Add clone(2) implementation. 2002-06-03 18:31:12 +00:00
fvdl
e010b5ebde Use the syscall insn for system calls. Fix up some assembly to
remove either previously made errors, or to account for the
fact that syscall clobbers %ecx.
2002-06-03 18:30:32 +00:00
thorpej
d9f211b107 Make this work with an ISO C preprocessor. 2002-05-30 05:08:51 +00:00
eeh
9969483183 Fix conflict in definitions. 2002-05-29 15:58:03 +00:00
wiz
92d8b1e9fa Revert previous: .S files are currently compiled with -traditional-cpp,
so __STDC__ is _not_ always defined.
2002-05-26 12:24:55 +00:00
wiz
d56bb7c2ec __STDC__ is always defined on NetBSD. 2002-05-26 11:48:00 +00:00
bjh21
6bd902a1db Adapt for recent lib/libc/softfloat changes. 2002-05-22 10:20:20 +00:00
bjh21
936b7f4cf8 Import the 32-bit version of SoftFloat 2a and separate it and the 64-bit
version into different directories.  Which version a given port uses is
controlled by the SOFTFLOAT_BITS make variable.  This is set to 64 (which
uses the same code we had before) by default.  32-bit platforms that don't
need extended precision support might get better performance by using 32.

Set the ARM port to use the 32-bit version of SoftFloat, since this is more
than a factor of two faster than the 64-bit version.  This should get the
floating-point performance back to what it was in 1.5.
2002-05-21 23:51:04 +00:00
bjh21
010758bf16 Add SIGFPE support to SoftFloat, so fpsetmask/fpgetmask now work. A new
variable, float_exception_mask (#defined to _softfloat_float_exception_mask)
contains the current exception mask.
Also make the argument to float_raise into an fp_except.
Also synchronise file header comments between files.
2002-05-12 13:12:45 +00:00
eeh
22abdf821b Use large (-fPIC) relocations. 2002-05-07 01:34:21 +00:00
eeh
b92211c580 Go back from using %g2 (an application register) to %g7 (a system register)
for syscall returns.
2002-05-07 01:32:46 +00:00
eeh
1d63620b87 Add support for large -fPIC relocations. 2002-05-07 01:31:33 +00:00
bjh21
251de84ccc Consistently declare the types of float_rounding_mode and float_exception_flags
as fp_rnd and fp_except respectively.
2002-05-06 19:05:00 +00:00
thorpej
046b47950e Add a .register directive to appease newer gas. 2002-05-05 17:51:46 +00:00
bjh21
25540eca7e All the versions of softfloat-specialize were practically identical, so replace
them with a single one.
2002-04-21 21:07:35 +00:00
eeh
bc3cedd6d8 The mask for 8-byte alignment is 0x7 not 0xf. 2002-04-02 22:07:55 +00:00
thorpej
2e52a189a8 Remove non-existent ldexp.c from SRCS. 2002-04-02 03:41:26 +00:00
eeh
eb4eaa1ba4 Remove test harnass bits. 2002-04-01 15:59:26 +00:00
matt
33ce495df4 Put R6 back in the save and adjust frame size for it. Don't save the
register in sigset area, put them after the sigset area.
2002-03-30 05:32:32 +00:00
matt
583d4ad39f Put R6 back in save mask (to make mask used by PLT routines). Adjust frame
size according.  In _longjmp, deal with sp/fp separately since they stored
in reserve order so movq won't work.
2002-03-30 04:58:36 +00:00
eeh
35e86bd3e5 Better, faster strlen(). 2002-03-30 03:28:53 +00:00
matt
42e21b0c6a Fix a few wrong register uses. (at least I know it works now. :) 2002-03-28 04:16:54 +00:00
matt
dd5b171018 Add sync before isync since the MPC74xx require it. 2002-03-28 00:38:46 +00:00
matt
5cc5894442 Don't build old 1.3 compat jmp stuff for ELF.
For ELF, don't rewind stack on longjmp/_longjmp.  (for pth).
2002-03-27 18:38:50 +00:00
jmc
a7839b0fdc Fix typo in previous commit 2002-03-27 03:43:39 +00:00
jmc
a1fe3592c6 Correct mistaken signature for _Qp_dtoq. It gets a double passed in, not
a pointer to double which causes obvious errors on evaluation
2002-03-27 03:41:54 +00:00
matt
12810ed37d Use size_t in prototype (so this will be LP64 clean for PPC64 someday).
Calculate len separately for icache & dcache in case each has different
cacheline widths.  Make the code for both loops the same except for the
dcbst/icbi.  Deal with sizes >=2GB properly (like that'll happen but ...)
2002-03-26 21:20:24 +00:00
ross
70d3133ec0 Fix minor syntax warnings. 2002-03-23 20:13:35 +00:00
ross
e1a248fa36 use canonical indirect jmp & call syntax to squelch new as(1) warning 2002-03-20 22:06:18 +00:00
bjh21
376c14488f Only abort() if the user specifies a rounding mode other than FP_RN. 2002-03-19 13:42:23 +00:00
bjh21
a03fedb6a5 ANSIfy. 2002-03-19 13:36:30 +00:00
dbj
f0658bdada make compile with _STANDALONE 2002-03-18 05:10:58 +00:00
eeh
a33f33ab31 Remove leftover debug code. Oops. 2002-03-13 00:57:53 +00:00
eeh
bc40300979 Use new CPU_CACHEINFO sysctl to get more detailed information about
cache layout.
2002-03-12 22:08:21 +00:00
bjh21
dad2756159 Use the values from <machine/ieeefp.h> to define the exception flags, and
rounding modes, rather than different ones (oops).
2002-03-10 23:31:35 +00:00
jmc
f40c307405 Move names for softfloat lib that _Qp functions call into _softfloat_
namespace
2002-03-04 21:26:39 +00:00
matt
75dee250ea Missed an sp in the great %sp cleanup. 2002-02-24 02:43:46 +00:00
matt
0ce5ca145f Change to use a register prefix. 2002-02-24 01:06:18 +00:00
kleink
3ca01a7f77 Do without stfiwx; per PEM32 Rev. 1 it's an optional part of the UISA,
and not implemented on the 601.
2002-02-22 18:21:22 +00:00
eeh
2fdccc01af Add bzero.S and strlen.S to the stuff that gets installed in libkern. 2002-02-20 22:45:04 +00:00
thorpej
268d4c679c Adjust for changes to __infinity decl. 2002-02-19 21:50:01 +00:00
bjh21
58e93e10b1 Replace infinity.c with one in the style of the new ieee754_infinity.c, but
with extra #ifdefs for FPA-format doubles.  This gets it compiling again.
2002-02-19 20:08:19 +00:00
simonb
2d8577fb83 Clean up some rampant code duplication wrt ieee number handling:
- Add alignment-safe double and float unions.
 - Use the above for the __infinity and __nan constants on all
   architectures that use the standard ieee754 representation of
   those constants.
 - Add a single copy of various ieee754 math functions (frexp, isinf,
   isnan, ldexp and modf) that had numerous duplicates among the
   arch-specific directories.
 - Use the above functions on all architectures where the generic C
   versions where used.  Architectures that had local assembly
   routines are untouched (for those functions only).
2002-02-19 13:08:12 +00:00
bjh21
294cb551a3 Switch libc syscall veneers over to using our shiny new official SWI range. 2002-02-10 14:10:59 +00:00
jmc
4b4c3144ba Enable the _Qp* routines to be built always and allow full softfloat to be
pulled in if MKSOFTFLOAT gets enabled.
2002-02-05 07:54:01 +00:00