public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Alistair Francis <alistair23@gmail.com>
To: "Maciej W. Rozycki" <macro@wdc.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
	GNU C Library <libc-alpha@sourceware.org>
Subject: Re: [PATCH v2 10/18] RISC-V: Hard float support for 32-bit
Date: Sat, 11 Jul 2020 08:49:52 -0700	[thread overview]
Message-ID: <CAKmqyKONQz21ns0MTdkMcgmw=biF+f+yNrV4_uROFus43k1UwQ@mail.gmail.com> (raw)
In-Reply-To: <alpine.LFD.2.21.2007110026190.24175@redsun52.ssa.fujisawa.hgst.com>

On Fri, Jul 10, 2020 at 5:49 PM Maciej W. Rozycki via Libc-alpha
<libc-alpha@sourceware.org> wrote:
>
> On Wed, 3 Jun 2020, Alistair Francis via Libc-alpha wrote:
>
> > This patch contains hardware floating-point support for the RV32IF and
> > RV32IFD
>
>  Full stop please.

Fixed.

>
> > diff --git a/sysdeps/riscv/rv32/rvd/s_lrint.c b/sysdeps/riscv/rv32/rvd/s_lrint.c
> > new file mode 100644
> > index 0000000000..df406aacb6
> > --- /dev/null
> > +++ b/sysdeps/riscv/rv32/rvd/s_lrint.c
> > @@ -0,0 +1,31 @@
> > +/* lrint().  RISC-V version.
>
>  I think this has to mention this is the 32-bit version somehow, like
> "32-bit RISC-V" or suchlike ("RV32" might be too cryptic/slang).  Feel
> free to find a better wording (I'm not particularly happy to start a
> sentence with a number).

Fixed.

>
> > +   Copyright (C) 2017-2020 Free Software Foundation, Inc.
>
>  Again, 2020 only, and likewise throughout.  Also I missed one case in
> 01/18 and may have elsewhere, please double-check the remaining patches.

Fixed in the whole series.

>
>  Otherwise OK as far as code already proposed for this change is
> concerned.

Thanks

>
>  What about the other math functions though?  We have a lot of optimised
> versions in `sysdeps/riscv/rv64/rv{f,d}/', which seem suitable for RV32 as
> it stands, such as `s_llrintf.c' or `s_nearbyint.c'.  Instead we build
> generic `sysdeps/ieee754/{flt-32,dbl-64}/' variants.

I haven't looked into the others, but I think you are right and this
can be improved.

>
>  Shouldn't we also move the XLEN-agnostic optimised functions to
> `sysdeps/riscv/rv{f,d}/' with this change?  I think we only need to keep
> those that use the `long int' type at the interface in the XLEN-specific
> directory.

They are all xlen dependent though. All of the 64-bit ones use
fcvt.l.d (or something similar) which doesn't exist on RV32.

Although the functions end up being the same, the actual assembly
instruction called is different. We can look at consolidating them
into a single file and do a xlen/__WORDSIZE macro check.

At this stage in glibc development I don't really want to change the
floating point helpers. Can we leave this as is and then for the next
release I can consolidate all of these into single files that do
xlen/__WORDSIZE #ifdefs? That way we will just have a single file (for
each operation) for RISC-V that will call a different assembly
instruction based on xlen or __WORDSIZE.

Alistair

>
>   Maciej

  reply	other threads:[~2020-07-11 15:59 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-03 16:25 [PATCH v2 00/18] glibc port for 32-bit RISC-V (RV32) Alistair Francis
2020-06-03 16:25 ` [PATCH v2 01/18] RISC-V: Use 64-bit time_t and off_t for RV32 and RV64 Alistair Francis
2020-07-07 22:06   ` Maciej W. Rozycki
2020-07-10 15:27     ` Alistair Francis
2020-06-03 16:25 ` [PATCH v2 02/18] RISC-V: Define __NR_* as __NR_*_time64/64 for 32-bit Alistair Francis
2020-07-08  0:09   ` Maciej W. Rozycki
2020-07-08 17:08     ` Adhemerval Zanella
2020-07-09 17:14       ` Alistair Francis
2020-07-16  0:23       ` Maciej W. Rozycki
2020-07-09 17:10     ` Alistair Francis
2020-06-03 16:25 ` [PATCH v2 03/18] RISC-V: Add support for 32-bit vDSO calls Alistair Francis
2020-07-08  1:01   ` Maciej W. Rozycki
2020-07-08 18:17     ` Alistair Francis
2020-06-03 16:25 ` [PATCH v2 04/18] RISC-V: Support dynamic loader for the 32-bit Alistair Francis
2020-07-08  1:35   ` Maciej W. Rozycki
2020-06-03 16:25 ` [PATCH v2 05/18] RISC-V: Add path of library directories " Alistair Francis
2020-07-08 18:42   ` Maciej W. Rozycki
2020-07-09 17:03     ` Alistair Francis
2020-06-03 16:25 ` [PATCH v2 06/18] RISC-V: Add arch-syscall.h for RV32 Alistair Francis
2020-07-08 19:33   ` Maciej W. Rozycki
2020-06-03 16:25 ` [PATCH v2 07/18] RISC-V: nptl: update default pthread-offsets.h Alistair Francis
2020-07-09  0:14   ` Maciej W. Rozycki
2020-07-09 11:47     ` Adhemerval Zanella
2020-07-15 19:23       ` Maciej W. Rozycki
2020-08-10 17:34     ` Alistair Francis
2020-06-03 16:25 ` [PATCH v2 08/18] riscv32: Add an architecture ipctypes.h Alistair Francis
2020-07-09  2:46   ` Maciej W. Rozycki
2020-07-09 11:36     ` Adhemerval Zanella
2020-06-03 16:25 ` [PATCH v2 09/18] RISC-V: The ABI implementation for 32-bit Alistair Francis
2020-07-09 23:33   ` Maciej W. Rozycki
2020-07-10 16:45     ` Alistair Francis
2020-07-11  1:24       ` Maciej W. Rozycki
2020-08-10 21:29         ` Alistair Francis
2020-08-27 19:43           ` Adhemerval Zanella
2020-09-25 23:03             ` Alistair Francis
2020-06-03 16:25 ` [PATCH v2 10/18] RISC-V: Hard float support " Alistair Francis
2020-07-11  0:49   ` Maciej W. Rozycki
2020-07-11 15:49     ` Alistair Francis [this message]
2020-07-11 22:13       ` Maciej W. Rozycki
2020-07-12 15:34         ` Alistair Francis
2020-07-12 22:10           ` Maciej W. Rozycki
2020-08-27 18:36             ` Alistair Francis
2020-06-03 16:25 ` [PATCH v2 11/18] RISC-V: Add ABI lists Alistair Francis
2020-07-12 20:54   ` Maciej W. Rozycki
2020-07-13 16:14     ` Alistair Francis
2020-06-03 16:25 ` [PATCH v2 12/18] RISC-V: Add the RV32 libm-test-ulps Alistair Francis
2020-06-03 17:34   ` Joseph Myers
2020-06-05  4:01     ` Alistair Francis
2020-06-03 16:26 ` [PATCH v2 13/18] RISC-V: Fix llrint and llround missing exceptions on RV32 Alistair Francis
2020-06-03 16:26 ` [PATCH v2 14/18] RISC-V: Build Infastructure for 32-bit Alistair Francis
2020-06-03 16:26 ` [PATCH v2 15/18] riscv32: Specify the arch_minimum_kernel as 5.4 Alistair Francis
2020-06-03 16:26 ` [PATCH v2 16/18] RISC-V: Add rv32 path to RTLDLIST in ldd Alistair Francis
2020-06-03 16:26 ` [PATCH v2 17/18] Documentation for the RISC-V 32-bit port Alistair Francis
2020-06-03 16:26 ` [PATCH v2 18/18] Add RISC-V 32-bit target to build-many-glibcs.py Alistair Francis
2020-06-15 22:37 ` [PATCH v2 00/18] glibc port for 32-bit RISC-V (RV32) Alistair Francis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAKmqyKONQz21ns0MTdkMcgmw=biF+f+yNrV4_uROFus43k1UwQ@mail.gmail.com' \
    --to=alistair23@gmail.com \
    --cc=alistair.francis@wdc.com \
    --cc=libc-alpha@sourceware.org \
    --cc=macro@wdc.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).