This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v2 00/12] RISC-V glibc port for the 32 bit


On Tue, 17 Jul 2018, Zong Li wrote:

> issue like 64 bit glibc port. In addition, there are some math test cases
> need to be checked but it looks unlike glibc's problem.

>  sysdeps/riscv/nofpu/libm-test-ulps                 | 2198 --------------------

>  sysdeps/riscv/rv32/nofpu/libm-test-ulps            |  534 +++++

>  sysdeps/riscv/rv32/rvd/libm-test-ulps              | 1658 +++++++++++++++

>  sysdeps/riscv/rv64/nofpu/libm-test-ulps            | 2198 ++++++++++++++++++++

You should not need new libm-test-ulps files.  That you have them suggests 
to me some real problem with your libm port, until evidenced otherwise 
with a clear explanation of exactly how different results arise.  One file 
for hard float and one for soft float should fully suffice for all RISC-V.

The functions whose interface varies between 32-bit and 64-bit - those 
involving the "long" type as an argument or result - are also 
exactly-determined functions that should never have any ulps in their 
results.  There are a few dbl-64/wordsize-64 functions that are not 
exactly determined, but RV64 doesn't use dbl-64/wordsize-64 so that can't 
explain any differences.  Apart from that, everything not exactly 
determined should behave the same for RV32 and RV64 (including such things 
as the possibilities for fusing multiply and add).  Finally, both RV32 and 
RV64 use the same long double type, so that doesn't result in a difference 
as it does for MIPS32 versus MIPS64.

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]