Re: [PATCH] RISC-V: Support Zfinx/Zdinx extension.
Corinna Vinschen <[email protected]>
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Message-ID | <[email protected]> |
On Jul 26 18:03, Kito Cheng via Newlib wrote: > Zfinx/Zdinx are new extensions ratified in 2022, it similar to F/D extensions, > support hard float operation for single/double precision, but the difference > between Zfinx/Zdinx and F/D is Zfinx/Zdinx is operating under general purpose > registers rather than dedicated floating-point registers. > > This patch improve the hard float support detection for RISC-V port, so > that Zfinx/Zdinx can have better/right performance. > > Co-authored-by: Jesse Huang <[email protected]> > --- > newlib/libc/include/machine/ieeefp.h | 4 ++-- > newlib/libc/machine/riscv/ieeefp.c | 10 +++++----- > newlib/libc/machine/riscv/sys/fenv.h | 2 +- > newlib/libm/common/math_config.h | 6 ++++-- > newlib/libm/machine/riscv/e_sqrt.c | 2 +- > newlib/libm/machine/riscv/ef_sqrt.c | 2 +- > newlib/libm/machine/riscv/feclearexcept.c | 3 ++- > newlib/libm/machine/riscv/fegetenv.c | 3 ++- > newlib/libm/machine/riscv/fegetexceptflag.c | 3 ++- > newlib/libm/machine/riscv/fegetround.c | 3 ++- > newlib/libm/machine/riscv/feholdexcept.c | 3 ++- > newlib/libm/machine/riscv/feraiseexcept.c | 3 ++- > newlib/libm/machine/riscv/fesetenv.c | 3 ++- > newlib/libm/machine/riscv/fesetexceptflag.c | 3 ++- > newlib/libm/machine/riscv/fesetround.c | 3 ++- > newlib/libm/machine/riscv/fetestexcept.c | 3 ++- > newlib/libm/machine/riscv/feupdateenv.c | 3 ++- > newlib/libm/machine/riscv/riscv_math.h | 12 +++++++++--- > newlib/libm/machine/riscv/s_copysign.c | 3 ++- > newlib/libm/machine/riscv/s_fabs.c | 3 ++- > newlib/libm/machine/riscv/s_finite.c | 3 ++- > newlib/libm/machine/riscv/s_fmax.c | 3 ++- > newlib/libm/machine/riscv/s_fmin.c | 3 ++- > newlib/libm/machine/riscv/s_fpclassify.c | 5 ++--- > newlib/libm/machine/riscv/s_isinf.c | 4 ++-- > newlib/libm/machine/riscv/s_isnan.c | 4 ++-- > newlib/libm/machine/riscv/s_llrint.c | 3 ++- > newlib/libm/machine/riscv/s_llround.c | 3 ++- > newlib/libm/machine/riscv/s_lrint.c | 3 ++- > newlib/libm/machine/riscv/s_lround.c | 3 ++- > newlib/libm/machine/riscv/sf_copysign.c | 3 ++- > newlib/libm/machine/riscv/sf_fabs.c | 3 ++- > newlib/libm/machine/riscv/sf_finite.c | 3 ++- > newlib/libm/machine/riscv/sf_fmax.c | 3 ++- > newlib/libm/machine/riscv/sf_fmin.c | 3 ++- > newlib/libm/machine/riscv/sf_fpclassify.c | 3 ++- > newlib/libm/machine/riscv/sf_isinf.c | 4 ++-- > newlib/libm/machine/riscv/sf_isnan.c | 4 ++-- > newlib/libm/machine/riscv/sf_llrint.c | 3 ++- > newlib/libm/machine/riscv/sf_llround.c | 3 ++- > newlib/libm/machine/riscv/sf_lrint.c | 3 ++- > newlib/libm/machine/riscv/sf_lround.c | 3 ++- > 42 files changed, 93 insertions(+), 56 deletions(-) Pushed. Thanks, Corinna