This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [RFC v1 12/16] RISC-V: Regenerate ULPs of RISC-V
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Alistair Francis <alistair dot francis at wdc dot com>
- Cc: <libc-alpha at sourceware dot org>, <alistair23 at gmail dot com>
- Date: Wed, 24 Jul 2019 20:06:01 +0000
- Subject: Re: [RFC v1 12/16] RISC-V: Regenerate ULPs of RISC-V
- References: <cover.1561177967.git.alistair.francis@wdc.com> <6af6b96dabc6f8434575e4518cf8a8655d6e7125.1561177967.git.alistair.francis@wdc.com>
On Fri, 21 Jun 2019, Alistair Francis wrote:
> From: Zong Li <zongbox@gmail.com>
>
> Use the regen-ulp to generate the ulp files of rvd and nofpu. The RV32
> and RV64 use the same ulps.
I'm afraid you need more explanation of some of the changes.
> diff --git a/sysdeps/riscv/nofpu/libm-test-ulps b/sysdeps/riscv/nofpu/libm-test-ulps
> index 700772a5bf..102144a428 100644
> --- a/sysdeps/riscv/nofpu/libm-test-ulps
> +++ b/sysdeps/riscv/nofpu/libm-test-ulps
> @@ -532,16 +532,16 @@ double: 1
> float: 1
> idouble: 1
> ifloat: 1
> -ildouble: 1
> -ldouble: 1
> +ildouble: 8
> +ldouble: 8
>
> Function: Imaginary part of "catan":
> double: 1
> float: 1
> idouble: 1
> ifloat: 1
> -ildouble: 1
> -ldouble: 1
> +ildouble: 4
> +ldouble: 4
Other architectures using binary128 long double don't have such large ULPs
here. You need to explain why you're getting larger ULPs for RV32.
Likewise for the other ULPs increases. If necessary, trace execution of
the functions both on RV32 and on some other architecture (e.g. AArch64,
or x86_64 for the _Float128 functions) to determine exactly where it
diverges.
Maybe there is some relevant soft-fp bug, beyond the one that was fixed by
commit ff48ea6787526d7e669af93ce2681b911d39675c
Author: Zong Li <zong@andestech.com>
Date: Thu Nov 1 17:34:39 2018 +0000
soft-fp: Use temporary variable in FP_FRAC_SUB_3/FP_FRAC_SUB_4
(of course you need to make sure the GCC you use has that fix in libgcc as
well)?
--
Joseph S. Myers
joseph@codesourcery.com