Commit Graph

59 Commits

Author SHA1 Message Date
matt
810b61bb1a MKCOMPAT fixes for when compat MACHINE_CPU != normal MACHINE_CPU 2014-08-10 23:39:08 +00:00
matt
547b3a3b01 Changes to existing files to enable building AARCH64 userland.
evbarm64-el
This is clang only.  While gcc4.8 supports aarch64, no netbsd support has
been written for aarch64 with gcc4.8.
2014-08-10 05:56:36 +00:00
mrg
ac641cb906 remove remaining makefile support for GCC < 45 that i found. 2014-06-14 20:49:36 +00:00
matt
7b24ff02b9 Add unordtf2.c 2014-01-30 19:11:54 +00:00
matt
cf45a84019 Make confiditon on FLOAT128 2014-01-30 19:11:41 +00:00
matt
cb4b3194bc unord for float128 long double 2014-01-30 19:06:54 +00:00
joerg
06ad76dac8 Only apply -fno-tree-vrp for GCC. 2013-12-19 22:20:01 +00:00
martin
1751681322 Fix a cast from the lint cleanup that made small exponents (i.e. values < 1)
sign extend wrong and overflow, causing an underflow in all 128 bit sqrt
calculations.
2013-11-22 17:04:24 +00:00
matt
14480f30a0 Only include <arm/aeabi.h> when __ARM_PCS_VFP is defined. 2013-08-01 23:21:19 +00:00
matt
f4797bbdbc Make sure to <arm/aeabi.h> if we are doing using EABI. 2013-08-01 22:18:50 +00:00
matt
7d2c6b2414 Match against LIBC_MACHINE_ARCH for MKCOMPAT 2013-04-30 01:42:03 +00:00
matt
c9faa1e14f Use MACHINE_ARCH, not MACHINE 2013-04-16 12:26:28 +00:00
matt
f6c75cc7da ARM EABI needs different floating point comparision functions. 2013-04-16 10:54:53 +00:00
matt
536ad83369 Add hooks to softfloat to support per-lwp exception state. 2013-01-10 08:16:10 +00:00
he
341f22eefb Fix make syntax problem by putting the condition on the same line as .elif. 2012-11-16 12:38:09 +00:00
msaitoh
71f1d3fc0f For arm, add -fno-tree-vrp to COPTS when compiling softfloat.c.
Without -fno-tree-vrp, -INF + -INF returns 0 by adddf3.
Fixes PR#46953.
2012-11-14 03:47:30 +00:00
matt
fba9f55f04 ARM EABI (AAPCS) uses different names for the softfloat routines that
the normal GCC ones.  So after we redefine softfloat's to be what (old) GCC
wants, we redefined the old GCC names to what ARM EABI want (but only if we
are using ARM EABI).  We do this for routines not compiled by softfloat so
can just have these redefinitions in one place.
2012-08-05 04:27:42 +00:00
matt
05c78a4552 Fix a bug introduced by lint cleanup. 2012-03-24 00:06:20 +00:00
christos
de7ac11be7 add casts 2012-03-21 14:17:54 +00:00
christos
39052f3b3d cast to appropriate types. 2012-03-21 02:32:26 +00:00
martin
2335ebce2c Remove initialized but unused variable 2012-03-20 21:34:51 +00:00
matt
23282762ff Fix so that float128_to_uint64_round_to_zero is defined for sparc64.
(isn't tha a namespace violation?)
2011-07-10 04:52:23 +00:00
matt
e17674a5a4 Add SOFTFLOAT_NEED_FIXUNS condition around the float128 fixuns 2011-07-09 02:28:31 +00:00
matt
c2405fa58b Add __floatunsidf __floatunsisf __floatunsitf routines.
XXX i think they are correct but not sure.
2011-07-04 08:02:34 +00:00
mrg
fb6b921228 sh3 also needs -Wno-enum-compare here. 2011-07-04 02:53:15 +00:00
mrg
462a335ff0 mips wants some -Wno-enum-compare here, too. 2011-07-03 15:26:58 +00:00
mrg
680385b441 XXX: apply -Wno-error/friends to a few files 2011-07-01 01:25:52 +00:00
martin
598174eb2b Apply local namespace protection equivalent to the weak alias done
in softfloat-for-gcc.h, which we can't include here, to move
"float_exception_mask" into implementation namespace.
2011-03-06 10:27:37 +00:00
martin
a5ad420211 Use sigqueueinfo() instead of raise() to generate exceptions. Provide
minimalistic siginfo data.
2011-03-04 11:48:58 +00:00
matt
50078c4d66 Add long double functions for eq,ne,gt,le,ge,lt,neg ops. 2011-01-17 10:08:35 +00:00
matt
2288207161 Merge from matt-nb5-mips64. 2009-12-14 01:07:41 +00:00
uebayasi
0b52043222 Fix typo in previous. 2009-12-06 11:16:26 +00:00
uebayasi
f0d2ed931c Assign quad / softfloat specific ${SRCS} to ${SRCS.quad} / ${SRCS.softfloat}
then append them to ${SRCS}.  Those will be used to generate quad / softfloat
symbol lists.
2009-12-06 05:34:42 +00:00
lukem
d52f6f4b6b fix -Wsign-compare issue (seen on arm), using similar technique
to ../bits64/softfloat-macros
2009-02-17 02:43:39 +00:00
tron
ea68052342 fix -Wsign-compare issue (on sparc64) 2009-02-16 10:23:35 +00:00
martin
ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
martin
4cdfe9d3ee When creating unsigned int results, do not distinguish positive versus
negative overflow.
2007-11-08 21:31:04 +00:00
martin
5265977a9e When converting long double values to integer types, explicitly use the
"round to zero" variants of the softfloat conversion functions.
Add a variant to convert long double to unsigned long - the "to long"
variant checked for overflows that do not apply to unsigned results.
This fixes the regress/lib/libc/convfp tests for sparc64.
2007-11-08 15:50:19 +00:00
christos
1665d5e960 fix spelling of accommodate; from Zapher. 2006-11-24 19:46:58 +00:00
mrg
77c7eed08d add128() wants bits64 * as it's 5th argument. 2006-05-11 16:38:44 +00:00
he
9ac3a85e48 Only compile the floatx80-using functions if the arch in question
defines the FLOATX80 macro.  Fixes build problem for arm ports.
2004-09-27 10:16:24 +00:00
jmmv
8a1eb34d66 Add support to build the mac68k port with soft-float enabled (i.e., setting
MKSOFTFLOAT=yes).  The main purpose of this feature is to let NetBSD work
in machines with the 68040LC chip (those that have the FPU bug).

All the work has been done by Bruce O'Neel <edoneel AT sdf.lonestar.org>,
with some very minor changes by me; the patches were being posted to the
port-mac68k mailing list.  It has been tested for a long time by several
users, including me.

I have just verified that regular releases, as well as soft-float ones,
continue to build.

There have been no objections to this patch since I asked for them in July
in the port-mac68k list.
2004-09-26 21:13:27 +00:00
salo
99410184e7 netbsd.org->NetBSD.org 2003-07-26 19:24:24 +00:00
rearnsha
033db35cb2 GCC-3 requires a libcall to support testing for unordered. 2003-05-06 08:58:19 +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
bjh21
9ec812439b In float*_round_to_int(), where we have switches over rounding modes, make
sure that all the modes are mentioned, if only with a "break;".  This
ensures GCC doesn't whinge at us on ports which use an enum for fp_rnd.
2002-05-07 10:02:42 +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
f7d7544c87 Rename a local variable to avoid a shadow decl warning. 2002-05-05 20:00:51 +00:00
agc
b42bb2abdc After the grand unification of softfloat-specialize, let sparc64 builds
work properly again.
2002-04-23 11:59:25 +00:00