| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
FP_ILOGBNAN which isn't the case for the amd64 and i386 assembly versions.
Drop these in favour of C implementations. Als reimplement ilogbl(3)
by providing separate ld80 and ld128 implementations that replace the
existing implementation which may hit an infinite loop when built for
quad-precision long double.
ok patrick@, gkoehler@
|
|
|
|
|
|
| |
Brings arm64 in line with all the other architectures.
ok millert@
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in libm since the rounding mode is in fpcr, not fpsr. Since both FPU
registers are 32-bit we can store them in the 64-bit fenv_t to make
handling the bits easier.
While there add FE_DENORMAL, which also exists on x86. Also make sure
that whenever we are being passed an exception mask, we only allow the
bits that are supported by hardware.
Found by regression tests
Debugged with Moritz Buhl
ok kettenis@
|
|
|
|
| |
ok deraadt
|
|
|
|
| |
ok deraadt
|
|
|
|
|
|
|
| |
floating-point exceptions, simplify the functions that control the exception
masks just like we did on armv7.
ok tom@
|
|
|
|
|
|
| |
'weak' in the static libm.a
ok deraadt@
|
|
|
|
|
|
|
|
|
|
| |
both the hardfloat (FPU registers) and softfloat (software) state. This
makes these functions work correctly when mixing hardfloat and softfloat
code. Disable trapping for softfloat since most (if not all) ARMv7 and
ARMv8 hardware that is on the market doesn't support trapping of
floating-point exceptions.
ok patrick@
|
| |
|
|
|
|
| |
don't bother with .text before ENTRY()
|
|
|
|
| |
to look and feel like our code.
|
|
|
|
|
|
|
| |
Required if the compiler doesn't replace them with builtins (e.g. clang
on amd64).
ok kettenis@ guenther@
i386 sync requested by guenther@
|
|
|
|
|
|
| |
All dependencies on libc are now via reserved/standardized names.
ok kettenis@ millert@ deraadt@
|
| |
|
| |
|
| |
|
|
|
|
| |
ok deraadt@
|
|
|
|
|
| |
The generic sqrtl(3) is not nearly accurate enough for quad-precision
floating point.
|
| |
|
|
|
|
|
|
|
| |
this hardware alive is becoming increasingly difficult, and I should heed the
message sent by the three disks which have died on me over the last few days.
Noone sane will mourn these ports anyway. So long, and thanks for the fish.
|
| |
|
|
|
|
| |
larger type and passing them both the the double routine.
|
|
|
|
|
|
|
|
|
| |
and float functions by cvtfd/cvtdf (like in netbsd)
scalbnf will have to wait, as it's more complicated...
brings vax in line with the rest.
okay miod@/martynas@
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
where appropriate. Among other things makes the symbols consistent
across all architectures (notably where ldbl mantissa is 53 bits).
While at it, kill unused LINTLIBRARY/PROTOLIB1 cruft which was there
to trick lint into recording the right prototypes for aliased
functions. Most of the work done at the awesome n2k13 hackathon.
Agreed by kettenis@, guenther@, matthew@.
|
|
|
|
|
| |
assembler instructions, and cope with the few changes in return values
location.
|
|
|
|
| |
and a few empty files for lint to chew on.
|
| |
|
| |
|
|
|
|
| |
ok guenther millert kettenis
|
|
|
|
| |
Reported by Brad, thanks!
|
| |
|
| |
|
|
|
|
|
| |
on this historical behavior; so we're stuck in this stupid situation.
No cookie for me.
|
|
|
|
| |
them in libc for a very long time. OK guenther@.
|
|
|
|
|
|
| |
internal _ItL_* extended-precision constants are of course going
to be declared inconsistently since we define them based on structures;
however prototype as long doubles.
|
|
|
|
|
|
|
| |
database on platforms without extended-precision floating-point
support.
Seems like a reasonable approach to millert@.
|
|
|
|
| |
Go for it miod@.
|
|
|
|
| |
Looked over by miod@.
|
|
|
|
|
|
|
|
|
|
| |
Since the second division operand is a power of two, non-zero,
non-nan, this got optimized (-O2) into multiplication. As a result
the underflow exception wasn't being raised properly.
Make the second operand a volatile to prevent incorrect optimizations.
OK miod@.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
not reviewed yet, but it's better to track changes in cvs
|
| |
|
|
|
|
|
|
|
|
|
| |
Delivering FPE with non-masked exceptions doesn't work on Alpha; I
suspect there's a bug in the kernel trap handler.
FE_INEXACT is intentionally left out of FE_ALL_EXCEPT; since the
inexact exception is not being maintained. Otherwise it will lead
to the bogus results.
|