RISC-V: Use the new libm code if possible

Set  __OBSOLETE_MATH_DEFAULT to 0 if 'd' extension is supported (i.e.
__riscv_flen == 64).

Base on the comment for  __OBSOLETE_MATH_DEFAULT:

> ... it assumes that the toolchain has ISO C99 support (hexfloat
> literals, standard fenv semantics), the target has IEEE-754 conforming
> binary32 float and binary64 double (not mixed endian) representation,
> standard SNaN representation, double and single precision arithmetics
> has similar latency and it has no legacy SVID matherr support, only
> POSIX errno and fenv exception based error handling.

Signed-off-by: Hau Hsu <hau.hsu@sifive.com>
This commit is contained in:
Hau Hsu 2023-02-22 09:59:07 +08:00 committed by Corinna Vinschen
parent 2229f42400
commit 97d483c2f8
1 changed files with 5 additions and 0 deletions

View File

@ -221,6 +221,11 @@
#ifdef __riscv_flen
# define _SUPPORTS_ERREXCEPT
#endif
#if __riscv_flen == 64
# define __OBSOLETE_MATH_DEFAULT 0
#else
# define __OBSOLETE_MATH_DEFAULT 1
#endif
#endif
#ifdef __i960__